mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Merge remote-tracking branch 'origin/trunk' into xry111/loongarch
This commit is contained in:
commit
33a9421975
49
Makefile
49
Makefile
@ -1,7 +1,4 @@
|
|||||||
# vim:ts=3
|
# vim:ts=3
|
||||||
#BASEDIR = ~/lfs-book
|
|
||||||
#SYSDDIR = ~/lfs-systemd
|
|
||||||
#DUMPDIR = ~/lfs-commands
|
|
||||||
RENDERTMP = $(HOME)/tmp
|
RENDERTMP = $(HOME)/tmp
|
||||||
CHUNK_QUIET = 1
|
CHUNK_QUIET = 1
|
||||||
ROOT_ID =
|
ROOT_ID =
|
||||||
@ -24,15 +21,15 @@ ifneq ($(REV), sysv)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(REV), sysv)
|
ifeq ($(REV), sysv)
|
||||||
BASEDIR ?= ~/public_html/lfs-book
|
BASEDIR ?= $(HOME)/public_html/lfs-book
|
||||||
PDF_OUTPUT ?= LFS-BOOK.pdf
|
PDF_OUTPUT ?= LFS-BOOK.pdf
|
||||||
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
|
||||||
DUMPDIR ?= ~/lfs-commands
|
DUMPDIR ?= $(HOME)/lfs-commands
|
||||||
else
|
else
|
||||||
BASEDIR ?= ~/public_html/lfs-systemd
|
BASEDIR ?= $(HOME)/public_html/lfs-systemd
|
||||||
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
|
||||||
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
|
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
|
||||||
DUMPDIR ?= ~/lfs-sysd-commands
|
DUMPDIR ?= $(HOME)/lfs-sysd-commands
|
||||||
endif
|
endif
|
||||||
|
|
||||||
book: validate profile-html
|
book: validate profile-html
|
||||||
@ -47,7 +44,8 @@ book: validate profile-html
|
|||||||
@echo "Copying CSS code and images..."
|
@echo "Copying CSS code and images..."
|
||||||
$(Q)mkdir -p $(BASEDIR)/stylesheets
|
$(Q)mkdir -p $(BASEDIR)/stylesheets
|
||||||
$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
|
$(Q)cp stylesheets/lfs-xsl/*.css $(BASEDIR)/stylesheets
|
||||||
$(Q)sed -i 's|../stylesheet|stylesheet|' $(BASEDIR)/index.html
|
$(Q)sed -e 's|../stylesheet|stylesheet|' \
|
||||||
|
-i $(BASEDIR)/index.html
|
||||||
|
|
||||||
$(Q)mkdir -p $(BASEDIR)/images
|
$(Q)mkdir -p $(BASEDIR)/images
|
||||||
$(Q)cp images/*.png $(BASEDIR)/images
|
$(Q)cp images/*.png $(BASEDIR)/images
|
||||||
@ -55,11 +53,10 @@ book: validate profile-html
|
|||||||
@echo "Running Tidy and obfuscate.sh..."
|
@echo "Running Tidy and obfuscate.sh..."
|
||||||
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
|
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
|
||||||
tidy -config tidy.conf $$filename; \
|
tidy -config tidy.conf $$filename; \
|
||||||
true; \
|
|
||||||
/bin/bash obfuscate.sh $$filename; \
|
/bin/bash obfuscate.sh $$filename; \
|
||||||
sed -e "s@text/html@application/xhtml+xml@g" \
|
sed -e "s|text/html|application/xhtml+xml|g" \
|
||||||
-i $$filename; \
|
-i $$filename; \
|
||||||
done;
|
done
|
||||||
|
|
||||||
$(Q)$(MAKE) --no-print-directory wget-list md5sums
|
$(Q)$(MAKE) --no-print-directory wget-list md5sums
|
||||||
|
|
||||||
@ -98,16 +95,16 @@ nochunks: validate profile-html
|
|||||||
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
|
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
|
||||||
stylesheets/lfs-nochunks.xsl \
|
stylesheets/lfs-nochunks.xsl \
|
||||||
$(RENDERTMP)/lfs-html.xml
|
$(RENDERTMP)/lfs-html.xml
|
||||||
# $(RENDERTMP)/lfs-html2.xml
|
|
||||||
|
|
||||||
@echo "Running Tidy..."
|
@echo "Running Tidy..."
|
||||||
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || true
|
$(Q)tidy -config tidy.conf $(BASEDIR)/$(NOCHUNKS_OUTPUT) || test $$? -le 1
|
||||||
|
|
||||||
@echo "Running obfuscate.sh..."
|
@echo "Running obfuscate.sh..."
|
||||||
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||||
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
$(Q)sed -e "s|text/html|application/xhtml+xml|g" \
|
||||||
$(Q)sed -i -e "s@../wget-list@wget-list@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
-e "s|../wget-list|wget-list|" \
|
||||||
$(Q)sed -i -e "s@../md5sums@md5sums@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
-e "s|../md5sums|md5sums|" \
|
||||||
|
-i $(BASEDIR)/$(NOCHUNKS_OUTPUT)
|
||||||
|
|
||||||
@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)"
|
@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)"
|
||||||
|
|
||||||
@ -126,16 +123,16 @@ validate: tmpdir version
|
|||||||
@echo "Adjusting for revision $(REV)..."
|
@echo "Adjusting for revision $(REV)..."
|
||||||
$(Q)xsltproc --nonet \
|
$(Q)xsltproc --nonet \
|
||||||
--xinclude \
|
--xinclude \
|
||||||
--output $(RENDERTMP)/lfs-html2.xml \
|
|
||||||
--stringparam profile.revision $(REV) \
|
--stringparam profile.revision $(REV) \
|
||||||
|
--output $(RENDERTMP)/lfs-html2.xml \
|
||||||
stylesheets/lfs-xsl/profile.xsl \
|
stylesheets/lfs-xsl/profile.xsl \
|
||||||
index.xml
|
index.xml
|
||||||
|
|
||||||
@echo "Validating the book..."
|
@echo "Validating the book..."
|
||||||
$(Q)xmllint --nonet \
|
$(Q)xmllint --nonet \
|
||||||
--noent \
|
--encode UTF-8 \
|
||||||
--postvalid \
|
--postvalid \
|
||||||
-o $(RENDERTMP)/lfs-full.xml \
|
--output $(RENDERTMP)/lfs-full.xml \
|
||||||
$(RENDERTMP)/lfs-html2.xml
|
$(RENDERTMP)/lfs-html2.xml
|
||||||
|
|
||||||
$(Q)rm -f appendices/*.script
|
$(Q)rm -f appendices/*.script
|
||||||
@ -157,18 +154,21 @@ wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
|
|||||||
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
$(BASEDIR)/wget-list: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
||||||
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
|
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
|
||||||
$(Q)mkdir -p $(BASEDIR)
|
$(Q)mkdir -p $(BASEDIR)
|
||||||
$(Q)xsltproc --xinclude --nonet \
|
$(Q)xsltproc --nonet \
|
||||||
|
--xinclude \
|
||||||
--output $(BASEDIR)/wget-list \
|
--output $(BASEDIR)/wget-list \
|
||||||
stylesheets/wget-list.xsl \
|
stylesheets/wget-list.xsl \
|
||||||
chapter03/chapter03.xml
|
chapter03/chapter03.xml
|
||||||
|
|
||||||
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
||||||
$(Q)xsltproc --nonet --xinclude \
|
$(Q)xsltproc --nonet \
|
||||||
|
--xinclude \
|
||||||
--stringparam profile.revision $(REV) \
|
--stringparam profile.revision $(REV) \
|
||||||
--output $(RENDERTMP)/wget-list.xml \
|
--output $(RENDERTMP)/wget-list.xml \
|
||||||
stylesheets/lfs-xsl/profile.xsl \
|
stylesheets/lfs-xsl/profile.xsl \
|
||||||
chapter03/chapter03.xml
|
chapter03/chapter03.xml
|
||||||
$(Q)xsltproc --xinclude --nonet \
|
|
||||||
|
$(Q)xsltproc --nonet \
|
||||||
--output $(BASEDIR)/wget-list-$(REV) \
|
--output $(BASEDIR)/wget-list-$(REV) \
|
||||||
stylesheets/wget-list.xsl \
|
stylesheets/wget-list.xsl \
|
||||||
$(RENDERTMP)/wget-list.xml
|
$(RENDERTMP)/wget-list.xml
|
||||||
@ -178,13 +178,14 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
|
|||||||
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
|
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
|
||||||
$(Q)mkdir -p $(BASEDIR)
|
$(Q)mkdir -p $(BASEDIR)
|
||||||
|
|
||||||
$(Q)xsltproc --nonet --xinclude \
|
$(Q)xsltproc --nonet \
|
||||||
|
--xinclude \
|
||||||
--stringparam profile.revision $(REV) \
|
--stringparam profile.revision $(REV) \
|
||||||
--output $(RENDERTMP)/md5sum.xml \
|
--output $(RENDERTMP)/md5sum.xml \
|
||||||
stylesheets/lfs-xsl/profile.xsl \
|
stylesheets/lfs-xsl/profile.xsl \
|
||||||
chapter03/chapter03.xml
|
chapter03/chapter03.xml
|
||||||
|
|
||||||
$(Q)xsltproc --xinclude --nonet \
|
$(Q)xsltproc --nonet \
|
||||||
--output $(BASEDIR)/md5sums \
|
--output $(BASEDIR)/md5sums \
|
||||||
stylesheets/md5sum.xsl \
|
stylesheets/md5sum.xsl \
|
||||||
$(RENDERTMP)/md5sum.xml
|
$(RENDERTMP)/md5sum.xml
|
||||||
|
@ -1047,7 +1047,7 @@
|
|||||||
<segmentedlist id="gettext-optdeps">
|
<segmentedlist id="gettext-optdeps">
|
||||||
<segtitle>&external;</segtitle>
|
<segtitle>&external;</segtitle>
|
||||||
<seglistitem>
|
<seglistitem>
|
||||||
<seg>None</seg>
|
<seg><ulink url='&blfs-book;general/libxml2.html'>libxml2</ulink></seg>
|
||||||
</seglistitem>
|
</seglistitem>
|
||||||
</segmentedlist>
|
</segmentedlist>
|
||||||
|
|
||||||
|
@ -40,6 +40,48 @@
|
|||||||
appropriate for the entry or if needed the entire day's listitem.
|
appropriate for the entry or if needed the entire day's listitem.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>2024-02-01</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to openssl-3.2.1. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5425'>#5425</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to zlib-1.3.1. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5419'>#5419</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to xz-5.4.6. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5423'>#5423</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to linux-6.7.2. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5422'>#5422</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to iana-etc-20240125. Addresses
|
||||||
|
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to binutils-2.42. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5424'>#5424</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update to acl-2.3.2. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5421'>#5421</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Update upstream fixes for readline-8.2. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>[bdubbs] - Apply upstream fix for bash-5.2.21. Fixes
|
||||||
|
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>2024-01-21</para>
|
<para>2024-01-21</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>None</para>
|
<para>None</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
<!--<listitem>
|
<listitem>
|
||||||
<para>Acl-&acl-version;</para>
|
<para>Acl-&acl-version;</para>
|
||||||
</listitem>-->
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Attr-&attr-version;</para>
|
<para>Attr-&attr-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -44,9 +44,9 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Bc-&bc-version;</para>
|
<para>Bc-&bc-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<!--<listitem>
|
<listitem>
|
||||||
<para>Binutils-&binutils-version;</para>
|
<para>Binutils-&binutils-version;</para>
|
||||||
</listitem>-->
|
</listitem>
|
||||||
<!--<listitem>
|
<!--<listitem>
|
||||||
<para>Bison-&bison-version;</para>
|
<para>Bison-&bison-version;</para>
|
||||||
</listitem>-->
|
</listitem>-->
|
||||||
@ -290,6 +290,10 @@
|
|||||||
<title>Added:</title>
|
<title>Added:</title>
|
||||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>&bash-upstream-fixes-patch;</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>setuptools-&setuptools-version;</para>
|
<para>setuptools-&setuptools-version;</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -40,7 +40,8 @@
|
|||||||
<filename class="devicefile">/dev/sda</filename> for the primary
|
<filename class="devicefile">/dev/sda</filename> for the primary
|
||||||
disk drive. Create a Linux native partition and a
|
disk drive. Create a Linux native partition and a
|
||||||
<systemitem class="filesystem">swap</systemitem> partition, if needed. Please
|
<systemitem class="filesystem">swap</systemitem> partition, if needed. Please
|
||||||
refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if
|
refer to <ulink role='man' url='&man;cfdisk.8'>cfdisk(8)</ulink> or
|
||||||
|
<ulink role='man' url='&man;fdisk.8'>fdisk(8)</ulink> if
|
||||||
you do not yet know how to use the programs.</para>
|
you do not yet know how to use the programs.</para>
|
||||||
|
|
||||||
<note><para>For experienced users, other partitioning schemes are possible.
|
<note><para>For experienced users, other partitioning schemes are possible.
|
||||||
|
@ -29,9 +29,10 @@
|
|||||||
minimum versions indicated. This should not be an issue for most
|
minimum versions indicated. This should not be an issue for most
|
||||||
modern Linux distributions. Also note that many distributions will
|
modern Linux distributions. Also note that many distributions will
|
||||||
place software headers into separate packages, often in the form of
|
place software headers into separate packages, often in the form of
|
||||||
<quote><package-name>-devel</quote> or
|
<literal><replaceable><package-name></replaceable>-devel</literal>
|
||||||
<quote><package-name>-dev</quote>. Be sure to install those if
|
or
|
||||||
your distribution provides them.</para>
|
<literal><replaceable><package-name></replaceable>-dev</literal>.
|
||||||
|
Be sure to install those if your distribution provides them.</para>
|
||||||
|
|
||||||
<para>Earlier versions of the listed software packages may work, but have
|
<para>Earlier versions of the listed software packages may work, but have
|
||||||
not been tested.</para>
|
not been tested.</para>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<envar>LFS</envar> environment variable described in the previous section.
|
<envar>LFS</envar> environment variable described in the previous section.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>Strictly speaking, one cannot "mount a partition". One mounts the <emphasis>file
|
<para>Strictly speaking, one cannot <quote>mount a partition.</quote> One mounts the <emphasis>file
|
||||||
system</emphasis> embedded in that partition. But since a single partition can't contain
|
system</emphasis> embedded in that partition. But since a single partition can't contain
|
||||||
more than one file system, people often speak of the partition and the
|
more than one file system, people often speak of the partition and the
|
||||||
associated file system as if they were one and the same.</para>
|
associated file system as if they were one and the same.</para>
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>A few operations, from <quote>Changing Ownership</quote> to
|
<para>A few operations, from <quote>Changing Ownership</quote> to
|
||||||
<quote>Entering the Chroot Environment</quote>, must be done as the
|
<quote>Entering the Chroot Environment,</quote> must be done as the
|
||||||
<systemitem class="username">root</systemitem> user, with the LFS
|
<systemitem class="username">root</systemitem> user, with the LFS
|
||||||
environment variable set for the &root; user.</para>
|
environment variable set for the &root; user.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -27,14 +27,14 @@
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- <varlistentry>
|
<varlistentry>
|
||||||
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
|
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
|
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
|
||||||
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
|
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
-->
|
|
||||||
<!--
|
<!--
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
|
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
|
||||||
|
@ -96,6 +96,7 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
|
|||||||
<para>The <quote><parameter>-</parameter></quote> instructs
|
<para>The <quote><parameter>-</parameter></quote> instructs
|
||||||
<command>su</command> to start a login shell as opposed to a non-login shell.
|
<command>su</command> to start a login shell as opposed to a non-login shell.
|
||||||
The difference between these two types of shells is described in detail in
|
The difference between these two types of shells is described in detail in
|
||||||
<filename>bash(1)</filename> and <command>info bash</command>.</para>
|
<ulink role='man' url='&man;bash.1'>bash(1)</ulink> and <command>info
|
||||||
|
bash</command>.</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -79,8 +79,8 @@ EOF</userinput></screen>
|
|||||||
<para>Setting the user file-creation mask (umask) to 022 ensures that newly
|
<para>Setting the user file-creation mask (umask) to 022 ensures that newly
|
||||||
created files and directories are only writable by their owner, but are
|
created files and directories are only writable by their owner, but are
|
||||||
readable and executable by anyone (assuming default modes are used by the
|
readable and executable by anyone (assuming default modes are used by the
|
||||||
<filename>open(2)</filename> system call, new files will end up with
|
<ulink role='man' url='&man;open.2'>open(2)</ulink> system call, new files
|
||||||
permission mode 644 and directories with mode 755).</para>
|
will end up with permission mode 644 and directories with mode 755).</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -52,8 +52,9 @@
|
|||||||
<para>
|
<para>
|
||||||
The above command is correct. The <command>ln</command> command has
|
The above command is correct. The <command>ln</command> command has
|
||||||
several syntactic versions, so be sure to check
|
several syntactic versions, so be sure to check
|
||||||
<command>info coreutils ln</command> and <filename>ln(1)</filename>
|
<command>info coreutils ln</command> and <ulink role='man'
|
||||||
before reporting what may appear to be an error.
|
url='&man;ln.1'>ln(1)</ulink> before reporting what may appear to be
|
||||||
|
an error.
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
@ -151,8 +152,8 @@ cd build</userinput></screen>
|
|||||||
Gettext package, which the host distribution should provide.</para>
|
Gettext package, which the host distribution should provide.</para>
|
||||||
|
|
||||||
<note><para>There have been reports that this package may fail when
|
<note><para>There have been reports that this package may fail when
|
||||||
building as a "parallel make". If that occurs, rerun the make command
|
building as a <quote>parallel make.</quote> If that occurs, rerun the make command
|
||||||
with the "-j1" option.</para></note>
|
with the <option>-j1</option> option.</para></note>
|
||||||
|
|
||||||
<para>Compile the package:</para>
|
<para>Compile the package:</para>
|
||||||
|
|
||||||
|
@ -78,11 +78,6 @@ popd</userinput></screen>
|
|||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
|
||||||
|
|
||||||
<!-- devs: if using - -build here, the build system wants to compile
|
|
||||||
the signature file with "file" on the build system, but stops if it is not
|
|
||||||
the same version. One possibility would be to build "file" on the build
|
|
||||||
system first, but it is simpler to have the system think it is not
|
|
||||||
cross-compiling, and use the just built "file". -->
|
|
||||||
<para>Compile the package:</para>
|
<para>Compile the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>
|
<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>
|
||||||
|
@ -54,7 +54,7 @@ install -dv -m 1777 /tmp /var/tmp</userinput></screen>
|
|||||||
<filename class="directory">/tmp</filename> and <filename
|
<filename class="directory">/tmp</filename> and <filename
|
||||||
class="directory">/var/tmp</filename> directories, but cannot remove
|
class="directory">/var/tmp</filename> directories, but cannot remove
|
||||||
another user's files from them. The latter is prohibited by the so-called
|
another user's files from them. The latter is prohibited by the so-called
|
||||||
<quote>sticky bit</quote>, the highest bit (1) in the 1777 bit mask.</para>
|
<quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>FHS Compliance Note</title>
|
<title>FHS Compliance Note</title>
|
||||||
|
@ -44,8 +44,8 @@
|
|||||||
<title>Installation of Python</title>
|
<title>Installation of Python</title>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>There are two package files whose name starts with
|
<para>There are two package files whose name starts with the
|
||||||
<quote>python</quote>. The one to extract from is
|
<quote>python</quote> prefix. The one to extract from is
|
||||||
<filename>Python-&python-version;.tar.xz</filename> (notice the
|
<filename>Python-&python-version;.tar.xz</filename> (notice the
|
||||||
uppercase first letter).</para>
|
uppercase first letter).</para>
|
||||||
</note>
|
</note>
|
||||||
@ -83,9 +83,9 @@
|
|||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Some Python 3 modules can't be built now because the dependencies
|
Some Python 3 modules can't be built now because the dependencies
|
||||||
are not installed yet. The building system still attempts to build
|
are not installed yet. For the <filename>ssl</filename> module,
|
||||||
them however, so the compilation of some files will fail and the
|
a message <computeroutput>Python requires a OpenSSL 1.1.1 or
|
||||||
compiler message may seem to indicate <quote>fatal error</quote>.
|
newer</computeroutput> is outputted.
|
||||||
The message should be ignored. Just make sure the toplevel
|
The message should be ignored. Just make sure the toplevel
|
||||||
<command>make</command> command has not failed. The optional
|
<command>make</command> command has not failed. The optional
|
||||||
modules are not needed now and they will be built in
|
modules are not needed now and they will be built in
|
||||||
|
@ -40,6 +40,10 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Bash</title>
|
<title>Installation of Bash</title>
|
||||||
|
|
||||||
|
<para>First, fix some issues identified upstream:</para>
|
||||||
|
|
||||||
|
<screen><userinput remap="pre">patch -Np1 -i ../&bash-upstream-fixes-patch;</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare Bash for compilation:</para>
|
<para>Prepare Bash for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||||
|
@ -126,6 +126,8 @@ cd build</userinput></screen>
|
|||||||
|
|
||||||
<screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen>
|
<screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen>
|
||||||
|
|
||||||
|
<!-- <para>Three tests in the gprofng suite are also known to fail.</para>-->
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>
|
||||||
|
@ -1261,8 +1261,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
|
|||||||
<varlistentry id="yes">
|
<varlistentry id="yes">
|
||||||
<term><command>yes</command></term>
|
<term><command>yes</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Repeatedly outputs <quote>y</quote>, or a given string, until
|
<para>Repeatedly outputs <literal>y</literal> or a given string,
|
||||||
killed</para>
|
until killed</para>
|
||||||
<indexterm zone="ch-system-coreutils yes">
|
<indexterm zone="ch-system-coreutils yes">
|
||||||
<primary sortas="b-yes">yes</primary>
|
<primary sortas="b-yes">yes</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -159,7 +159,8 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info</userin
|
|||||||
<screen role='nodump'><userinput>sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf</userinput></screen>
|
<screen role='nodump'><userinput>sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf</userinput></screen>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Read the man page <filename>mke2fs.conf(5)</filename> for details.
|
Read the man page <ulink role='man'
|
||||||
|
url='&man;mke2fs.conf.5'>mke2fs.conf(5)</ulink> for details.
|
||||||
</para>
|
</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -96,8 +96,8 @@
|
|||||||
<screen><userinput remap="test">make test</userinput></screen>
|
<screen><userinput remap="test">make test</userinput></screen>
|
||||||
|
|
||||||
<para>If any test fails with the message
|
<para>If any test fails with the message
|
||||||
<quote><computeroutput>The system has no more ptys. Ask your system
|
<computeroutput>The system has no more ptys. Ask your system
|
||||||
administrator to create more</computeroutput></quote>, it indicates
|
administrator to create more</computeroutput>, it indicates
|
||||||
you've not mounted the
|
you've not mounted the
|
||||||
<systemitem class="filesystem">devpts</systemitem> file system
|
<systemitem class="filesystem">devpts</systemitem> file system
|
||||||
correctly. You need to exit from the chroot environment, read
|
correctly. You need to exit from the chroot environment, read
|
||||||
|
@ -73,7 +73,6 @@ cd build</userinput></screen>
|
|||||||
--disable-werror \
|
--disable-werror \
|
||||||
--enable-kernel=&min-kernel; \
|
--enable-kernel=&min-kernel; \
|
||||||
--enable-stack-protector=strong \
|
--enable-stack-protector=strong \
|
||||||
--with-headers=/usr/include \
|
|
||||||
--disable-nscd \
|
--disable-nscd \
|
||||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||||
|
|
||||||
@ -103,15 +102,10 @@ cd build</userinput></screen>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>This option increases system security by adding
|
<para>This option increases system security by adding
|
||||||
extra code to check for buffer overflows, such as stack
|
extra code to check for buffer overflows, such as stack
|
||||||
smashing attacks.</para>
|
smashing attacks. Note that Glibc always explicitly overrides
|
||||||
</listitem>
|
the default of GCC, so this option is still needed even though
|
||||||
</varlistentry>
|
we've already specified <option>--enable-default-ssp</option> for
|
||||||
<!-- do we need this one? -->
|
GCC.</para>
|
||||||
<varlistentry>
|
|
||||||
<term><parameter>--with-headers=/usr/include</parameter></term>
|
|
||||||
<listitem>
|
|
||||||
<para>This option tells the build system where to find the
|
|
||||||
kernel API headers.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
to the <command>configure</command> command.</para>
|
to the <command>configure</command> command.</para>
|
||||||
|
|
||||||
<!-- To editors: the configure script says "the none host is obsolete,
|
<!-- To editors: the configure script says "the none host is obsolete,
|
||||||
use - -disable-assembly", but don't believe it: with the latter
|
use - -disable-assembly," but don't believe it: with the latter
|
||||||
CFLAGS is still automatically set to -march=something. -->
|
CFLAGS is still automatically set to -march=something. -->
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
@ -106,8 +106,9 @@ make html</userinput></screen>
|
|||||||
<caution><para>The code in gmp is highly optimized for the processor where
|
<caution><para>The code in gmp is highly optimized for the processor where
|
||||||
it is built. Occasionally, the code that detects the processor misidentifies
|
it is built. Occasionally, the code that detects the processor misidentifies
|
||||||
the system capabilities and there will be errors in the tests or other
|
the system capabilities and there will be errors in the tests or other
|
||||||
applications using the gmp libraries with the message "Illegal
|
applications using the gmp libraries with the message
|
||||||
instruction". In this case, gmp should be reconfigured with the option
|
<computeroutput>Illegal instruction</computeroutput>.
|
||||||
|
In this case, gmp should be reconfigured with the option
|
||||||
<option>--host=none-linux-gnu</option> and rebuilt.</para></caution>
|
<option>--host=none-linux-gnu</option> and rebuilt.</para></caution>
|
||||||
|
|
||||||
<!-- Some tests PASS on a specific uarch but SKIP on other CPUs.
|
<!-- Some tests PASS on a specific uarch but SKIP on other CPUs.
|
||||||
|
@ -56,8 +56,9 @@
|
|||||||
|
|
||||||
<para>Five tests are known to fail in the LFS build environment due
|
<para>Five tests are known to fail in the LFS build environment due
|
||||||
to a circular dependency, but these tests pass if rechecked after
|
to a circular dependency, but these tests pass if rechecked after
|
||||||
automake has been installed. Additionally, with grep-3.8, two tests will
|
automake has been installed. Additionally, with grep-3.8 or newer,
|
||||||
trigger a warning for non-POSIX regular expressions and fail.</para>
|
two tests will trigger a warning for non-POSIX regular expressions and
|
||||||
|
fail.</para>
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ make MANSUFFIX=ssl install</userinput></screen>
|
|||||||
is a command-line tool for using the various cryptography functions
|
is a command-line tool for using the various cryptography functions
|
||||||
of <application>OpenSSL</application>'s crypto library from the
|
of <application>OpenSSL</application>'s crypto library from the
|
||||||
shell. It can be used for various functions which are documented in
|
shell. It can be used for various functions which are documented in
|
||||||
<filename>openssl(1)</filename>
|
<ulink role='man' url='&man;openssl.1'>openssl(1)</ulink>
|
||||||
</para>
|
</para>
|
||||||
<indexterm zone="ch-system-openssl openssl-prog">
|
<indexterm zone="ch-system-openssl openssl-prog">
|
||||||
<primary sortas="b-openssl">openssl</primary>
|
<primary sortas="b-openssl">openssl</primary>
|
||||||
@ -195,7 +195,8 @@ make MANSUFFIX=ssl install</userinput></screen>
|
|||||||
<para>
|
<para>
|
||||||
implements the Transport Layer Security (TLS v1) protocol.
|
implements the Transport Layer Security (TLS v1) protocol.
|
||||||
It provides a rich API, documentation
|
It provides a rich API, documentation
|
||||||
on which can be found in <filename>ssl(7)</filename>
|
on which can be found in <ulink role='man'
|
||||||
|
url='&man;ssl.7'>ssl(7)</ulink>
|
||||||
</para>
|
</para>
|
||||||
<indexterm zone="ch-system-openssl libssl">
|
<indexterm zone="ch-system-openssl libssl">
|
||||||
<primary sortas="c-libssl">libssl.so</primary>
|
<primary sortas="c-libssl">libssl.so</primary>
|
||||||
|
@ -56,13 +56,13 @@
|
|||||||
5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
|
5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
|
||||||
The system will keep working fine thanks to the well-defined interface
|
The system will keep working fine thanks to the well-defined interface
|
||||||
between the kernel and userspace. Specifically, Linux API headers
|
between the kernel and userspace. Specifically, Linux API headers
|
||||||
need not be (and should not be, see the next item) upgraded
|
need not be upgraded
|
||||||
along with the kernel. You will merely need to reboot your system to use the
|
along with the kernel. You will merely need to reboot your system to use the
|
||||||
upgraded kernel.</para>
|
upgraded kernel.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>If the Linux API headers or Glibc need to be upgraded to a newer
|
<para>If Glibc needs to be upgraded to a newer
|
||||||
version, (e.g., from Glibc-2.31 to Glibc-2.32), it is safer to
|
version, (e.g., from Glibc-2.31 to Glibc-2.32), it is safer to
|
||||||
rebuild LFS. Though you <emphasis>may</emphasis> be able to rebuild
|
rebuild LFS. Though you <emphasis>may</emphasis> be able to rebuild
|
||||||
all the packages in their dependency order, we do not recommend
|
all the packages in their dependency order, we do not recommend
|
||||||
|
@ -203,8 +203,8 @@ make -C man install-man</userinput></screen>
|
|||||||
to pass either the <parameter>-g</parameter> or <parameter>-N</parameter>
|
to pass either the <parameter>-g</parameter> or <parameter>-N</parameter>
|
||||||
parameter to <command>useradd</command>, or else change the setting of
|
parameter to <command>useradd</command>, or else change the setting of
|
||||||
<parameter>USERGROUPS_ENAB</parameter> in
|
<parameter>USERGROUPS_ENAB</parameter> in
|
||||||
<filename>/etc/login.defs</filename>. See <filename>useradd(8)</filename>
|
<filename>/etc/login.defs</filename>. See <ulink role='man'
|
||||||
for more information.</para>
|
url='&man;useradd.8'>useradd(8)</ulink> for more information.</para>
|
||||||
|
|
||||||
<para>Second, to change the default parameters, the file
|
<para>Second, to change the default parameters, the file
|
||||||
<filename>/etc/default/useradd</filename> must be created and tailored
|
<filename>/etc/default/useradd</filename> must be created and tailored
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
<note><para>The ELF loader's name may vary on different systems.
|
<note><para>The ELF loader's name may vary on different systems.
|
||||||
The construct below selects the
|
The construct below selects the
|
||||||
correct name for the current architecture, excluding anything ending
|
correct name for the current architecture, excluding anything ending
|
||||||
with <quote>g</quote>, in case the commands below have already been
|
with <literal>g</literal>, in case the commands below have already been
|
||||||
run.</para></note>
|
run.</para></note>
|
||||||
|
|
||||||
<important>
|
<important>
|
||||||
|
@ -578,7 +578,8 @@ su tester -c "make -k check"</userinput></screen>
|
|||||||
<term><command>irqtop</command></term>
|
<term><command>irqtop</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Displays kernel interrupt counter information in
|
<para>Displays kernel interrupt counter information in
|
||||||
<filename>top(1)</filename> style view</para>
|
<ulink role='man' url='&man;top.1'>top(1)</ulink> style
|
||||||
|
view</para>
|
||||||
<indexterm zone="ch-system-util-linux irqtop">
|
<indexterm zone="ch-system-util-linux irqtop">
|
||||||
<primary sortas="b-irqtop">irqtop</primary>
|
<primary sortas="b-irqtop">irqtop</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -26,14 +26,13 @@
|
|||||||
<!-- sysv -->
|
<!-- sysv -->
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
|
|
||||||
|
|
||||||
<!-- systemd -->
|
<!-- systemd -->
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
|
|
||||||
|
|
||||||
<!-- common -->
|
<!-- common -->
|
||||||
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/>
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/>
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
directory for valid screen fonts.</para>
|
directory for valid screen fonts.</para>
|
||||||
|
|
||||||
<para>The <filename>/etc/vconsole.conf</filename> file should contain lines
|
<para>The <filename>/etc/vconsole.conf</filename> file should contain lines
|
||||||
of the form: VARIABLE="value". The following variables are recognized:</para>
|
of the form: <envar>VARIABLE=value</envar>. The following variables are recognized:</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
@ -74,6 +74,25 @@
|
|||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
|
<para>We'll use <literal>C.UTF-8</literal> as the locale for interactive
|
||||||
|
sessions in the Linux console in <xref role='.'
|
||||||
|
linkend='ch-config-locale'/> The console fonts shipped by
|
||||||
|
the <application>Kbd</application> package containing the glyphs for
|
||||||
|
all characters from the program messages in the <literal>C.UTF-8</literal>
|
||||||
|
locale are <filename>LatArCyrHeb*.psfu.gz</filename>,
|
||||||
|
<filename>LatGrkCyr*.psfu.gz</filename>,
|
||||||
|
<filename>Lat2-Terminus16.psfu.gz</filename>, and
|
||||||
|
<filename>pancyrillic.f16.psfu.gz</filename> in
|
||||||
|
<filename class='directory'>/usr/share/consolefonts</filename> (the other
|
||||||
|
shipped console fonts lack glyphs of some characters like the Unicode
|
||||||
|
left/right quotation marks and the Unicode English dash). So set one of
|
||||||
|
them, for example <filename>Lat2-Terminus16.psfu.gz</filename> as the
|
||||||
|
default console font:</para>
|
||||||
|
|
||||||
|
<!-- We are using "nodump" for general settings, but not examples. This
|
||||||
|
is ironic, but needed for the compatibility with jhalfs! -->
|
||||||
|
<screen role='nodump'><userinput>echo <literal>FONT=Lat2-Terminus16</literal> > /etc/vconsole.conf</userinput></screen>
|
||||||
|
|
||||||
<para>An example for a German keyboard and console is given below:</para>
|
<para>An example for a German keyboard and console is given below:</para>
|
||||||
<!-- This is what is used by jhalfs for creating the vconsole.conf file.
|
<!-- This is what is used by jhalfs for creating the vconsole.conf file.
|
||||||
Whenever you want to change the following, please inform the jhalfs
|
Whenever you want to change the following, please inform the jhalfs
|
||||||
|
@ -5,18 +5,21 @@
|
|||||||
%general-entities;
|
%general-entities;
|
||||||
]>
|
]>
|
||||||
|
|
||||||
<sect1 id="ch-config-locale" revision="systemd">
|
<sect1 id="ch-config-locale">
|
||||||
<?dbhtml filename="locale.html"?>
|
<?dbhtml filename="locale.html"?>
|
||||||
|
|
||||||
<title>Configuring the System Locale</title>
|
<title>Configuring the System Locale</title>
|
||||||
|
|
||||||
<indexterm zone="ch-config-locale">
|
<indexterm zone="ch-config-locale">
|
||||||
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary>
|
<primary sortas="e-/etc/profile">/etc/profile</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
|
||||||
<para>The <filename>/etc/locale.conf</filename> file below sets some
|
<indexterm zone="ch-config-locale" revision='systemd'>
|
||||||
environment variables necessary for native language support. Setting
|
<primary sortas="e-/etc/profile">/etc/locale.conf</primary>
|
||||||
them properly results in:</para>
|
</indexterm>
|
||||||
|
|
||||||
|
<para>Some environment variables are necessary for native language
|
||||||
|
support. Setting them properly results in:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -39,35 +42,37 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Replace <replaceable><ll></replaceable> below with the two-letter code
|
<para>Replace <replaceable><ll></replaceable> below with the two-letter code
|
||||||
for your desired language (e.g., <quote>en</quote>) and
|
for your desired language (e.g., <literal>en</literal>) and
|
||||||
<replaceable><CC></replaceable> with the two-letter code for the appropriate
|
<replaceable><CC></replaceable> with the two-letter code for the appropriate
|
||||||
country (e.g., <quote>GB</quote>). <replaceable><charmap></replaceable> should
|
country (e.g., <literal>GB</literal>). <replaceable><charmap></replaceable> should
|
||||||
be replaced with the canonical charmap for your chosen locale. Optional
|
be replaced with the canonical charmap for your chosen locale. Optional
|
||||||
modifiers such as <quote>@euro</quote> may also be present.</para>
|
modifiers such as <literal>@euro</literal> may also be present.</para>
|
||||||
|
|
||||||
<para>The list of all locales supported by Glibc can be obtained by running
|
<para>The list of all locales supported by Glibc can be obtained by running
|
||||||
the following command:</para>
|
the following command:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>locale -a</userinput></screen>
|
<screen role="nodump"><userinput>locale -a</userinput></screen>
|
||||||
|
|
||||||
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
|
<para>Charmaps can have a number of aliases, e.g.,
|
||||||
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
|
<literal>ISO-8859-1</literal> is also referred to as
|
||||||
|
<literal>iso8859-1</literal> and <literal>iso88591</literal>.
|
||||||
Some applications cannot handle the various synonyms correctly (e.g., require
|
Some applications cannot handle the various synonyms correctly (e.g., require
|
||||||
that <quote>UTF-8</quote> is written as <quote>UTF-8</quote>, not
|
that <literal>UTF-8</literal> is written as <literal>UTF-8</literal>, not
|
||||||
<quote>utf8</quote>), so it is the safest in most
|
<literal>utf8</literal>), so it is the safest in most
|
||||||
cases to choose the canonical name for a particular locale. To determine
|
cases to choose the canonical name for a particular locale. To determine
|
||||||
the canonical name, run the following command, where <replaceable><locale
|
the canonical name, run the following command, where <replaceable><locale
|
||||||
name></replaceable> is the output given by <command>locale -a</command> for
|
name></replaceable> is the output given by <command>locale -a</command> for
|
||||||
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
|
your preferred locale (<literal>en_GB.iso88591</literal> in our
|
||||||
|
example).</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>LC_ALL=<replaceable><locale name></replaceable> locale charmap</userinput></screen>
|
<screen role="nodump"><userinput>LC_ALL=<replaceable><locale name></replaceable> locale charmap</userinput></screen>
|
||||||
|
|
||||||
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
|
<para>For the <literal>en_GB.iso88591</literal> locale, the above command
|
||||||
will print:</para>
|
will print:</para>
|
||||||
|
|
||||||
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
|
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
|
||||||
|
|
||||||
<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
|
<para>This results in a final locale setting of <literal>en_GB.ISO-8859-1</literal>.
|
||||||
It is important that the locale found using the heuristic above is tested prior
|
It is important that the locale found using the heuristic above is tested prior
|
||||||
to it being added to the Bash startup files:</para>
|
to it being added to the Bash startup files:</para>
|
||||||
|
|
||||||
@ -90,66 +95,115 @@ LC_ALL=<locale name> locale int_prefix</userinput></screen>
|
|||||||
Further instructions assume that there are no such error messages from
|
Further instructions assume that there are no such error messages from
|
||||||
Glibc.</para>
|
Glibc.</para>
|
||||||
|
|
||||||
<!-- FIXME: the xlib example will become obsolete in the future.-->
|
|
||||||
<para>Some packages beyond LFS may also lack support for your chosen locale. One
|
|
||||||
example is the X library (part of the X Window System), which outputs the
|
|
||||||
following error message if the locale does not exactly match one of the character
|
|
||||||
map names in its internal files:</para>
|
|
||||||
|
|
||||||
<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
|
|
||||||
|
|
||||||
<para>In several cases Xlib expects that the character map will be listed in
|
|
||||||
uppercase notation with canonical dashes. For instance, "ISO-8859-1" rather
|
|
||||||
than "iso88591". It is also possible to find an appropriate specification by
|
|
||||||
removing the charmap part of the locale specification. This can be checked
|
|
||||||
by running the <command>locale charmap</command> command in both locales.
|
|
||||||
For example, one would have to change "de_DE.ISO-8859-15@euro" to
|
|
||||||
"de_DE@euro" in order to get this locale recognized by Xlib.</para>
|
|
||||||
|
|
||||||
<para>Other packages can also function incorrectly (but may not necessarily
|
<para>Other packages can also function incorrectly (but may not necessarily
|
||||||
display any error messages) if the locale name does not meet their expectations.
|
display any error messages) if the locale name does not meet their expectations.
|
||||||
In those cases, investigating how other Linux distributions support your locale
|
In those cases, investigating how other Linux distributions support your locale
|
||||||
might provide some useful information.</para>
|
might provide some useful information.</para>
|
||||||
|
|
||||||
<para>Once the proper locale settings have been determined, create the
|
<para revision='systemd'>Once the proper locale settings have been
|
||||||
<filename>/etc/locale.conf</filename> file:</para>
|
determined, create the <filename>/etc/locale.conf</filename> file:</para>
|
||||||
|
|
||||||
<screen><userinput>cat > /etc/locale.conf << "EOF"
|
<screen revision='systemd'><userinput>cat > /etc/locale.conf << "EOF"
|
||||||
<literal>LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable></literal>
|
<literal>LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable></literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>Note that you can modify <filename>/etc/locale.conf</filename> with the
|
<para>The shell program <command>/bin/bash</command> (here after referred
|
||||||
|
as <quote>the shell</quote>) uses a collection of startup files to help
|
||||||
|
create the environment to run in. Each file has a specific use and may
|
||||||
|
affect login and interactive environments differently. The files in the
|
||||||
|
<filename class="directory">/etc</filename> directory provide global
|
||||||
|
settings. If equivalent files exist in the home directory, they
|
||||||
|
may override the global settings.</para>
|
||||||
|
|
||||||
|
<para>An interactive login shell is started after a successful login,
|
||||||
|
using <command>/bin/login</command>, by reading the
|
||||||
|
<filename>/etc/passwd</filename> file. An interactive non-login shell is
|
||||||
|
started at the command-line (e.g.
|
||||||
|
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A
|
||||||
|
non-interactive shell is usually present when a shell script is running.
|
||||||
|
It is non-interactive because it is processing a script and not waiting
|
||||||
|
for user input between commands.</para>
|
||||||
|
|
||||||
|
<para><phrase revision='systemd'>The login shells are often unaffected by
|
||||||
|
the settings in <filename>/etc/locale.conf</filename>. </phrase>Create the
|
||||||
|
<filename>/etc/profile</filename>
|
||||||
|
<phrase revision='sysv'>once the proper locale settings have been
|
||||||
|
determined to set the desired locale</phrase><phrase
|
||||||
|
revision='systemd'>to read the locale settings from
|
||||||
|
<filename>/etc/locale.conf</filename> and export them</phrase>,
|
||||||
|
but set the <literal>C.UTF-8</literal> locale instead if running in the Linux
|
||||||
|
console (to prevent programs from outputting characters that the Linux
|
||||||
|
console is unable to render):</para>
|
||||||
|
|
||||||
|
<screen revision="systemd"><userinput>cat > /etc/profile << "EOF"
|
||||||
|
<literal># Begin /etc/profile
|
||||||
|
|
||||||
|
for i in $(locale); do
|
||||||
|
unset ${i%=*}
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$TERM" = linux ]]; then
|
||||||
|
export LANG=C.UTF-8
|
||||||
|
else
|
||||||
|
source /etc/locale.conf
|
||||||
|
|
||||||
|
for i in $(locale); do
|
||||||
|
key=${i%=*}
|
||||||
|
if [[ -v $key ]]; then
|
||||||
|
export $key
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# End /etc/profile</literal>
|
||||||
|
EOF</userinput></screen>
|
||||||
|
|
||||||
|
<screen revision="sysv"><userinput>cat > /etc/profile << "EOF"
|
||||||
|
<literal># Begin /etc/profile
|
||||||
|
|
||||||
|
for i in $(locale); do
|
||||||
|
unset ${i%=*}
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ "$TERM" = linux ]]; then
|
||||||
|
export LANG=C.UTF-8
|
||||||
|
else
|
||||||
|
export LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>
|
||||||
|
fi
|
||||||
|
|
||||||
|
# End /etc/profile</literal>
|
||||||
|
EOF</userinput></screen>
|
||||||
|
|
||||||
|
<para revision='systemd'>Note that you can modify <filename>/etc/locale.conf</filename> with the
|
||||||
systemd <command>localectl</command> utility. To use
|
systemd <command>localectl</command> utility. To use
|
||||||
<command>localectl</command> for the example above, run:</para>
|
<command>localectl</command> for the example above, run:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>"</userinput></screen>
|
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>"</userinput></screen>
|
||||||
|
|
||||||
<para>You can also specify other language specific environment variables such
|
<para revision='systemd'>You can also specify other language specific
|
||||||
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or
|
environment variables such as <envar>LANG</envar>,
|
||||||
any other environment variable from <command>locale</command> output. Just
|
<envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or any other
|
||||||
separate them with a space. An example where <envar>LANG</envar> is set as
|
environment variable from <command>locale</command> output. Just separate
|
||||||
|
them with a space. An example where <envar>LANG</envar> is set as
|
||||||
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
|
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
|
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
|
||||||
|
|
||||||
<note><para>Please note that the <command>localectl</command> command
|
<note revision='systemd'><para>Please note that the
|
||||||
doesn't work in the chroot environment. It can only
|
<command>localectl</command> command doesn't work in the chroot
|
||||||
be used after the LFS system is booted with systemd.</para></note>
|
environment. It can only be used after the LFS system is booted with
|
||||||
|
systemd.</para></note>
|
||||||
|
|
||||||
<para>The <quote>C</quote> (default) and <quote>en_US</quote> (the recommended
|
<para>The <literal>C</literal> (default) and <literal>en_US</literal>
|
||||||
one for United States English users) locales are different. <quote>C</quote>
|
(the recommended one for United States English users) locales are
|
||||||
|
different. <literal>C</literal>
|
||||||
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
|
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
|
||||||
as invalid characters. That's why, e.g., the <command>ls</command> command
|
as invalid characters. That's why, e.g., the <command>ls</command> command
|
||||||
substitutes them with question marks in that locale. Also, an attempt to send
|
substitutes them with question marks in that locale. Also, an attempt to send
|
||||||
mail with such characters from Mutt or Pine results in non-RFC-conforming
|
mail with such characters from Mutt or Pine results in non-RFC-conforming
|
||||||
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
|
messages being sent (the charset in the outgoing mail is indicated as
|
||||||
8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only
|
<computeroutput>unknown 8-bit</computeroutput>). It's suggested that you
|
||||||
|
use the <literal>C</literal> locale only
|
||||||
if you are certain that you will never need 8-bit characters.</para>
|
if you are certain that you will never need 8-bit characters.</para>
|
||||||
|
|
||||||
<!--
|
|
||||||
<para>UTF-8 based locales are not supported well by many programs.
|
|
||||||
Work is in progress to document and, if possible, fix such problems, see
|
|
||||||
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
|
|
||||||
-->
|
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -62,9 +62,9 @@ EOF</userinput></screen>
|
|||||||
<para>The values in italics must be changed in each file, to set
|
<para>The values in italics must be changed in each file, to set
|
||||||
the interfaces up correctly.</para>
|
the interfaces up correctly.</para>
|
||||||
|
|
||||||
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
|
<para>If the <envar>ONBOOT</envar> variable is set to <literal>yes</literal> the
|
||||||
System V network script will bring up the Network Interface Card (NIC) during
|
System V network script will bring up the Network Interface Card (NIC) during
|
||||||
the system boot process. If set to anything besides <quote>yes</quote>, the NIC
|
the system boot process. If set to anything besides <literal>yes</literal>, the NIC
|
||||||
will be ignored by the network script and will not be started automatically.
|
will be ignored by the network script and will not be started automatically.
|
||||||
Interfaces can be manually started or stopped with the
|
Interfaces can be manually started or stopped with the
|
||||||
<command>ifup</command> and <command>ifdown</command> commands.</para>
|
<command>ifup</command> and <command>ifdown</command> commands.</para>
|
||||||
|
@ -50,9 +50,11 @@
|
|||||||
<filename class="extension">.netdev</filename> and
|
<filename class="extension">.netdev</filename> and
|
||||||
<filename class="extension">.network</filename> files. For detailed
|
<filename class="extension">.network</filename> files. For detailed
|
||||||
descriptions and example contents of these configuration files, consult
|
descriptions and example contents of these configuration files, consult
|
||||||
the <filename>systemd-link(5)</filename>,
|
the <ulink role='man' url='&man;systemd-link.5'>systemd-link(5)</ulink>,
|
||||||
<filename>systemd-netdev(5)</filename> and
|
<ulink role='man' url='&man;systemd-netdev.5'>systemd-netdev(5)</ulink>,
|
||||||
<filename>systemd-network(5)</filename> manual pages.</para>
|
and <ulink role='man'
|
||||||
|
url='&man;systemd-network.5'>systemd-network(5)</ulink> manual
|
||||||
|
pages.</para>
|
||||||
|
|
||||||
<sect3 id="systemd-network-devices">
|
<sect3 id="systemd-network-devices">
|
||||||
<title>Network Device Naming</title>
|
<title>Network Device Naming</title>
|
||||||
@ -89,7 +91,8 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Mask udev's .link file for the default policy:
|
Mask udev's <filename class='extension'>.link</filename> file
|
||||||
|
for the default policy:
|
||||||
<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
|
<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -97,10 +100,11 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
Create a manual naming scheme, for example by naming the
|
Create a manual naming scheme, for example by naming the
|
||||||
interfaces something like "internet0", "dmz0", or "lan0".
|
interfaces something like <literal>internet0</literal>,
|
||||||
To do that, create .link files in /etc/systemd/network/ that
|
<literal>dmz0</literal>, or <literal>lan0</literal>.
|
||||||
select an explicit name or a better naming scheme for your
|
To do that, create <filename class='extension'>.link</filename>
|
||||||
network interfaces. For example:
|
files in /etc/systemd/network/ that select an explicit name or a
|
||||||
|
better naming scheme for your network interfaces. For example:
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>cat > /etc/systemd/network/10-ether0.link << "EOF"
|
<screen role="nodump"><userinput>cat > /etc/systemd/network/10-ether0.link << "EOF"
|
||||||
@ -113,7 +117,7 @@ Name=ether0</literal>
|
|||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
See <filename>systemd.link(5)</filename> for more information.
|
See <ulink role='man' url='&man;systemd.link.5'>systemd.link(5)</ulink> for more information.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
@ -357,7 +361,9 @@ EOF</userinput></screen>
|
|||||||
<literal>localhost.localdomain</literal>, or the hostname (without a
|
<literal>localhost.localdomain</literal>, or the hostname (without a
|
||||||
domain) because they are handled by the
|
domain) because they are handled by the
|
||||||
<systemitem class='library'>myhostname</systemitem> NSS module, read
|
<systemitem class='library'>myhostname</systemitem> NSS module, read
|
||||||
the man page <filename>nss-myhostname(8)</filename> for details.</para>
|
the man page <ulink role='man'
|
||||||
|
url='&man;nss-myhostname.8'>nss-myhostname(8)</ulink> for
|
||||||
|
details.</para>
|
||||||
|
|
||||||
<para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents
|
<para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents
|
||||||
the IPv6 loopback interface.</para>
|
the IPv6 loopback interface.</para>
|
||||||
|
@ -1,163 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
||||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
||||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
|
||||||
%general-entities;
|
|
||||||
]>
|
|
||||||
|
|
||||||
<sect1 id="ch-config-profile" revision="sysv">
|
|
||||||
<?dbhtml filename="profile.html"?>
|
|
||||||
|
|
||||||
<title>The Bash Shell Startup Files</title>
|
|
||||||
|
|
||||||
<indexterm zone="ch-config-profile">
|
|
||||||
<primary sortas="e-/etc/profile">/etc/profile</primary>
|
|
||||||
</indexterm>
|
|
||||||
|
|
||||||
<para>The shell program <command>/bin/bash</command> (hereafter referred to
|
|
||||||
as <quote>the shell</quote>) uses a collection of startup files to help
|
|
||||||
create the environment to run in. Each file has a specific use and may affect
|
|
||||||
login and interactive environments differently. The files in the <filename
|
|
||||||
class="directory">/etc</filename> directory provide global settings. If
|
|
||||||
equivalent files exist in the home directory, they may override the global
|
|
||||||
settings.</para>
|
|
||||||
|
|
||||||
<para>An interactive login shell is started after a successful login, using
|
|
||||||
<command>/bin/login</command>, by reading the <filename>/etc/passwd</filename>
|
|
||||||
file. An interactive non-login shell is started at the command-line (e.g.,
|
|
||||||
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
|
|
||||||
shell is usually present when a shell script is running. It is non-interactive
|
|
||||||
because it is processing a script and not waiting for user input between
|
|
||||||
commands.</para>
|
|
||||||
|
|
||||||
<para>For more information, see the <emphasis>Bash Startup Files</emphasis> and
|
|
||||||
<emphasis>Interactive Shells</emphasis> sections in the <emphasis>Bash
|
|
||||||
Features</emphasis> chapter of the Bash info pages (<command>info bash</command>).</para>
|
|
||||||
|
|
||||||
<para>The files <filename>/etc/profile</filename> and
|
|
||||||
<filename>~/.bash_profile</filename> are read when the shell is
|
|
||||||
invoked as an interactive login shell.</para>
|
|
||||||
|
|
||||||
<para>The base <filename>/etc/profile</filename> below sets some
|
|
||||||
environment variables necessary for native language support. Setting
|
|
||||||
them properly results in:</para>
|
|
||||||
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>The output of programs translated into the native language</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Correct classification of characters into letters, digits and other
|
|
||||||
classes. This is necessary for <command>bash</command> to properly accept
|
|
||||||
non-ASCII characters in command lines in non-English locales</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The correct alphabetical sorting order for the country</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Appropriate default paper size</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Correct formatting of monetary, time, and date values</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<para>Replace <replaceable><ll></replaceable> below with the two-letter code
|
|
||||||
for the desired language (e.g., <quote>en</quote>) and
|
|
||||||
<replaceable><CC></replaceable> with the two-letter code for the appropriate
|
|
||||||
country (e.g., <quote>GB</quote>). <replaceable><charmap></replaceable> should
|
|
||||||
be replaced with the canonical charmap for your chosen locale. Optional
|
|
||||||
modifiers such as <quote>@euro</quote> may also be present.</para>
|
|
||||||
|
|
||||||
<para>The list of all locales supported by Glibc can be obtained by running
|
|
||||||
the following command:</para>
|
|
||||||
|
|
||||||
<screen role="nodump"><userinput>locale -a</userinput></screen>
|
|
||||||
|
|
||||||
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
|
|
||||||
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>.
|
|
||||||
Some applications cannot handle the various synonyms correctly (e.g., require
|
|
||||||
that <quote>UTF-8</quote> is written as <quote>UTF-8</quote>, not
|
|
||||||
<quote>utf8</quote>), so it is safest in most
|
|
||||||
cases to choose the canonical name for a particular locale. To determine
|
|
||||||
the canonical name, run the following command, where <replaceable><locale
|
|
||||||
name></replaceable> is the output given by <command>locale -a</command> for
|
|
||||||
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
|
|
||||||
|
|
||||||
<screen role="nodump"><userinput>LC_ALL=<replaceable><locale name></replaceable> locale charmap</userinput></screen>
|
|
||||||
|
|
||||||
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
|
|
||||||
will print:</para>
|
|
||||||
|
|
||||||
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
|
|
||||||
|
|
||||||
<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
|
|
||||||
It is important that the locale found using the heuristic above is tested before
|
|
||||||
it is added to the Bash startup files:</para>
|
|
||||||
|
|
||||||
<screen role="nodump"><userinput>LC_ALL=<locale name> locale language
|
|
||||||
LC_ALL=<locale name> locale charmap
|
|
||||||
LC_ALL=<locale name> locale int_curr_symbol
|
|
||||||
LC_ALL=<locale name> locale int_prefix</userinput></screen>
|
|
||||||
|
|
||||||
<para>The above commands should print the language name, the character
|
|
||||||
encoding used by the locale, the local currency, and the prefix to dial
|
|
||||||
before the telephone number in order to get into the country. If any of the
|
|
||||||
commands above fail with a message similar to the one shown below, this means
|
|
||||||
that your locale was either not installed in <xref linkend="ch-system-glibc"/>
|
|
||||||
or is not supported by the default installation of Glibc.</para>
|
|
||||||
|
|
||||||
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
|
|
||||||
|
|
||||||
<para>If this happens, you should either install the desired locale using the
|
|
||||||
<command>localedef</command> command, or consider choosing a different locale.
|
|
||||||
Further instructions assume that there are no such error messages from
|
|
||||||
Glibc.</para>
|
|
||||||
|
|
||||||
<!-- FIXME: the xlib example will became obsolete real soon -->
|
|
||||||
<!--<para>Some packages beyond LFS may also lack support for your chosen locale. One
|
|
||||||
example is the X library (part of the X Window System), which outputs the
|
|
||||||
following error message if the locale does not exactly match one of the character
|
|
||||||
map names in its internal files:</para>
|
|
||||||
|
|
||||||
<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
|
|
||||||
|
|
||||||
<para>In several cases Xlib expects that the character map will be listed in
|
|
||||||
uppercase notation with canonical dashes. For instance, "ISO-8859-1" rather
|
|
||||||
than "iso88591". It is also possible to find an appropriate specification by
|
|
||||||
removing the charmap part of the locale specification. This can be checked
|
|
||||||
by running the <command>locale charmap</command> command in both locales.
|
|
||||||
For example, one would have to change "de_DE.ISO-8859-15@euro" to
|
|
||||||
"de_DE@euro" in order to get this locale recognized by Xlib.</para>
|
|
||||||
-->
|
|
||||||
<para>Other packages may also function incorrectly (but will not necessarily
|
|
||||||
display any error messages) if the locale name does not meet their expectations.
|
|
||||||
In such cases, investigating how other Linux distributions support your locale
|
|
||||||
might provide some useful information.</para>
|
|
||||||
|
|
||||||
<para>Once the proper locale settings have been determined, create the
|
|
||||||
<filename>/etc/profile</filename> file:</para>
|
|
||||||
|
|
||||||
<screen><userinput>cat > /etc/profile << "EOF"
|
|
||||||
<literal># Begin /etc/profile
|
|
||||||
|
|
||||||
export LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>
|
|
||||||
|
|
||||||
# End /etc/profile</literal>
|
|
||||||
EOF</userinput></screen>
|
|
||||||
|
|
||||||
<para>The <quote>C</quote> (default) and <quote>en_US.utf8</quote> (the recommended
|
|
||||||
one for United States English users) locales are different. <quote>C</quote>
|
|
||||||
uses the US-ASCII 7-bit character set, and treats bytes with the high-order bit set
|
|
||||||
<quote>on</quote> as invalid characters. That's why, e.g., the <command>ls</command> command
|
|
||||||
displays them as question marks in that locale. Also, an attempt to send
|
|
||||||
mail with such characters from Mutt or Pine results in non-RFC-conforming
|
|
||||||
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
|
|
||||||
8-bit</quote>). So you can only use the <quote>C</quote> locale if you are sure
|
|
||||||
you will never need 8-bit characters.</para>
|
|
||||||
|
|
||||||
<para>UTF-8 based locales are not supported well by some programs.
|
|
||||||
Work is in progress to document and, if possible, fix such problems. See
|
|
||||||
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
|
|
||||||
|
|
||||||
</sect1>
|
|
@ -21,8 +21,9 @@
|
|||||||
of options to control basic systemd operations. The default file has all
|
of options to control basic systemd operations. The default file has all
|
||||||
entries commented out with the default settings indicated. This file is
|
entries commented out with the default settings indicated. This file is
|
||||||
where the log level may be changed as well as some basic logging settings.
|
where the log level may be changed as well as some basic logging settings.
|
||||||
See the <filename>systemd-system.conf(5)</filename> manual page for details
|
See the <ulink role='man'
|
||||||
on each configuration option.</para>
|
url='&man;systemd-system.conf.5'>systemd-system.conf(5)</ulink> manual
|
||||||
|
page for details on each configuration option.</para>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
@ -89,8 +90,8 @@ EOF</userinput></screen>
|
|||||||
<filename class="directory">/etc/tmpfiles.d</filename> override
|
<filename class="directory">/etc/tmpfiles.d</filename> override
|
||||||
files with the same name in
|
files with the same name in
|
||||||
<filename class="directory">/usr/lib/tmpfiles.d</filename>. See
|
<filename class="directory">/usr/lib/tmpfiles.d</filename>. See
|
||||||
<filename>tmpfiles.d(5)</filename> manual page for file format
|
<ulink role='man' url='&man;tmpfiles.d.5'>tmpfiles.d(5)</ulink> manual
|
||||||
details.</para>
|
page for file format details.</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Note that the syntax for the
|
Note that the syntax for the
|
||||||
@ -135,7 +136,8 @@ Restart=always
|
|||||||
RestartSec=30</literal>
|
RestartSec=30</literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>See <filename>systemd.unit(5)</filename> manual page for more
|
<para>See <ulink role='man'
|
||||||
|
url='&man;systemd.unit.5'>systemd.unit(5)</ulink> manual page for more
|
||||||
information. After creating the configuration file, run
|
information. After creating the configuration file, run
|
||||||
<userinput>systemctl daemon-reload</userinput> and <userinput>systemctl
|
<userinput>systemctl daemon-reload</userinput> and <userinput>systemctl
|
||||||
restart foobar</userinput> to activate the changes to a service.</para>
|
restart foobar</userinput> to activate the changes to a service.</para>
|
||||||
@ -251,10 +253,11 @@ cat > /etc/systemd/coredump.conf.d/maxuse.conf << EOF
|
|||||||
MaxUse=5G</literal>
|
MaxUse=5G</literal>
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
|
|
||||||
<para>See the <filename>systemd-coredump(8)</filename>,
|
<para>See the <ulink role='man' url='&man;systemd-coredump.8'>systemd-coredump(8)</ulink>,
|
||||||
<filename>coredumpctl(1)</filename>, and
|
<ulink role='man' url='&man;coredumpctl.1'>coredumpctl(1)</ulink>, and
|
||||||
<filename>coredump.conf.d(5)</filename> manual pages for more
|
<ulink role='man'
|
||||||
information.</para>
|
url='&man;coredump.conf.d.5'>coredump.conf.d(5)</ulink> manual pages for
|
||||||
|
more information.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -129,13 +129,13 @@
|
|||||||
program and are usually related to the bus-specific identifiers of devices
|
program and are usually related to the bus-specific identifiers of devices
|
||||||
supported by a module. For example, the <emphasis>snd-fm801</emphasis>
|
supported by a module. For example, the <emphasis>snd-fm801</emphasis>
|
||||||
driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801,
|
driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801,
|
||||||
and has an alias of <quote>pci:v00001319d00000801sv*sd*bc04sc01i*</quote>.
|
and has an alias of <literal>pci:v00001319d00000801sv*sd*bc04sc01i*</literal>.
|
||||||
For most devices, the bus driver exports the alias of the driver that
|
For most devices, the bus driver exports the alias of the driver that
|
||||||
would handle the device via <systemitem
|
would handle the device via <systemitem
|
||||||
class="filesystem">sysfs</systemitem>. E.g., the
|
class="filesystem">sysfs</systemitem>. E.g., the
|
||||||
<filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
|
<filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
|
||||||
might contain the string
|
might contain the string
|
||||||
<quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>.
|
<literal>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</literal>.
|
||||||
The default rules provided with udev will cause <command>udevd</command>
|
The default rules provided with udev will cause <command>udevd</command>
|
||||||
to call out to <command>/sbin/modprobe</command> with the contents of the
|
to call out to <command>/sbin/modprobe</command> with the contents of the
|
||||||
<envar>MODALIAS</envar> uevent environment variable (which should be the
|
<envar>MODALIAS</envar> uevent environment variable (which should be the
|
||||||
@ -225,8 +225,9 @@
|
|||||||
<para>Note that the <quote>softdep</quote> command also allows
|
<para>Note that the <quote>softdep</quote> command also allows
|
||||||
<literal>pre:</literal> dependencies, or a mixture of both
|
<literal>pre:</literal> dependencies, or a mixture of both
|
||||||
<literal>pre:</literal> and <literal>post:</literal> dependencies. See
|
<literal>pre:</literal> and <literal>post:</literal> dependencies. See
|
||||||
the <filename>modprobe.d(5)</filename> manual page for more information
|
the <ulink role='man' url='&man;modprobe.d.5'>modprobe.d(5)</ulink>
|
||||||
on <quote>softdep</quote> syntax and capabilities.</para>
|
manual page for more information on <quote>softdep</quote> syntax and
|
||||||
|
capabilities.</para>
|
||||||
|
|
||||||
<para revision="sysv">If the module in question is not a wrapper and is
|
<para revision="sysv">If the module in question is not a wrapper and is
|
||||||
useful by itself, configure the <command>modules</command> bootscript to
|
useful by itself, configure the <command>modules</command> bootscript to
|
||||||
@ -300,7 +301,7 @@
|
|||||||
|
|
||||||
<para>This is due to the fact that udev, by design, handles uevents and
|
<para>This is due to the fact that udev, by design, handles uevents and
|
||||||
loads modules in parallel, and thus in an unpredictable order. This will
|
loads modules in parallel, and thus in an unpredictable order. This will
|
||||||
never be <quote>fixed</quote>. You should not rely upon the kernel device
|
never be <quote>fixed.</quote> You should not rely upon the kernel device
|
||||||
names being stable. Instead, create your own rules that make symlinks with
|
names being stable. Instead, create your own rules that make symlinks with
|
||||||
stable names based on some stable attributes of the device, such as a
|
stable names based on some stable attributes of the device, such as a
|
||||||
serial number or the output of various *_id utilities installed by udev.
|
serial number or the output of various *_id utilities installed by udev.
|
||||||
|
@ -32,7 +32,8 @@
|
|||||||
<para>SysVinit (which will be referred to as <quote>init</quote> from now on)
|
<para>SysVinit (which will be referred to as <quote>init</quote> from now on)
|
||||||
uses a run levels scheme. There are seven run levels, numbered 0 to 6.
|
uses a run levels scheme. There are seven run levels, numbered 0 to 6.
|
||||||
(Actually, there are more run levels, but the others are for special cases and are
|
(Actually, there are more run levels, but the others are for special cases and are
|
||||||
generally not used. See <filename>init(8)</filename> for more details.)
|
generally not used. See <ulink role='man'
|
||||||
|
url='&man;init.8'>init(8)</ulink> for more details.)
|
||||||
Each one of the seven corresponds to actions the computer is supposed to
|
Each one of the seven corresponds to actions the computer is supposed to
|
||||||
perform when it starts up or shuts down. The default run level is 3. Here are the
|
perform when it starts up or shuts down. The default run level is 3. Here are the
|
||||||
descriptions of the different run levels as they are implemented in LFS:</para>
|
descriptions of the different run levels as they are implemented in LFS:</para>
|
||||||
@ -47,11 +48,11 @@
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>
|
<para>
|
||||||
Classically, run level 2 above was defined as
|
Classically, run level 2 above was defined as <quote>multi-user
|
||||||
"multi-user mode without networking", but this was only the case
|
mode without networking,</quote> but this was only the case
|
||||||
many years ago when multiple users could connect to a system via
|
many years ago when multiple users could connect to a system via
|
||||||
serial ports. In today's environment it makes no sense, and
|
serial ports. In today's environment it makes no sense, and
|
||||||
we now say it is "reserved".
|
we now say it is <quote>reserved.</quote>
|
||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
@ -341,12 +342,13 @@ EOF</userinput></screen>
|
|||||||
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
|
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
|
||||||
doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
|
doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
|
||||||
and <filename class="directory">/usr/share/consolefonts</filename> directories
|
and <filename class="directory">/usr/share/consolefonts</filename> directories
|
||||||
for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and
|
for valid keymaps and screen fonts. Read the <ulink role='man'
|
||||||
<filename>setfont(8)</filename> manual pages to determine the correct
|
url='&man;loadkeys.1'>loadkeys(1)</ulink> and <ulink role='man'
|
||||||
arguments for these programs.</para>
|
url='&man;setfont.8'>setfont(8)</ulink> manual pages to determine the
|
||||||
|
correct arguments for these programs.</para>
|
||||||
|
|
||||||
<para>The <filename>/etc/sysconfig/console</filename> file should contain lines
|
<para>The <filename>/etc/sysconfig/console</filename> file should contain lines
|
||||||
of the form: VARIABLE="value". The following variables are recognized:</para>
|
of the form: <envar>VARIABLE=value</envar>. The following variables are recognized:</para>
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
@ -354,7 +356,7 @@ EOF</userinput></screen>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>This variable specifies the log level for kernel messages sent
|
<para>This variable specifies the log level for kernel messages sent
|
||||||
to the console as set by <command>dmesg -n</command>. Valid levels are
|
to the console as set by <command>dmesg -n</command>. Valid levels are
|
||||||
from "1" (no messages) to "8". The default level is "7".</para>
|
from <literal>1</literal> (no messages) to <literal>8</literal>. The default level is <literal>7</literal>, which is quite verbose.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -363,7 +365,7 @@ EOF</userinput></screen>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>This variable specifies the arguments for the
|
<para>This variable specifies the arguments for the
|
||||||
<command>loadkeys</command> program, typically, the name of the keymap
|
<command>loadkeys</command> program, typically, the name of the keymap
|
||||||
to load, e.g., <quote>it</quote>. If this variable is not set, the
|
to load, e.g., <literal>it</literal>. If this variable is not set, the
|
||||||
bootscript will not run the <command>loadkeys</command> program,
|
bootscript will not run the <command>loadkeys</command> program,
|
||||||
and the default kernel keymap will be used. Note that a few keymaps
|
and the default kernel keymap will be used. Note that a few keymaps
|
||||||
have multiple versions with the same name (cz and its variants in
|
have multiple versions with the same name (cz and its variants in
|
||||||
@ -382,7 +384,7 @@ EOF</userinput></screen>
|
|||||||
<command>loadkeys</command> program. This is useful if the stock keymap
|
<command>loadkeys</command> program. This is useful if the stock keymap
|
||||||
is not completely satisfactory and a small adjustment has to be made. E.g.,
|
is not completely satisfactory and a small adjustment has to be made. E.g.,
|
||||||
to include the Euro sign into a keymap that normally doesn't have it,
|
to include the Euro sign into a keymap that normally doesn't have it,
|
||||||
set this variable to <quote>euro2</quote>.</para>
|
set this variable to <literal>euro2</literal>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -391,12 +393,12 @@ EOF</userinput></screen>
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>This variable specifies the arguments for the
|
<para>This variable specifies the arguments for the
|
||||||
<command>setfont</command> program. Typically, this includes the font
|
<command>setfont</command> program. Typically, this includes the font
|
||||||
name, <quote>-m</quote>, and the name of the application character
|
name, <literal>-m</literal>, and the name of the application character
|
||||||
map to load. E.g., in order to load the <quote>lat1-16</quote> font
|
map to load. E.g., in order to load the <quote>lat1-16</quote> font
|
||||||
together with the <quote>8859-1</quote> application character map
|
together with the <quote>8859-1</quote> application character map
|
||||||
(appropriate in the USA),
|
(appropriate in the USA),
|
||||||
<!-- because of the copyright sign -->
|
<!-- because of the copyright sign -->
|
||||||
set this variable to <quote>lat1-16 -m 8859-1</quote>.
|
set this variable to <literal>lat1-16 -m 8859-1</literal>.
|
||||||
In UTF-8 mode, the kernel uses the application character map to
|
In UTF-8 mode, the kernel uses the application character map to
|
||||||
convert 8-bit key codes to UTF-8. Therefore
|
convert 8-bit key codes to UTF-8. Therefore
|
||||||
the argument of the "-m" parameter should be set to the encoding of the
|
the argument of the "-m" parameter should be set to the encoding of the
|
||||||
@ -408,8 +410,8 @@ EOF</userinput></screen>
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>UNICODE</term>
|
<term>UNICODE</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or
|
<para>Set this variable to <literal>1</literal>, <literal>yes</literal>, or
|
||||||
<quote>true</quote> in order to put the
|
<literal>true</literal> in order to put the
|
||||||
console into UTF-8 mode. This is useful in UTF-8 based locales and
|
console into UTF-8 mode. This is useful in UTF-8 based locales and
|
||||||
harmful otherwise.</para>
|
harmful otherwise.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -430,6 +432,40 @@ EOF</userinput></screen>
|
|||||||
<para>Some examples:</para>
|
<para>Some examples:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
We'll use <literal>C.UTF-8</literal> as the locale for interactive
|
||||||
|
sessions in the Linux console in <xref role=','
|
||||||
|
linkend='ch-config-locale'/> so we should set
|
||||||
|
<literal>UNICODE</literal> to <literal>1</literal>. And the console
|
||||||
|
fonts shipped by the <application>Kbd</application> package
|
||||||
|
containing the glyphs for all characters from the program messages
|
||||||
|
in the <literal>C.UTF-8</literal> locale are
|
||||||
|
<filename>LatArCyrHeb*.psfu.gz</filename>,
|
||||||
|
<filename>LatGrkCyr*.psfu.gz</filename>,
|
||||||
|
<filename>Lat2-Terminus16.psfu.gz</filename>, and
|
||||||
|
<filename>pancyrillic.f16.psfu.gz</filename> in
|
||||||
|
<filename class='directory'>/usr/share/consolefonts</filename> (the
|
||||||
|
other shipped console fonts lack glyphs of some characters like the
|
||||||
|
Unicode left/right quotation marks and the Unicode English dash).
|
||||||
|
So set one of them, for example
|
||||||
|
<filename>Lat2-Terminus16.psfu.gz</filename> as the default console
|
||||||
|
font:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<!-- We are using 'nodump' for the generic setting, but not for an
|
||||||
|
example (see below). This is deliberate to keep the
|
||||||
|
compatibility with jhalfs. -->
|
||||||
|
<screen role='nodump'><userinput>cat > /etc/sysconfig/console << "EOF"
|
||||||
|
<literal># Begin /etc/sysconfig/console
|
||||||
|
|
||||||
|
UNICODE="1"
|
||||||
|
FONT="Lat2-Terminus16"
|
||||||
|
|
||||||
|
# End /etc/sysconfig/console</literal>
|
||||||
|
EOF</userinput></screen>
|
||||||
|
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>For a non-Unicode setup, only the KEYMAP and FONT variables are
|
<para>For a non-Unicode setup, only the KEYMAP and FONT variables are
|
||||||
@ -524,7 +560,7 @@ EOF</userinput></screen>
|
|||||||
languages, because there accents are added to unaccented ASCII
|
languages, because there accents are added to unaccented ASCII
|
||||||
characters, or two ASCII characters are composed together. However, in
|
characters, or two ASCII characters are composed together. However, in
|
||||||
UTF-8 mode it is a problem; e.g., for the Greek language, where one
|
UTF-8 mode it is a problem; e.g., for the Greek language, where one
|
||||||
sometimes needs to put an accent on the letter <quote>alpha</quote>.
|
sometimes needs to put an accent on the letter α.
|
||||||
The solution is either to avoid the use of UTF-8, or to install the
|
The solution is either to avoid the use of UTF-8, or to install the
|
||||||
X window system, which doesn't have this limitation, in its input
|
X window system, which doesn't have this limitation, in its input
|
||||||
handling.</para>
|
handling.</para>
|
||||||
|
@ -56,7 +56,7 @@ EOF</userinput></screen>
|
|||||||
class="partition">sda2</filename>, <filename
|
class="partition">sda2</filename>, <filename
|
||||||
class="partition">sda5</filename>, and <systemitem
|
class="partition">sda5</filename>, and <systemitem
|
||||||
class="filesystem">ext4</systemitem>. For details on the six
|
class="filesystem">ext4</systemitem>. For details on the six
|
||||||
fields in this file, see <filename>fstab(5)</filename>.</para>
|
fields in this file, see <ulink role='man' url='&man;fstab.5'>fstab(5)</ulink>.</para>
|
||||||
|
|
||||||
<para>Filesystems with MS-DOS or Windows origin (i.e. vfat, ntfs, smbfs,
|
<para>Filesystems with MS-DOS or Windows origin (i.e. vfat, ntfs, smbfs,
|
||||||
cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII
|
cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII
|
||||||
|
@ -189,17 +189,6 @@ umount /sys/firmware/efi/efivars</userinput></screen>
|
|||||||
</para>
|
</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<!-- This does not seem to be true any more
|
|
||||||
<note><para><application>grub-install</application> is a script and calls another
|
|
||||||
program, grub-probe, that may fail with a message "cannot stat `/dev/root'".
|
|
||||||
If so, create a temporary symbolic link from your root partition to /dev/root:</para>
|
|
||||||
|
|
||||||
<screen role="nodump"><userinput>ln -sv /dev/sda2 /dev/root</userinput></screen>
|
|
||||||
|
|
||||||
<para>The symbolic link will only be present until the system is rebooted.
|
|
||||||
The link is only needed for the installation procedure.
|
|
||||||
</para></note>
|
|
||||||
-->
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2 id="grub-cfg">
|
<sect2 id="grub-cfg">
|
||||||
|
@ -304,7 +304,8 @@
|
|||||||
located in <xref linkend="ch-config-udev"/> and in the kernel
|
located in <xref linkend="ch-config-udev"/> and in the kernel
|
||||||
documentation in the <filename
|
documentation in the <filename
|
||||||
class="directory">linux-&linux-version;/Documentation</filename> directory.
|
class="directory">linux-&linux-version;/Documentation</filename> directory.
|
||||||
Also, <filename>modprobe.d(5)</filename> may be of interest.</para>
|
Also, <ulink role='man' url='&man;modprobe.d.5'>modprobe.d(5)</ulink>
|
||||||
|
may be of interest.</para>
|
||||||
|
|
||||||
<para>Unless module support has been disabled in the kernel configuration,
|
<para>Unless module support has been disabled in the kernel configuration,
|
||||||
install the modules with:</para>
|
install the modules with:</para>
|
||||||
|
@ -123,6 +123,7 @@
|
|||||||
<!ENTITY github "https://github.com">
|
<!ENTITY github "https://github.com">
|
||||||
<!ENTITY pypi-home "https://pypi.org/project">
|
<!ENTITY pypi-home "https://pypi.org/project">
|
||||||
<!ENTITY pypi-src "https://pypi.org/packages/source">
|
<!ENTITY pypi-src "https://pypi.org/packages/source">
|
||||||
|
<!ENTITY man "https://man.archlinux.org/man/">
|
||||||
|
|
||||||
<!ENTITY root "<systemitem class='username'>root</systemitem>">
|
<!ENTITY root "<systemitem class='username'>root</systemitem>">
|
||||||
<!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>">
|
<!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>">
|
||||||
|
46
packages.ent
46
packages.ent
@ -13,10 +13,10 @@
|
|||||||
*-knl-* Package info for Kernel stuff
|
*-knl-* Package info for Kernel stuff
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!ENTITY acl-version "2.3.1">
|
<!ENTITY acl-version "2.3.2">
|
||||||
<!ENTITY acl-size "348 KB">
|
<!ENTITY acl-size "363 KB">
|
||||||
<!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz">
|
<!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz">
|
||||||
<!ENTITY acl-md5 "95ce715fe09acca7c12d3306d0f076b2">
|
<!ENTITY acl-md5 "590765dee95907dbc3c856f7255bd669">
|
||||||
<!ENTITY acl-home "&savannah-nongnu;/projects/acl">
|
<!ENTITY acl-home "&savannah-nongnu;/projects/acl">
|
||||||
<!ENTITY acl-fin-du "6.1 MB">
|
<!ENTITY acl-fin-du "6.1 MB">
|
||||||
<!ENTITY acl-fin-sbu "less than 0.1 SBU">
|
<!ENTITY acl-fin-sbu "less than 0.1 SBU">
|
||||||
@ -65,10 +65,10 @@
|
|||||||
<!ENTITY bc-fin-du "7.7 MB">
|
<!ENTITY bc-fin-du "7.7 MB">
|
||||||
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY binutils-version "2.41">
|
<!ENTITY binutils-version "2.42">
|
||||||
<!ENTITY binutils-size "26,139 KB">
|
<!ENTITY binutils-size "26,922 KB">
|
||||||
<!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
|
<!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
|
||||||
<!ENTITY binutils-md5 "256d7e0ad998e423030c84483a7c1e30">
|
<!ENTITY binutils-md5 "a075178a9646551379bfb64040487715">
|
||||||
<!ENTITY binutils-home "&gnu-software;binutils/">
|
<!ENTITY binutils-home "&gnu-software;binutils/">
|
||||||
<!ENTITY binutils-tmpp1-du "647 MB">
|
<!ENTITY binutils-tmpp1-du "647 MB">
|
||||||
<!ENTITY binutils-tmpp1-sbu "1 SBU">
|
<!ENTITY binutils-tmpp1-sbu "1 SBU">
|
||||||
@ -317,10 +317,10 @@
|
|||||||
<!ENTITY gzip-fin-du "21 MB">
|
<!ENTITY gzip-fin-du "21 MB">
|
||||||
<!ENTITY gzip-fin-sbu "0.3 SBU">
|
<!ENTITY gzip-fin-sbu "0.3 SBU">
|
||||||
|
|
||||||
<!ENTITY iana-etc-version "20240117">
|
<!ENTITY iana-etc-version "20240125">
|
||||||
<!ENTITY iana-etc-size "596 KB">
|
<!ENTITY iana-etc-size "589 KB">
|
||||||
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
|
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
|
||||||
<!ENTITY iana-etc-md5 "215feb4b55043a6c18e84a5ed58b705f">
|
<!ENTITY iana-etc-md5 "aed66d04de615d76c70890233081e584">
|
||||||
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
|
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
|
||||||
<!ENTITY iana-etc-fin-du "4.8 MB">
|
<!ENTITY iana-etc-fin-du "4.8 MB">
|
||||||
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
|
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
|
||||||
@ -353,7 +353,7 @@
|
|||||||
<!ENTITY jinja2-size "264 KB">
|
<!ENTITY jinja2-size "264 KB">
|
||||||
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">
|
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">
|
||||||
<!ENTITY jinja2-md5 "caf5418c851eac59e70a78d9730d4cea">
|
<!ENTITY jinja2-md5 "caf5418c851eac59e70a78d9730d4cea">
|
||||||
<!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.0.x/">
|
<!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.1.x/">
|
||||||
<!ENTITY jinja2-fin-du "3.4 MB">
|
<!ENTITY jinja2-fin-du "3.4 MB">
|
||||||
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
|
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
|
||||||
|
|
||||||
@ -431,12 +431,12 @@
|
|||||||
|
|
||||||
<!ENTITY linux-major-version "6">
|
<!ENTITY linux-major-version "6">
|
||||||
<!ENTITY linux-minor-version "7">
|
<!ENTITY linux-minor-version "7">
|
||||||
<!ENTITY linux-patch-version "1">
|
<!ENTITY linux-patch-version "2">
|
||||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||||
<!ENTITY linux-size "138,096 KB">
|
<!ENTITY linux-size "138,085 KB">
|
||||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||||
<!ENTITY linux-md5 "d8a7394e0e349dd373e9722e141c8b61">
|
<!ENTITY linux-md5 "62b0a6c979a54569295d34ed57f47875">
|
||||||
<!ENTITY linux-home "https://www.kernel.org/">
|
<!ENTITY linux-home "https://www.kernel.org/">
|
||||||
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
|
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
|
||||||
allnoconfig + some configs we recommend for the users, rounded down to
|
allnoconfig + some configs we recommend for the users, rounded down to
|
||||||
@ -539,10 +539,10 @@
|
|||||||
<!ENTITY ninja-fin-du "75 MB">
|
<!ENTITY ninja-fin-du "75 MB">
|
||||||
<!ENTITY ninja-fin-sbu "0.3 SBU">
|
<!ENTITY ninja-fin-sbu "0.3 SBU">
|
||||||
|
|
||||||
<!ENTITY openssl-version "3.2.0">
|
<!ENTITY openssl-version "3.2.1">
|
||||||
<!ENTITY openssl-size "17,284 KB">
|
<!ENTITY openssl-size "17,318 KB">
|
||||||
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
|
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
|
||||||
<!ENTITY openssl-md5 "7903549a14abebc5c323ce4e85f2cbb2">
|
<!ENTITY openssl-md5 "c239213887804ba00654884918b37441">
|
||||||
<!ENTITY openssl-home "https://www.openssl.org/">
|
<!ENTITY openssl-home "https://www.openssl.org/">
|
||||||
<!ENTITY openssl-fin-du "587 MB">
|
<!ENTITY openssl-fin-du "587 MB">
|
||||||
<!ENTITY openssl-fin-sbu "3.0 SBU">
|
<!ENTITY openssl-fin-sbu "3.0 SBU">
|
||||||
@ -765,24 +765,24 @@
|
|||||||
<!ENTITY xml-parser-fin-du "2.3 MB">
|
<!ENTITY xml-parser-fin-du "2.3 MB">
|
||||||
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
|
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY xz-version "5.4.5">
|
<!ENTITY xz-version "5.4.6">
|
||||||
<!ENTITY xz-size "1,642 KB">
|
<!ENTITY xz-size "1,645 KB">
|
||||||
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
|
<!ENTITY xz-url "https://github.com/tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
|
||||||
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
|
<!ENTITY xz-md5 "7ade7bd1181a731328f875bec62a9377">
|
||||||
<!ENTITY xz-home "https://tukaani.org/xz">
|
<!ENTITY xz-home "https://tukaani.org/xz">
|
||||||
<!ENTITY xz-tmp-du "22 MB">
|
<!ENTITY xz-tmp-du "22 MB">
|
||||||
<!ENTITY xz-tmp-sbu "0.1 SBU">
|
<!ENTITY xz-tmp-sbu "0.1 SBU">
|
||||||
<!ENTITY xz-fin-du "24 MB">
|
<!ENTITY xz-fin-du "24 MB">
|
||||||
<!ENTITY xz-fin-sbu "0.1 SBU">
|
<!ENTITY xz-fin-sbu "0.1 SBU">
|
||||||
|
|
||||||
<!ENTITY zlib-version "1.3">
|
<!ENTITY zlib-version "1.3.1">
|
||||||
<!ENTITY zlib-size "1,461 KB">
|
<!ENTITY zlib-size "1,478 KB">
|
||||||
<!-- DO NOT remove "fossils"!
|
<!-- DO NOT remove "fossils"!
|
||||||
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
|
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
|
||||||
once a newer version is released EVEN IF there is no security fixes.
|
once a newer version is released EVEN IF there is no security fixes.
|
||||||
Unfortunately there is no .xz files in fossils directory. -->
|
Unfortunately there is no .xz files in fossils directory. -->
|
||||||
<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
|
<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
|
||||||
<!ENTITY zlib-md5 "60373b133d630f74f4a1f94c1185a53f">
|
<!ENTITY zlib-md5 "9855b6d802d7fe5b7bd5b196a2271655">
|
||||||
<!ENTITY zlib-home "https://zlib.net/">
|
<!ENTITY zlib-home "https://zlib.net/">
|
||||||
<!ENTITY zlib-fin-du "6.2 MB">
|
<!ENTITY zlib-fin-du "6.2 MB">
|
||||||
<!ENTITY zlib-fin-sbu "less than 0.1 SBU">
|
<!ENTITY zlib-fin-sbu "less than 0.1 SBU">
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
<variablelist>
|
<variablelist>
|
||||||
<varlistentry><term>The build</term><listitem>
|
<varlistentry><term>The build</term><listitem>
|
||||||
<para>is the machine where we build programs. Note that this machine
|
<para>is the machine where we build programs. Note that this machine
|
||||||
is also referred to as the <quote>host</quote>.</para></listitem>
|
is also referred to as the <quote>host.</quote></para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry><term>The host</term><listitem>
|
<varlistentry><term>The host</term><listitem>
|
||||||
|
16
patches.ent
16
patches.ent
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
<!-- Start of Common Patches -->
|
<!-- Start of Common Patches -->
|
||||||
|
|
||||||
|
<!ENTITY bash-upstream-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
|
||||||
|
<!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
|
||||||
|
<!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
|
||||||
|
|
||||||
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
|
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
|
||||||
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
|
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
|
||||||
<!ENTITY bzip2-docs-patch-size "1.6 KB">
|
<!ENTITY bzip2-docs-patch-size "1.6 KB">
|
||||||
@ -14,9 +18,9 @@
|
|||||||
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
|
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
|
||||||
<!ENTITY glibc-fhs-patch-size "2.8 KB">
|
<!ENTITY glibc-fhs-patch-size "2.8 KB">
|
||||||
|
|
||||||
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch">
|
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-4.patch">
|
||||||
<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2">
|
<!ENTITY glibc-upstream-fixes-patch-md5 "66e843b00688c641c9bdda684db45b43">
|
||||||
<!ENTITY glibc-upstream-fixes-patch-size "28 KB">
|
<!ENTITY glibc-upstream-fixes-patch-size "36 KB">
|
||||||
|
|
||||||
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
|
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
|
||||||
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
|
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
|
||||||
@ -26,9 +30,9 @@
|
|||||||
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363">
|
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363">
|
||||||
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB">
|
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB">
|
||||||
|
|
||||||
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-2.patch">
|
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
|
||||||
<!ENTITY readline-fixes-patch-md5 "d2477ebe908cc99763d90dde7fd9549a">
|
<!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
|
||||||
<!ENTITY readline-fixes-patch-size "5.7 KB">
|
<!ENTITY readline-fixes-patch-size "13 KB">
|
||||||
|
|
||||||
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
|
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
|
||||||
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
|
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>While it is possible to create a complete system that will pass the LSB
|
<para>While it is possible to create a complete system that will pass the LSB
|
||||||
certification tests "from scratch", this can't be done without many additional packages
|
certification tests <quote>from scratch,</quote> this can't be done without many additional packages
|
||||||
that are beyond the scope of the LFS book. Installation instructions for these
|
that are beyond the scope of the LFS book. Installation instructions for these
|
||||||
additional packages can be found in BLFS. </para>
|
additional packages can be found in BLFS. </para>
|
||||||
|
|
||||||
|
@ -74,22 +74,27 @@ EOF</userinput></screen>
|
|||||||
|
|
||||||
<para>This format is used to encapsulate text that is optional.</para>
|
<para>This format is used to encapsulate text that is optional.</para>
|
||||||
|
|
||||||
<para><filename>passwd(5)</filename></para>
|
<para><ulink role='man' url='&man;passwd.5'>passwd(5)</ulink></para>
|
||||||
|
|
||||||
<para>This format is used to refer to a specific manual (man) page. The number inside parentheses
|
<para>This format is used to refer to a specific manual (man) page. The number inside parentheses
|
||||||
indicates a specific section inside the manuals. For example,
|
indicates a specific section inside the manuals. For example,
|
||||||
<command>passwd</command> has two man pages. Per LFS installation instructions,
|
<command>passwd</command> has two man pages. Per LFS installation instructions,
|
||||||
those two man pages will be located at
|
those two man pages will be located at
|
||||||
<filename>/usr/share/man/man1/passwd.1</filename> and
|
<filename>/usr/share/man/man1/passwd.1</filename> and
|
||||||
<filename>/usr/share/man/man5/passwd.5</filename>. When the book uses <filename>passwd(5)</filename> it is
|
<filename>/usr/share/man/man5/passwd.5</filename>. When the book uses
|
||||||
|
<ulink role='man' url='&man;/passwd.5'>passwd(5)</ulink> it is
|
||||||
specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>.
|
specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>.
|
||||||
<command>man passwd</command> will print the first man page it finds that
|
<command>man passwd</command> will print the first man page it finds that
|
||||||
matches <quote>passwd</quote>, which will be
|
matches <quote>passwd,</quote> which will be
|
||||||
<filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will
|
<filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will
|
||||||
need to run <command>man 5 passwd</command> in order to read the page
|
need to run <command>man 5 passwd</command> in order to read the page
|
||||||
being specified. Note that most man pages do not have duplicate
|
being specified. Note that most man pages do not have duplicate
|
||||||
page names in different sections. Therefore, <command>man <replaceable><program
|
page names in different sections. Therefore, <command>man <replaceable><program
|
||||||
name></replaceable></command> is generally sufficient.</para>
|
name></replaceable></command> is generally sufficient. In the LFS
|
||||||
|
book these references to man pages are also hyperlinks, so clicking on
|
||||||
|
such a reference will open the man page rendered in HTML from
|
||||||
|
<ulink url='https://man.archlinux.org/'>Arch Linux manual
|
||||||
|
pages</ulink>.</para>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
xmlns:exsl="http://exslt.org/common"
|
xmlns:exsl="http://exslt.org/common"
|
||||||
extension-element-prefixes="exsl"
|
extension-element-prefixes="exsl"
|
||||||
@ -7,8 +7,7 @@
|
|||||||
<!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
|
<!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
|
||||||
|
|
||||||
<xsl:variable name="newline">
|
<xsl:variable name="newline">
|
||||||
<xsl:text>
|
<xsl:text>
</xsl:text>
|
||||||
</xsl:text>
|
|
||||||
</xsl:variable>
|
</xsl:variable>
|
||||||
|
|
||||||
<xsl:template match="/">
|
<xsl:template match="/">
|
||||||
|
@ -10,6 +10,14 @@
|
|||||||
<!-- Upstream XHTML presentation templates -->
|
<!-- Upstream XHTML presentation templates -->
|
||||||
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
||||||
|
|
||||||
|
<xsl:param name="chunker.output.method" select="'xml'"/>
|
||||||
|
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
|
||||||
|
<xsl:param name="chunker.output.media-type" select="'application/xhtml+xml'"/>
|
||||||
|
<xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD XHTML 1.0 Strict//EN'"/>
|
||||||
|
<xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'"/>
|
||||||
|
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
|
||||||
|
<xsl:param name="chunker.output.indent" select="'no'"/>
|
||||||
|
|
||||||
<!-- Including our customized elements templates -->
|
<!-- Including our customized elements templates -->
|
||||||
<xsl:include href="common.xsl"/>
|
<xsl:include href="common.xsl"/>
|
||||||
<xsl:include href="xhtml/lfs-admon.xsl"/>
|
<xsl:include href="xhtml/lfs-admon.xsl"/>
|
||||||
@ -31,9 +39,6 @@
|
|||||||
<xsl:param name="ulink.target" select="''"/>
|
<xsl:param name="ulink.target" select="''"/>
|
||||||
<xsl:param name="css.decoration" select="0"/>
|
<xsl:param name="css.decoration" select="0"/>
|
||||||
|
|
||||||
<!-- No XML declaration -->
|
|
||||||
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
|
|
||||||
|
|
||||||
<!-- Control generation of ToCs and LoTs -->
|
<!-- Control generation of ToCs and LoTs -->
|
||||||
<xsl:param name="generate.toc">
|
<xsl:param name="generate.toc">
|
||||||
book toc,title
|
book toc,title
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
/* Global settings */
|
/* Global settings */
|
||||||
body {
|
body {
|
||||||
font-family: verdana, tahoma, helvetica, arial, sans-serif;
|
font-family: verdana, tahoma, arial, sans-serif;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
color: #222;
|
color: #222;
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
line-height: 1.2em
|
line-height: 1.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -38,10 +38,36 @@ div.dedication {
|
|||||||
padding-left: 1em;
|
padding-left: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Section titles */
|
||||||
|
h1.sect1, h1.preface, h1.part, h1.chapter, h1.appendix, .glossary h1, .index h1
|
||||||
|
{
|
||||||
|
background: #f5f6f7;
|
||||||
|
border-bottom: .1em solid #dbddec;
|
||||||
|
margin-bottom:1em;
|
||||||
|
margin-top: 0;
|
||||||
|
padding: .4em;
|
||||||
|
}
|
||||||
|
|
||||||
/* Sections */
|
/* Scrolling parts
|
||||||
div.sect1, div.appendix {
|
The header is taller for sect1 and chapter pages than on the
|
||||||
padding-left: .3em;
|
other pages. Since we want fixed boxes, their top has to be calculated
|
||||||
|
by trial and errors to fit below the static header box.*/
|
||||||
|
|
||||||
|
div.sect1, div.chapter, div.appendix, div.wrap {
|
||||||
|
top: 11.55em;
|
||||||
|
}
|
||||||
|
div.preface, div.part, .index div.index {
|
||||||
|
top: 10.15em;
|
||||||
|
}
|
||||||
|
div.sect1, div.appendix, div.preface, div.part, div.chapter, div.wrap, .index div.index {
|
||||||
|
/* padding-left: .3em;*/
|
||||||
|
overflow:auto;
|
||||||
|
height: auto;
|
||||||
|
position: fixed;
|
||||||
|
left:1em;
|
||||||
|
right:1em;
|
||||||
|
bottom: 1em;
|
||||||
|
border-bottom: 1em solid #dbddec;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.important ul {
|
div.important ul {
|
||||||
@ -63,8 +89,12 @@ div.important ul li p {
|
|||||||
background: #f5f6f7;
|
background: #f5f6f7;
|
||||||
border-bottom: 0.2em solid #dbddec;
|
border-bottom: 0.2em solid #dbddec;
|
||||||
padding-top: .1em;
|
padding-top: .1em;
|
||||||
margin-top: 0;
|
/* margin-top: 0;*/
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
.lfs .package p:first-child {
|
||||||
|
margin-top: 0;
|
||||||
|
}*/
|
||||||
|
|
||||||
.lfs .configuration {
|
.lfs .configuration {
|
||||||
background: #fefefe;
|
background: #fefefe;
|
||||||
@ -74,11 +104,11 @@ div.important ul li p {
|
|||||||
.lfs .content {
|
.lfs .content {
|
||||||
background: #f5f6f7;
|
background: #f5f6f7;
|
||||||
border-top: 0.2em solid #dbddec;
|
border-top: 0.2em solid #dbddec;
|
||||||
|
border-bottom: 0.2em solid #dbddec;
|
||||||
padding-bottom: .1em;
|
padding-bottom: .1em;
|
||||||
margin-bottom: 0;
|
margin-bottom: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Headers */
|
/* Headers */
|
||||||
h1, h2, h3, h4, h5, h6, b, .strong {
|
h1, h2, h3, h4, h5, h6, b, .strong {
|
||||||
color: #000;
|
color: #000;
|
||||||
@ -96,18 +126,6 @@ h1 {
|
|||||||
padding: 0.4em;
|
padding: 0.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.preface h1, .part h1, .chapter h1, .appendix h1, .index h1, .sect1 h1, .glossary h1 {
|
|
||||||
background: #f5f6f7;
|
|
||||||
border-bottom: .1em solid #dbddec;
|
|
||||||
margin-bottom: 1em;
|
|
||||||
margin-top: 0;
|
|
||||||
padding: .4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sect1 h1, .appendix h1 {
|
|
||||||
margin-left: -.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.wrap h1 {
|
.wrap h1 {
|
||||||
background: #f5f6f7;
|
background: #f5f6f7;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -157,13 +175,19 @@ div.navheader, div.navfooter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.navheader {
|
div.navheader {
|
||||||
border-bottom: 1px solid #dbddec;
|
border-bottom: .1em solid #dbddec;
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* no need for a footer now that the header is always visible */
|
||||||
div.navfooter {
|
div.navfooter {
|
||||||
border-top: 1px solid #dbddec;
|
display:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Except for the first page (TOC), where the bottom is the only
|
||||||
|
place where navigation is displayed. */
|
||||||
|
|
||||||
|
div.book + div.navfooter {
|
||||||
|
display:block
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader h4 {
|
div.navheader h4 {
|
||||||
@ -179,7 +203,7 @@ div.navheader h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul, div.navfooter ul {
|
div.navheader ul, div.navfooter ul {
|
||||||
padding: .2em .5em .5em 0;
|
padding: .2em .5em .5em .5em; /*top right bottom left*/
|
||||||
margin: .5em 0;
|
margin: .5em 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
background: #dbddec;
|
background: #dbddec;
|
||||||
@ -196,29 +220,29 @@ div.navheader ul li.prev, div.navfooter ul li.prev {
|
|||||||
left: 0;
|
left: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
padding: 0.2em 1em;
|
padding: 0.2em 1em;
|
||||||
margin-left: 6px;
|
margin-left: .4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.next, div.navfooter ul li.next {
|
div.navheader ul li.next, div.navfooter ul li.next {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
right: 5px;
|
right: 0;
|
||||||
padding: 0.2em 0.5em;
|
padding: 0.2em 1em;
|
||||||
margin-right: 7px;
|
margin-right: .4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.prev p, div.navfooter ul li.prev p,
|
div.navheader ul li.prev p, div.navfooter ul li.prev p,
|
||||||
div.navheader ul li.next p, div.navfooter ul li.next p {
|
div.navheader ul li.next p, div.navfooter ul li.next p {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 1px 0px;
|
margin: .1em 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.navheader ul li.home, div.navheader ul li.up,
|
div.navheader ul li.home, div.navheader ul li.up,
|
||||||
div.navfooter ul li.home, div.navfooter ul li.up {
|
div.navfooter ul li.home, div.navfooter ul li.up {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0px auto;
|
margin: 0 auto;
|
||||||
display: block;
|
display: block;
|
||||||
color: #dbddec;
|
color: #dbddec;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,13 @@
|
|||||||
<!-- Upstream XHTML templates -->
|
<!-- Upstream XHTML templates -->
|
||||||
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
|
||||||
|
|
||||||
|
<xsl:output method="xml"
|
||||||
|
encoding="UTF-8"
|
||||||
|
media-type="application/xhtml+xml"
|
||||||
|
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
|
||||||
|
omit-xml-declaration="yes"
|
||||||
|
indent="no" />
|
||||||
<!-- Include our customized templates -->
|
<!-- Include our customized templates -->
|
||||||
<xsl:include href="common.xsl"/>
|
<xsl:include href="common.xsl"/>
|
||||||
<xsl:include href="xhtml/lfs-index.xsl"/>
|
<xsl:include href="xhtml/lfs-index.xsl"/>
|
||||||
|
@ -53,8 +53,8 @@
|
|||||||
We have expanded the support to several inline tags.
|
We have expanded the support to several inline tags.
|
||||||
See pdf/lfs-mixed.xsl.
|
See pdf/lfs-mixed.xsl.
|
||||||
Note: the argument in select= is a zero-width space
|
Note: the argument in select= is a zero-width space
|
||||||
(unicode 200b, encoded in utf-8)-->
|
(unicode 200b)-->
|
||||||
<xsl:param name="ulink.hyphenate" select="''"/>
|
<xsl:param name="ulink.hyphenate" select="'​'"/>
|
||||||
|
|
||||||
<!-- List of characters to allow ulink URLs, and supported inline tags,
|
<!-- List of characters to allow ulink URLs, and supported inline tags,
|
||||||
to be automatically hyphenated on.
|
to be automatically hyphenated on.
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
<!-- Generate DocBook instance with correct DOCTYPE -->
|
<!-- Generate DocBook instance with correct DOCTYPE -->
|
||||||
<xsl:output method="xml"
|
<xsl:output method="xml"
|
||||||
|
encoding="UTF-8"
|
||||||
doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
|
doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
|
||||||
doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>
|
doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>
|
||||||
|
|
||||||
|
@ -11,10 +11,14 @@
|
|||||||
<xsl:param name="chunk.first.sections" select="1"/>
|
<xsl:param name="chunk.first.sections" select="1"/>
|
||||||
|
|
||||||
<!-- preface:
|
<!-- preface:
|
||||||
Output non sect1 child elements before the TOC -->
|
Output non sect1 child elements before the TOC
|
||||||
|
Output title outside of the <div> because we want to be able to
|
||||||
|
use it at a fixed position -->
|
||||||
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
|
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
|
||||||
<xsl:template match="preface">
|
<xsl:template match="preface">
|
||||||
<xsl:call-template name="id.warning"/>
|
<xsl:call-template name="id.warning"/>
|
||||||
|
<xsl:call-template name="preface.titlepage"/>
|
||||||
|
<xsl:call-template name="component.separator"/>
|
||||||
<div>
|
<div>
|
||||||
<xsl:apply-templates select="." mode="class.attribute"/>
|
<xsl:apply-templates select="." mode="class.attribute"/>
|
||||||
<xsl:call-template name="dir">
|
<xsl:call-template name="dir">
|
||||||
@ -26,8 +30,6 @@
|
|||||||
<xsl:call-template name="object.id"/>
|
<xsl:call-template name="object.id"/>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<xsl:call-template name="component.separator"/>
|
|
||||||
<xsl:call-template name="preface.titlepage"/>
|
|
||||||
<xsl:apply-templates/>
|
<xsl:apply-templates/>
|
||||||
<xsl:variable name="toc.params">
|
<xsl:variable name="toc.params">
|
||||||
<xsl:call-template name="find.path.params">
|
<xsl:call-template name="find.path.params">
|
||||||
@ -44,11 +46,42 @@
|
|||||||
</div>
|
</div>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- part:
|
||||||
|
Output non sect1 child elements before the TOC
|
||||||
|
Output title outside of the <div> because we want to be able to
|
||||||
|
use it at a fixed position -->
|
||||||
|
<!-- The original template is in {docbook-xsl}/xhtml/divisions.xsl -->
|
||||||
|
<xsl:template match="part">
|
||||||
|
<xsl:call-template name="id.warning"/>
|
||||||
|
|
||||||
|
<xsl:call-template name="part.titlepage"/>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<xsl:apply-templates select="." mode="common.html.attributes"/>
|
||||||
|
<xsl:call-template name="id.attribute">
|
||||||
|
<xsl:with-param name="conditional" select="0"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
<xsl:variable name="toc.params">
|
||||||
|
<xsl:call-template name="find.path.params">
|
||||||
|
<xsl:with-param name="table" select="normalize-space($generate.toc)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
<xsl:if test="not(partintro) and contains($toc.params, 'toc')">
|
||||||
|
<xsl:call-template name="division.toc"/>
|
||||||
|
</xsl:if>
|
||||||
|
</div>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<!-- chapter:
|
<!-- chapter:
|
||||||
Output non sect1 child elements before the TOC -->
|
Output non sect1 child elements before the TOC
|
||||||
|
Output title before div to be able to fix the title position -->
|
||||||
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
|
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
|
||||||
<xsl:template match="chapter">
|
<xsl:template match="chapter">
|
||||||
<xsl:call-template name="id.warning"/>
|
<xsl:call-template name="id.warning"/>
|
||||||
|
<xsl:call-template name="chapter.titlepage"/>
|
||||||
|
<xsl:call-template name="component.separator"/>
|
||||||
<div>
|
<div>
|
||||||
<xsl:apply-templates select="." mode="class.attribute"/>
|
<xsl:apply-templates select="." mode="class.attribute"/>
|
||||||
<xsl:call-template name="dir">
|
<xsl:call-template name="dir">
|
||||||
@ -60,8 +93,6 @@
|
|||||||
<xsl:call-template name="object.id"/>
|
<xsl:call-template name="object.id"/>
|
||||||
</xsl:attribute>
|
</xsl:attribute>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<xsl:call-template name="component.separator"/>
|
|
||||||
<xsl:call-template name="chapter.titlepage"/>
|
|
||||||
<xsl:apply-templates/>
|
<xsl:apply-templates/>
|
||||||
<xsl:variable name="toc.params">
|
<xsl:variable name="toc.params">
|
||||||
<xsl:call-template name="find.path.params">
|
<xsl:call-template name="find.path.params">
|
||||||
@ -78,12 +109,50 @@
|
|||||||
</div>
|
</div>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- appendix:
|
||||||
|
Output non sect1 child elements before the TOC
|
||||||
|
Output title before div to be able to fix the title position -->
|
||||||
|
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
|
||||||
|
<xsl:template match="appendix">
|
||||||
|
|
||||||
|
<xsl:call-template name="id.warning"/>
|
||||||
|
|
||||||
|
<xsl:call-template name="appendix.titlepage"/>
|
||||||
|
|
||||||
|
<xsl:element name="div" namespace="http://www.w3.org/1999/xhtml">
|
||||||
|
<xsl:call-template name="common.html.attributes">
|
||||||
|
<xsl:with-param name="inherit" select="1"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:call-template name="id.attribute">
|
||||||
|
<xsl:with-param name="conditional" select="0"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
|
<xsl:apply-templates/>
|
||||||
|
|
||||||
|
<xsl:variable name="toc.params">
|
||||||
|
<xsl:call-template name="find.path.params">
|
||||||
|
<xsl:with-param name="table" select="normalize-space($generate.toc)"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<xsl:if test="contains($toc.params, 'toc')">
|
||||||
|
<xsl:call-template name="component.toc">
|
||||||
|
<xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
</xsl:if>
|
||||||
|
|
||||||
|
</xsl:element>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
<!-- sect1:
|
<!-- sect1:
|
||||||
When there is a role attibute, use it as the class value.
|
When there is a role attibute, use it as the class value.
|
||||||
Process the SVN keywords found in sect1info as a footnote.
|
Process the SVN keywords found in sect1info as a footnote.
|
||||||
|
Output title before the containing <div> so that the title
|
||||||
|
can be at a fixed position.
|
||||||
Removed unused code. -->
|
Removed unused code. -->
|
||||||
<!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
|
<!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
|
||||||
<xsl:template match="sect1">
|
<xsl:template match="sect1">
|
||||||
|
<xsl:call-template name="sect1.titlepage"/>
|
||||||
<div>
|
<div>
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="@role">
|
<xsl:when test="@role">
|
||||||
@ -96,7 +165,6 @@
|
|||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
<xsl:call-template name="language.attribute"/>
|
<xsl:call-template name="language.attribute"/>
|
||||||
<xsl:call-template name="sect1.titlepage"/>
|
|
||||||
<xsl:apply-templates/>
|
<xsl:apply-templates/>
|
||||||
<xsl:apply-templates select="sect1info" mode="svn-keys"/>
|
<xsl:apply-templates select="sect1info" mode="svn-keys"/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,8 +31,7 @@
|
|||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
|
|
||||||
<!-- Add a newline -->
|
<!-- Add a newline -->
|
||||||
<xsl:text>
|
<xsl:text>
</xsl:text>
|
||||||
</xsl:text>
|
|
||||||
|
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
@ -28,8 +28,7 @@
|
|||||||
<xsl:value-of select="@url"/>
|
<xsl:value-of select="@url"/>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
<xsl:text>
|
<xsl:text>
</xsl:text>
|
||||||
</xsl:text>
|
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user