mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-18 19:29:21 +01:00
Merge remote-tracking branch 'origin/trunk' into xry111/loongarch
This commit is contained in:
commit
33a9421975
55
Makefile
55
Makefile
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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.
|
||||
|
@ -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><package-name>-devel</quote> or
|
||||
<quote><package-name>-dev</quote>. Be sure to install those if
|
||||
your distribution provides them.</para>
|
||||
<literal><replaceable><package-name></replaceable>-devel</literal>
|
||||
or
|
||||
<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
|
||||
not been tested.</para>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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"/>
|
||||
|
||||
|
@ -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> > /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
|
||||
|
@ -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><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
|
||||
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
|
||||
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><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>
|
||||
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>
|
||||
|
||||
<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=<locale name> 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 > /etc/locale.conf << "EOF"
|
||||
<screen revision='systemd'><userinput>cat > /etc/locale.conf << "EOF"
|
||||
<literal>LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></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 > /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
|
||||
<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
|
||||
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>
|
||||
|
@ -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>
|
||||
|
@ -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 > /etc/systemd/network/10-ether0.link << "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>
|
||||
|
@ -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
|
||||
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 > /etc/systemd/coredump.conf.d/maxuse.conf << 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>
|
||||
|
@ -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.
|
||||
|
@ -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 > /etc/sysconfig/console << "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>
|
||||
|
@ -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
|
||||
|
@ -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">
|
||||
|
@ -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>
|
||||
|
@ -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>">
|
||||
|
46
packages.ent
46
packages.ent
@ -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">
|
||||
|
@ -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>
|
||||
|
16
patches.ent
16
patches.ent
@ -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">
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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><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>
|
||||
|
||||
|
@ -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>
</xsl:text>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template match="/">
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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"/>
|
||||
|
@ -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="'​'"/>
|
||||
|
||||
<!-- List of characters to allow ulink URLs, and supported inline tags,
|
||||
to be automatically hyphenated on.
|
||||
|
@ -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"/>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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>
</xsl:text>
|
||||
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
@ -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>
</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user