Merge remote-tracking branch 'origin/trunk' into xry111/loongarch

This commit is contained in:
Xi Ruoyao 2024-02-01 23:55:18 +08:00
commit 33a9421975
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
55 changed files with 565 additions and 457 deletions

View File

@ -1,7 +1,4 @@
# vim:ts=3
#BASEDIR = ~/lfs-book
#SYSDDIR = ~/lfs-systemd
#DUMPDIR = ~/lfs-commands
RENDERTMP = $(HOME)/tmp
CHUNK_QUIET = 1
ROOT_ID =
@ -24,15 +21,15 @@ ifneq ($(REV), sysv)
endif
ifeq ($(REV), sysv)
BASEDIR ?= ~/public_html/lfs-book
BASEDIR ?= $(HOME)/public_html/lfs-book
PDF_OUTPUT ?= LFS-BOOK.pdf
NOCHUNKS_OUTPUT ?= LFS-BOOK.html
DUMPDIR ?= ~/lfs-commands
DUMPDIR ?= $(HOME)/lfs-commands
else
BASEDIR ?= ~/public_html/lfs-systemd
BASEDIR ?= $(HOME)/public_html/lfs-systemd
PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf
NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html
DUMPDIR ?= ~/lfs-sysd-commands
DUMPDIR ?= $(HOME)/lfs-sysd-commands
endif
book: validate profile-html
@ -47,7 +44,8 @@ book: validate profile-html
@echo "Copying CSS code and images..."
$(Q)mkdir -p $(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)cp images/*.png $(BASEDIR)/images
@ -55,11 +53,10 @@ book: validate profile-html
@echo "Running Tidy and obfuscate.sh..."
$(Q)for filename in `find $(BASEDIR) -name "*.html"`; do \
tidy -config tidy.conf $$filename; \
true; \
/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; \
done;
done
$(Q)$(MAKE) --no-print-directory wget-list md5sums
@ -98,16 +95,16 @@ nochunks: validate profile-html
--output $(BASEDIR)/$(NOCHUNKS_OUTPUT) \
stylesheets/lfs-nochunks.xsl \
$(RENDERTMP)/lfs-html.xml
# $(RENDERTMP)/lfs-html2.xml
@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..."
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@text/html@application/xhtml+xml@g" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@../wget-list@wget-list@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -i -e "s@../md5sums@md5sums@" $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)bash obfuscate.sh $(BASEDIR)/$(NOCHUNKS_OUTPUT)
$(Q)sed -e "s|text/html|application/xhtml+xml|g" \
-e "s|../wget-list|wget-list|" \
-e "s|../md5sums|md5sums|" \
-i $(BASEDIR)/$(NOCHUNKS_OUTPUT)
@echo "Output at $(BASEDIR)/$(NOCHUNKS_OUTPUT)"
@ -126,16 +123,16 @@ validate: tmpdir version
@echo "Adjusting for revision $(REV)..."
$(Q)xsltproc --nonet \
--xinclude \
--output $(RENDERTMP)/lfs-html2.xml \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/lfs-html2.xml \
stylesheets/lfs-xsl/profile.xsl \
index.xml
@echo "Validating the book..."
$(Q)xmllint --nonet \
--noent \
--postvalid \
-o $(RENDERTMP)/lfs-full.xml \
$(Q)xmllint --nonet \
--encode UTF-8 \
--postvalid \
--output $(RENDERTMP)/lfs-full.xml \
$(RENDERTMP)/lfs-html2.xml
$(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)
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
$(Q)mkdir -p $(BASEDIR)
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--xinclude \
--output $(BASEDIR)/wget-list \
stylesheets/wget-list.xsl \
chapter03/chapter03.xml
$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
$(Q)xsltproc --nonet --xinclude \
$(Q)xsltproc --nonet \
--xinclude \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/wget-list.xml \
stylesheets/lfs-xsl/profile.xsl \
chapter03/chapter03.xml
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--output $(BASEDIR)/wget-list-$(REV) \
stylesheets/wget-list.xsl \
$(RENDERTMP)/wget-list.xml
@ -178,13 +178,14 @@ $(BASEDIR)/md5sums: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
$(Q)mkdir -p $(BASEDIR)
$(Q)xsltproc --nonet --xinclude \
$(Q)xsltproc --nonet \
--xinclude \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/md5sum.xml \
stylesheets/lfs-xsl/profile.xsl \
chapter03/chapter03.xml
$(Q)xsltproc --xinclude --nonet \
$(Q)xsltproc --nonet \
--output $(BASEDIR)/md5sums \
stylesheets/md5sum.xsl \
$(RENDERTMP)/md5sum.xml

View File

@ -1047,7 +1047,7 @@
<segmentedlist id="gettext-optdeps">
<segtitle>&external;</segtitle>
<seglistitem>
<seg>None</seg>
<seg><ulink url='&blfs-book;general/libxml2.html'>libxml2</ulink></seg>
</seglistitem>
</segmentedlist>

View File

@ -40,6 +40,48 @@
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>
<para>2024-01-21</para>
<itemizedlist>

View File

@ -26,9 +26,9 @@
<!--<listitem>
<para>None</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Acl-&acl-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Attr-&attr-version;</para>
</listitem>
@ -44,9 +44,9 @@
<listitem>
<para>Bc-&bc-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Binutils-&binutils-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Bison-&bison-version;</para>
</listitem>-->
@ -290,6 +290,10 @@
<title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>&bash-upstream-fixes-patch;</para>
</listitem>
<listitem>
<para>setuptools-&setuptools-version;</para>
</listitem>

View File

@ -40,7 +40,8 @@
<filename class="devicefile">/dev/sda</filename> for the primary
disk drive. Create a Linux native partition and a
<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>
<note><para>For experienced users, other partitioning schemes are possible.

View File

@ -29,9 +29,10 @@
minimum versions indicated. This should not be an issue for most
modern Linux distributions. Also note that many distributions will
place software headers into separate packages, often in the form of
<quote>&lt;package-name&gt;-devel</quote> or
<quote>&lt;package-name&gt;-dev</quote>. Be sure to install those if
your distribution provides them.</para>
<literal><replaceable>&lt;package-name&gt;</replaceable>-devel</literal>
or
<literal><replaceable>&lt;package-name&gt;</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
not been tested.</para>

View File

@ -16,7 +16,7 @@
<envar>LFS</envar> environment variable described in the previous section.
</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
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>

View File

@ -69,7 +69,7 @@
<listitem>
<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
environment variable set for the &root; user.</para>
</listitem>

View File

@ -27,14 +27,14 @@
</varlistentry>
-->
<!-- <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
<varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>

View File

@ -96,6 +96,7 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs</userinput></screen>
<para>The <quote><parameter>-</parameter></quote> instructs
<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
<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>

View File

@ -79,8 +79,8 @@ EOF</userinput></screen>
<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
readable and executable by anyone (assuming default modes are used by the
<filename>open(2)</filename> system call, new files will end up with
permission mode 644 and directories with mode 755).</para>
<ulink role='man' url='&man;open.2'>open(2)</ulink> system call, new files
will end up with permission mode 644 and directories with mode 755).</para>
</listitem>
</varlistentry>

View File

@ -52,8 +52,9 @@
<para>
The above command is correct. The <command>ln</command> command has
several syntactic versions, so be sure to check
<command>info coreutils ln</command> and <filename>ln(1)</filename>
before reporting what may appear to be an error.
<command>info coreutils ln</command> and <ulink role='man'
url='&man;ln.1'>ln(1)</ulink> before reporting what may appear to be
an error.
</para>
</note>
@ -151,8 +152,8 @@ cd build</userinput></screen>
Gettext package, which the host distribution should provide.</para>
<note><para>There have been reports that this package may fail when
building as a "parallel make". If that occurs, rerun the make command
with the "-j1" option.</para></note>
building as a <quote>parallel make.</quote> If that occurs, rerun the make command
with the <option>-j1</option> option.</para></note>
<para>Compile the package:</para>

View File

@ -78,11 +78,6 @@ popd</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>
<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>

View File

@ -54,7 +54,7 @@ install -dv -m 1777 /tmp /var/tmp</userinput></screen>
<filename class="directory">/tmp</filename> and <filename
class="directory">/var/tmp</filename> directories, but cannot remove
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>
<title>FHS Compliance Note</title>

View File

@ -44,8 +44,8 @@
<title>Installation of Python</title>
<note>
<para>There are two package files whose name starts with
<quote>python</quote>. The one to extract from is
<para>There are two package files whose name starts with the
<quote>python</quote> prefix. The one to extract from is
<filename>Python-&python-version;.tar.xz</filename> (notice the
uppercase first letter).</para>
</note>
@ -83,9 +83,9 @@
<note>
<para>
Some Python 3 modules can't be built now because the dependencies
are not installed yet. The building system still attempts to build
them however, so the compilation of some files will fail and the
compiler message may seem to indicate <quote>fatal error</quote>.
are not installed yet. For the <filename>ssl</filename> module,
a message <computeroutput>Python requires a OpenSSL 1.1.1 or
newer</computeroutput> is outputted.
The message should be ignored. Just make sure the toplevel
<command>make</command> command has not failed. The optional
modules are not needed now and they will be built in

View File

@ -40,6 +40,10 @@
<sect2 role="installation">
<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>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -126,6 +126,8 @@ cd build</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>
<screen><userinput remap="install">make tooldir=/usr install</userinput></screen>

View File

@ -1261,8 +1261,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
<varlistentry id="yes">
<term><command>yes</command></term>
<listitem>
<para>Repeatedly outputs <quote>y</quote>, or a given string, until
killed</para>
<para>Repeatedly outputs <literal>y</literal> or a given string,
until killed</para>
<indexterm zone="ch-system-coreutils yes">
<primary sortas="b-yes">yes</primary>
</indexterm>

View File

@ -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>
<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>
</sect2>

View File

@ -96,8 +96,8 @@
<screen><userinput remap="test">make test</userinput></screen>
<para>If any test fails with the message
<quote><computeroutput>The system has no more ptys. Ask your system
administrator to create more</computeroutput></quote>, it indicates
<computeroutput>The system has no more ptys. Ask your system
administrator to create more</computeroutput>, it indicates
you've not mounted the
<systemitem class="filesystem">devpts</systemitem> file system
correctly. You need to exit from the chroot environment, read

View File

@ -73,7 +73,6 @@ cd build</userinput></screen>
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--with-headers=/usr/include \
--disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen>
@ -103,15 +102,10 @@ cd build</userinput></screen>
<listitem>
<para>This option increases system security by adding
extra code to check for buffer overflows, such as stack
smashing attacks.</para>
</listitem>
</varlistentry>
<!-- do we need this one? -->
<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>
smashing attacks. Note that Glibc always explicitly overrides
the default of GCC, so this option is still needed even though
we've already specified <option>--enable-default-ssp</option> for
GCC.</para>
</listitem>
</varlistentry>

View File

@ -58,7 +58,7 @@
to the <command>configure</command> command.</para>
<!-- 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. -->
</note>
@ -106,8 +106,9 @@ make html</userinput></screen>
<caution><para>The code in gmp is highly optimized for the processor where
it is built. Occasionally, the code that detects the processor misidentifies
the system capabilities and there will be errors in the tests or other
applications using the gmp libraries with the message "Illegal
instruction". In this case, gmp should be reconfigured with the option
applications using the gmp libraries with the message
<computeroutput>Illegal instruction</computeroutput>.
In this case, gmp should be reconfigured with the option
<option>--host=none-linux-gnu</option> and rebuilt.</para></caution>
<!-- Some tests PASS on a specific uarch but SKIP on other CPUs.

View File

@ -56,8 +56,9 @@
<para>Five tests are known to fail in the LFS build environment due
to a circular dependency, but these tests pass if rechecked after
automake has been installed. Additionally, with grep-3.8, two tests will
trigger a warning for non-POSIX regular expressions and fail.</para>
automake has been installed. Additionally, with grep-3.8 or newer,
two tests will trigger a warning for non-POSIX regular expressions and
fail.</para>
<para>Install the package:</para>

View File

@ -163,7 +163,7 @@ make MANSUFFIX=ssl install</userinput></screen>
is a command-line tool for using the various cryptography functions
of <application>OpenSSL</application>'s crypto library from the
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>
<indexterm zone="ch-system-openssl openssl-prog">
<primary sortas="b-openssl">openssl</primary>
@ -195,7 +195,8 @@ make MANSUFFIX=ssl install</userinput></screen>
<para>
implements the Transport Layer Security (TLS v1) protocol.
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>
<indexterm zone="ch-system-openssl libssl">
<primary sortas="c-libssl">libssl.so</primary>

View File

@ -56,13 +56,13 @@
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
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
upgraded kernel.</para>
</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
rebuild LFS. Though you <emphasis>may</emphasis> be able to rebuild
all the packages in their dependency order, we do not recommend

View File

@ -203,8 +203,8 @@ make -C man install-man</userinput></screen>
to pass either the <parameter>-g</parameter> or <parameter>-N</parameter>
parameter to <command>useradd</command>, or else change the setting of
<parameter>USERGROUPS_ENAB</parameter> in
<filename>/etc/login.defs</filename>. See <filename>useradd(8)</filename>
for more information.</para>
<filename>/etc/login.defs</filename>. See <ulink role='man'
url='&man;useradd.8'>useradd(8)</ulink> for more information.</para>
<para>Second, to change the default parameters, the file
<filename>/etc/default/useradd</filename> must be created and tailored

View File

@ -52,7 +52,7 @@
<note><para>The ELF loader's name may vary on different systems.
The construct below selects the
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>
<important>

View File

@ -578,7 +578,8 @@ su tester -c "make -k check"</userinput></screen>
<term><command>irqtop</command></term>
<listitem>
<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">
<primary sortas="b-irqtop">irqtop</primary>
</indexterm>

View File

@ -26,14 +26,13 @@
<!-- 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="usage.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
<!-- 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="consoled.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
<!-- 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="etcshells.xml"/>

View File

@ -30,7 +30,7 @@
directory for valid screen fonts.</para>
<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>
@ -74,6 +74,25 @@
</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> &gt; /etc/vconsole.conf</userinput></screen>
<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.
Whenever you want to change the following, please inform the jhalfs

View File

@ -5,18 +5,21 @@
%general-entities;
]>
<sect1 id="ch-config-locale" revision="systemd">
<sect1 id="ch-config-locale">
<?dbhtml filename="locale.html"?>
<title>Configuring the System Locale</title>
<indexterm zone="ch-config-locale">
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary>
<primary sortas="e-/etc/profile">/etc/profile</primary>
</indexterm>
<para>The <filename>/etc/locale.conf</filename> file below sets some
environment variables necessary for native language support. Setting
them properly results in:</para>
<indexterm zone="ch-config-locale" revision='systemd'>
<primary sortas="e-/etc/profile">/etc/locale.conf</primary>
</indexterm>
<para>Some environment variables are necessary for native language
support. Setting them properly results in:</para>
<itemizedlist>
<listitem>
@ -39,35 +42,37 @@
</itemizedlist>
<para>Replace <replaceable>&lt;ll&gt;</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>&lt;CC&gt;</replaceable> with the two-letter code for the appropriate
country (e.g., <quote>GB</quote>). <replaceable>&lt;charmap&gt;</replaceable> should
country (e.g., <literal>GB</literal>). <replaceable>&lt;charmap&gt;</replaceable> should
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
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>.
<para>Charmaps can have a number of aliases, e.g.,
<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
that <quote>UTF-8</quote> is written as <quote>UTF-8</quote>, not
<quote>utf8</quote>), so it is the safest in most
that <literal>UTF-8</literal> is written as <literal>UTF-8</literal>, not
<literal>utf8</literal>), so it is the safest in most
cases to choose the canonical name for a particular locale. To determine
the canonical name, run the following command, where <replaceable>&lt;locale
name&gt;</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>&lt;locale name&gt;</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>
<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
to it being added to the Bash startup files:</para>
@ -90,66 +95,115 @@ LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
Further instructions assume that there are no such error messages from
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
display any error messages) if the locale name does not meet their expectations.
In those 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/locale.conf</filename> file:</para>
<para revision='systemd'>Once the proper locale settings have been
determined, create the <filename>/etc/locale.conf</filename> file:</para>
<screen><userinput>cat &gt; /etc/locale.conf &lt;&lt; "EOF"
<screen revision='systemd'><userinput>cat &gt; /etc/locale.conf &lt;&lt; "EOF"
<literal>LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable></literal>
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 &gt; /etc/profile &lt;&lt; "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 &gt; /etc/profile &lt;&lt; "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>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</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
<command>localectl</command> for the example above, run:</para>
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>"</userinput></screen>
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable>"</userinput></screen>
<para>You can also specify other language specific environment variables such
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or
any other environment variable from <command>locale</command> output. Just
separate them with a space. An example where <envar>LANG</envar> is set as
<para revision='systemd'>You can also specify other language specific
environment variables such as <envar>LANG</envar>,
<envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or any other
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>
<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
doesn't work in the chroot environment. It can only
be used after the LFS system is booted with systemd.</para></note>
<note revision='systemd'><para>Please note that the
<command>localectl</command> command doesn't work in the chroot
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
one for United States English users) locales are different. <quote>C</quote>
<para>The <literal>C</literal> (default) and <literal>en_US</literal>
(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
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
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>). It's suggested that you use the <quote>C</quote> locale only
messages being sent (the charset in the outgoing mail is indicated as
<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>
<!--
<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>

View File

@ -62,9 +62,9 @@ EOF</userinput></screen>
<para>The values in italics must be changed in each file, to set
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
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.
Interfaces can be manually started or stopped with the
<command>ifup</command> and <command>ifdown</command> commands.</para>

View File

@ -50,9 +50,11 @@
<filename class="extension">.netdev</filename> and
<filename class="extension">.network</filename> files. For detailed
descriptions and example contents of these configuration files, consult
the <filename>systemd-link(5)</filename>,
<filename>systemd-netdev(5)</filename> and
<filename>systemd-network(5)</filename> manual pages.</para>
the <ulink role='man' url='&man;systemd-link.5'>systemd-link(5)</ulink>,
<ulink role='man' url='&man;systemd-netdev.5'>systemd-netdev(5)</ulink>,
and <ulink role='man'
url='&man;systemd-network.5'>systemd-network(5)</ulink> manual
pages.</para>
<sect3 id="systemd-network-devices">
<title>Network Device Naming</title>
@ -89,18 +91,20 @@
<itemizedlist>
<listitem>
<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>
</para>
</listitem>
<listitem>
<para>
Create a manual naming scheme, for example by naming the
interfaces something like "internet0", "dmz0", or "lan0".
To do that, create .link files in /etc/systemd/network/ that
select an explicit name or a better naming scheme for your
network interfaces. For example:
Create a manual naming scheme, for example by naming the
interfaces something like <literal>internet0</literal>,
<literal>dmz0</literal>, or <literal>lan0</literal>.
To do that, create <filename class='extension'>.link</filename>
files in /etc/systemd/network/ that select an explicit name or a
better naming scheme for your network interfaces. For example:
</para>
<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-ether0.link &lt;&lt; "EOF"
@ -113,7 +117,7 @@ Name=ether0</literal>
EOF</userinput></screen>
<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>
</listitem>
@ -357,7 +361,9 @@ EOF</userinput></screen>
<literal>localhost.localdomain</literal>, or the hostname (without a
domain) because they are handled by the
<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
the IPv6 loopback interface.</para>

View File

@ -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>&lt;ll&gt;</replaceable> below with the two-letter code
for the desired language (e.g., <quote>en</quote>) and
<replaceable>&lt;CC&gt;</replaceable> with the two-letter code for the appropriate
country (e.g., <quote>GB</quote>). <replaceable>&lt;charmap&gt;</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>&lt;locale
name&gt;</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>&lt;locale name&gt;</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=&lt;locale name&gt; locale language
LC_ALL=&lt;locale name&gt; locale charmap
LC_ALL=&lt;locale name&gt; locale int_curr_symbol
LC_ALL=&lt;locale name&gt; 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 &gt; /etc/profile &lt;&lt; "EOF"
<literal># Begin /etc/profile
export LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</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>

View File

@ -21,8 +21,9 @@
of options to control basic systemd operations. The default file has all
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.
See the <filename>systemd-system.conf(5)</filename> manual page for details
on each configuration option.</para>
See the <ulink role='man'
url='&man;systemd-system.conf.5'>systemd-system.conf(5)</ulink> manual
page for details on each configuration option.</para>
</sect2>
@ -89,8 +90,8 @@ EOF</userinput></screen>
<filename class="directory">/etc/tmpfiles.d</filename> override
files with the same name in
<filename class="directory">/usr/lib/tmpfiles.d</filename>. See
<filename>tmpfiles.d(5)</filename> manual page for file format
details.</para>
<ulink role='man' url='&man;tmpfiles.d.5'>tmpfiles.d(5)</ulink> manual
page for file format details.</para>
<para>
Note that the syntax for the
@ -135,7 +136,8 @@ Restart=always
RestartSec=30</literal>
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
<userinput>systemctl daemon-reload</userinput> and <userinput>systemctl
restart foobar</userinput> to activate the changes to a service.</para>
@ -251,10 +253,11 @@ cat &gt; /etc/systemd/coredump.conf.d/maxuse.conf &lt;&lt; EOF
MaxUse=5G</literal>
EOF</userinput></screen>
<para>See the <filename>systemd-coredump(8)</filename>,
<filename>coredumpctl(1)</filename>, and
<filename>coredump.conf.d(5)</filename> manual pages for more
information.</para>
<para>See the <ulink role='man' url='&man;systemd-coredump.8'>systemd-coredump(8)</ulink>,
<ulink role='man' url='&man;coredumpctl.1'>coredumpctl(1)</ulink>, and
<ulink role='man'
url='&man;coredump.conf.d.5'>coredump.conf.d(5)</ulink> manual pages for
more information.</para>
</sect2>
<sect2>

View File

@ -129,13 +129,13 @@
program and are usually related to the bus-specific identifiers of devices
supported by a module. For example, the <emphasis>snd-fm801</emphasis>
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
would handle the device via <systemitem
class="filesystem">sysfs</systemitem>. E.g., the
<filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
might contain the string
<quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>.
<literal>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</literal>.
The default rules provided with udev will cause <command>udevd</command>
to call out to <command>/sbin/modprobe</command> with the contents of 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
<literal>pre:</literal> dependencies, or a mixture of both
<literal>pre:</literal> and <literal>post:</literal> dependencies. See
the <filename>modprobe.d(5)</filename> manual page for more information
on <quote>softdep</quote> syntax and capabilities.</para>
the <ulink role='man' url='&man;modprobe.d.5'>modprobe.d(5)</ulink>
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
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
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
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.

View File

@ -32,7 +32,8 @@
<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.
(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
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>
@ -47,11 +48,11 @@
<note>
<para>
Classically, run level 2 above was defined as
"multi-user mode without networking", but this was only the case
many years ago when multiple users could connect to a system via
serial ports. In today's environment it makes no sense, and
we now say it is "reserved".
Classically, run level 2 above was defined as <quote>multi-user
mode without networking,</quote> but this was only the case
many years ago when multiple users could connect to a system via
serial ports. In today's environment it makes no sense, and
we now say it is <quote>reserved.</quote>
</para>
</note>
@ -341,12 +342,13 @@ EOF</userinput></screen>
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
and <filename class="directory">/usr/share/consolefonts</filename> directories
for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and
<filename>setfont(8)</filename> manual pages to determine the correct
arguments for these programs.</para>
for valid keymaps and screen fonts. Read the <ulink role='man'
url='&man;loadkeys.1'>loadkeys(1)</ulink> and <ulink role='man'
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
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>
<varlistentry>
@ -354,7 +356,7 @@ EOF</userinput></screen>
<listitem>
<para>This variable specifies the log level for kernel messages sent
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>
</varlistentry>
@ -363,7 +365,7 @@ EOF</userinput></screen>
<listitem>
<para>This variable specifies the arguments for the
<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,
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
@ -382,7 +384,7 @@ EOF</userinput></screen>
<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.,
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>
</varlistentry>
@ -391,12 +393,12 @@ EOF</userinput></screen>
<listitem>
<para>This variable specifies the arguments for the
<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
together with the <quote>8859-1</quote> application character map
(appropriate in the USA),
<!-- 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
convert 8-bit key codes to UTF-8. Therefore
the argument of the "-m" parameter should be set to the encoding of the
@ -408,8 +410,8 @@ EOF</userinput></screen>
<varlistentry>
<term>UNICODE</term>
<listitem>
<para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or
<quote>true</quote> in order to put the
<para>Set this variable to <literal>1</literal>, <literal>yes</literal>, or
<literal>true</literal> in order to put the
console into UTF-8 mode. This is useful in UTF-8 based locales and
harmful otherwise.</para>
</listitem>
@ -430,6 +432,40 @@ EOF</userinput></screen>
<para>Some examples:</para>
<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 &gt; /etc/sysconfig/console &lt;&lt; "EOF"
<literal># Begin /etc/sysconfig/console
UNICODE="1"
FONT="Lat2-Terminus16"
# End /etc/sysconfig/console</literal>
EOF</userinput></screen>
</listitem>
<listitem>
<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
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
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
X window system, which doesn't have this limitation, in its input
handling.</para>

View File

@ -56,7 +56,7 @@ EOF</userinput></screen>
class="partition">sda2</filename>, <filename
class="partition">sda5</filename>, and <systemitem
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,
cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII

View File

@ -189,17 +189,6 @@ umount /sys/firmware/efi/efivars</userinput></screen>
</para>
</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 id="grub-cfg">

View File

@ -304,7 +304,8 @@
located in <xref linkend="ch-config-udev"/> and in the kernel
documentation in the <filename
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,
install the modules with:</para>

View File

@ -123,6 +123,7 @@
<!ENTITY github "https://github.com">
<!ENTITY pypi-home "https://pypi.org/project">
<!ENTITY pypi-src "https://pypi.org/packages/source">
<!ENTITY man "https://man.archlinux.org/man/">
<!ENTITY root "<systemitem class='username'>root</systemitem>">
<!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>">

View File

@ -13,10 +13,10 @@
*-knl-* Package info for Kernel stuff
-->
<!ENTITY acl-version "2.3.1">
<!ENTITY acl-size "348 KB">
<!ENTITY acl-version "2.3.2">
<!ENTITY acl-size "363 KB">
<!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-fin-du "6.1 MB">
<!ENTITY acl-fin-sbu "less than 0.1 SBU">
@ -65,10 +65,10 @@
<!ENTITY bc-fin-du "7.7 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
<!ENTITY binutils-version "2.41">
<!ENTITY binutils-size "26,139 KB">
<!ENTITY binutils-version "2.42">
<!ENTITY binutils-size "26,922 KB">
<!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-tmpp1-du "647 MB">
<!ENTITY binutils-tmpp1-sbu "1 SBU">
@ -317,10 +317,10 @@
<!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20240117">
<!ENTITY iana-etc-size "596 KB">
<!ENTITY iana-etc-version "20240125">
<!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-md5 "215feb4b55043a6c18e84a5ed58b705f">
<!ENTITY iana-etc-md5 "aed66d04de615d76c70890233081e584">
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -353,7 +353,7 @@
<!ENTITY jinja2-size "264 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">
<!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-sbu "less than 0.1 SBU">
@ -431,12 +431,12 @@
<!ENTITY linux-major-version "6">
<!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;.&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-md5 "d8a7394e0e349dd373e9722e141c8b61">
<!ENTITY linux-md5 "62b0a6c979a54569295d34ed57f47875">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- 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
@ -539,10 +539,10 @@
<!ENTITY ninja-fin-du "75 MB">
<!ENTITY ninja-fin-sbu "0.3 SBU">
<!ENTITY openssl-version "3.2.0">
<!ENTITY openssl-size "17,284 KB">
<!ENTITY openssl-version "3.2.1">
<!ENTITY openssl-size "17,318 KB">
<!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-fin-du "587 MB">
<!ENTITY openssl-fin-sbu "3.0 SBU">
@ -765,24 +765,24 @@
<!ENTITY xml-parser-fin-du "2.3 MB">
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.4.5">
<!ENTITY xz-size "1,642 KB">
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
<!ENTITY xz-version "5.4.6">
<!ENTITY xz-size "1,645 KB">
<!ENTITY xz-url "https://github.com/tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "7ade7bd1181a731328f875bec62a9377">
<!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "22 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU">
<!ENTITY xz-fin-du "24 MB">
<!ENTITY xz-fin-sbu "0.1 SBU">
<!ENTITY zlib-version "1.3">
<!ENTITY zlib-size "1,461 KB">
<!ENTITY zlib-version "1.3.1">
<!ENTITY zlib-size "1,478 KB">
<!-- DO NOT remove "fossils"!
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
once a newer version is released EVEN IF there is no security fixes.
Unfortunately there is no .xz files in fossils directory. -->
<!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-fin-du "6.2 MB">
<!ENTITY zlib-fin-sbu "less than 0.1 SBU">

View File

@ -56,7 +56,7 @@
<variablelist>
<varlistentry><term>The build</term><listitem>
<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><term>The host</term><listitem>

View File

@ -2,6 +2,10 @@
<!-- 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-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB">
@ -14,9 +18,9 @@
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!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-md5 "545977e0b5c341ba945cf4b5de92f1e2">
<!ENTITY glibc-upstream-fixes-patch-size "28 KB">
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-4.patch">
<!ENTITY glibc-upstream-fixes-patch-md5 "66e843b00688c641c9bdda684db45b43">
<!ENTITY glibc-upstream-fixes-patch-size "36 KB">
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
@ -26,9 +30,9 @@
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363">
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB">
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-2.patch">
<!ENTITY readline-fixes-patch-md5 "d2477ebe908cc99763d90dde7fd9549a">
<!ENTITY readline-fixes-patch-size "5.7 KB">
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
<!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
<!ENTITY readline-fixes-patch-size "13 KB">
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">

View File

@ -49,7 +49,7 @@
</itemizedlist>
<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
additional packages can be found in BLFS. </para>

View File

@ -74,22 +74,27 @@ EOF</userinput></screen>
<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
indicates a specific section inside the manuals. For example,
<command>passwd</command> has two man pages. Per LFS installation instructions,
those two man pages will be located at
<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>.
<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
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
page names in different sections. Therefore, <command>man <replaceable>&lt;program
name&gt;</replaceable></command> is generally sufficient.</para>
name&gt;</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>

View File

@ -1,14 +1,13 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
version="1.0">
xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl"
version="1.0">
<!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
<xsl:variable name="newline">
<xsl:text>
</xsl:text>
<xsl:text>&#xA;</xsl:text>
</xsl:variable>
<xsl:template match="/">

View File

@ -10,6 +10,14 @@
<!-- Upstream XHTML presentation templates -->
<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 -->
<xsl:include href="common.xsl"/>
<xsl:include href="xhtml/lfs-admon.xsl"/>
@ -31,9 +39,6 @@
<xsl:param name="ulink.target" select="''"/>
<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 -->
<xsl:param name="generate.toc">
book toc,title

View File

@ -1,13 +1,13 @@
/* Global settings */
body {
font-family: verdana, tahoma, helvetica, arial, sans-serif;
font-family: verdana, tahoma, arial, sans-serif;
text-align: left;
background: #fff;
color: #222;
margin: 1em;
padding: 0;
font-size: 1em;
line-height: 1.2em
line-height: 1.2em;
}
@ -38,10 +38,36 @@ div.dedication {
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 */
div.sect1, div.appendix {
padding-left: .3em;
/* Scrolling parts
The header is taller for sect1 and chapter pages than on the
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 {
@ -63,8 +89,12 @@ div.important ul li p {
background: #f5f6f7;
border-bottom: 0.2em solid #dbddec;
padding-top: .1em;
margin-top: 0;
/* margin-top: 0;*/
}
/*
.lfs .package p:first-child {
margin-top: 0;
}*/
.lfs .configuration {
background: #fefefe;
@ -74,11 +104,11 @@ div.important ul li p {
.lfs .content {
background: #f5f6f7;
border-top: 0.2em solid #dbddec;
border-bottom: 0.2em solid #dbddec;
padding-bottom: .1em;
margin-bottom: 0;
margin-bottom: .5em;
}
/* Headers */
h1, h2, h3, h4, h5, h6, b, .strong {
color: #000;
@ -96,18 +126,6 @@ h1 {
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 {
background: #f5f6f7;
margin: 0;
@ -157,13 +175,19 @@ div.navheader, div.navfooter {
}
div.navheader {
border-bottom: 1px solid #dbddec;
position: sticky;
top: 0;
border-bottom: .1em solid #dbddec;
}
/* no need for a footer now that the header is always visible */
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 {
@ -179,7 +203,7 @@ div.navheader h3 {
}
div.navheader ul, div.navfooter ul {
padding: .2em .5em .5em 0;
padding: .2em .5em .5em .5em; /*top right bottom left*/
margin: .5em 0;
position: relative;
background: #dbddec;
@ -196,29 +220,29 @@ div.navheader ul li.prev, div.navfooter ul li.prev {
left: 0;
text-align: left;
padding: 0.2em 1em;
margin-left: 6px;
margin-left: .4em;
}
div.navheader ul li.next, div.navfooter ul li.next {
position: absolute;
display: block;
text-align: right;
right: 5px;
padding: 0.2em 0.5em;
margin-right: 7px;
right: 0;
padding: 0.2em 1em;
margin-right: .4em;
}
div.navheader ul li.prev p, div.navfooter ul li.prev p,
div.navheader ul li.next p, div.navfooter ul li.next p {
padding: 0;
margin: 1px 0px;
margin: .1em 0;
}
div.navheader ul li.home, div.navheader ul li.up,
div.navfooter ul li.home, div.navfooter ul li.up {
text-align: center;
padding: 0;
margin: 0px auto;
margin: 0 auto;
display: block;
color: #dbddec;
}

View File

@ -10,6 +10,13 @@
<!-- Upstream XHTML templates -->
<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 -->
<xsl:include href="common.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/>

View File

@ -53,8 +53,8 @@
We have expanded the support to several inline tags.
See pdf/lfs-mixed.xsl.
Note: the argument in select= is a zero-width space
(unicode 200b, encoded in utf-8)-->
<xsl:param name="ulink.hyphenate" select="''"/>
(unicode 200b)-->
<xsl:param name="ulink.hyphenate" select="'&#x200B;'"/>
<!-- List of characters to allow ulink URLs, and supported inline tags,
to be automatically hyphenated on.

View File

@ -18,6 +18,7 @@
<!-- Generate DocBook instance with correct DOCTYPE -->
<xsl:output method="xml"
encoding="UTF-8"
doctype-public="-//OASIS//DTD DocBook XML V4.5//EN"
doctype-system="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>

View File

@ -11,10 +11,14 @@
<xsl:param name="chunk.first.sections" select="1"/>
<!-- 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 -->
<xsl:template match="preface">
<xsl:call-template name="id.warning"/>
<xsl:call-template name="preface.titlepage"/>
<xsl:call-template name="component.separator"/>
<div>
<xsl:apply-templates select="." mode="class.attribute"/>
<xsl:call-template name="dir">
@ -26,8 +30,6 @@
<xsl:call-template name="object.id"/>
</xsl:attribute>
</xsl:if>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="preface.titlepage"/>
<xsl:apply-templates/>
<xsl:variable name="toc.params">
<xsl:call-template name="find.path.params">
@ -44,11 +46,42 @@
</div>
</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:
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 -->
<xsl:template match="chapter">
<xsl:call-template name="id.warning"/>
<xsl:call-template name="chapter.titlepage"/>
<xsl:call-template name="component.separator"/>
<div>
<xsl:apply-templates select="." mode="class.attribute"/>
<xsl:call-template name="dir">
@ -60,8 +93,6 @@
<xsl:call-template name="object.id"/>
</xsl:attribute>
</xsl:if>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="chapter.titlepage"/>
<xsl:apply-templates/>
<xsl:variable name="toc.params">
<xsl:call-template name="find.path.params">
@ -78,12 +109,50 @@
</div>
</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:
When there is a role attibute, use it as the class value.
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. -->
<!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
<xsl:template match="sect1">
<xsl:call-template name="sect1.titlepage"/>
<div>
<xsl:choose>
<xsl:when test="@role">
@ -96,7 +165,6 @@
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="language.attribute"/>
<xsl:call-template name="sect1.titlepage"/>
<xsl:apply-templates/>
<xsl:apply-templates select="sect1info" mode="svn-keys"/>
</div>

View File

@ -3,7 +3,7 @@
<!-- Create a md5 list for packages and patches used. -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
version="1.0">
<xsl:output method="text"/>
@ -31,8 +31,7 @@
</xsl:call-template>
<!-- Add a newline -->
<xsl:text>
</xsl:text>
<xsl:text>&#xA;</xsl:text>
</xsl:if>
</xsl:template>

View File

@ -4,7 +4,7 @@
with wget. -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
version="1.0">
<xsl:output method="text"/>
@ -28,8 +28,7 @@
<xsl:value-of select="@url"/>
</xsl:otherwise>
</xsl:choose>
<xsl:text>
</xsl:text>
<xsl:text>&#xA;</xsl:text>
</xsl:if>
</xsl:template>