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

This commit is contained in:
Xi Ruoyao 2024-02-27 23:52:31 +08:00
commit 328eb6f3bb
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
69 changed files with 1008 additions and 690 deletions

View File

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

View File

@ -1047,7 +1047,15 @@
<segmentedlist id="gettext-optdeps"> <segmentedlist id="gettext-optdeps">
<segtitle>&external;</segtitle> <segtitle>&external;</segtitle>
<seglistitem> <seglistitem>
<seg>None</seg> <seg>
<ulink url='&blfs-book;general/libunistring.html'>
libunistring
</ulink>
and
<ulink url='&blfs-book;general/libxml2.html'>
libxml2
</ulink>
</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -1566,7 +1574,9 @@
<segmentedlist id="kbd-optdeps"> <segmentedlist id="kbd-optdeps">
<segtitle>&external;</segtitle> <segtitle>&external;</segtitle>
<seglistitem> <seglistitem>
<seg>None</seg> <seg>
<ulink url="&blfs-book;postlfs/linux-pam.html">Linux-PAM</ulink>
</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -2470,7 +2480,7 @@
<segmentedlist id="perl-testdeps"> <segmentedlist id="perl-testdeps">
<segtitle>&testsuites;</segtitle> <segtitle>&testsuites;</segtitle>
<seglistitem> <seglistitem>
<seg>Iana-Etc, Less. and Procps-ng</seg> <seg>Iana-Etc, Less, and Procps-ng</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -40,6 +40,124 @@
appropriate for the entry or if needed the entire day's listitem. appropriate for the entry or if needed the entire day's listitem.
--> -->
<listitem>
<para>2024-02-14</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to meson-1.3.2. Fixes
<ulink url='&lfs-ticket-root;5442'>#5442</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-02-12</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to shadow-4.14.5. Fixes
<ulink url='&lfs-ticket-root;5437'>#5437</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-69.1.0 (Python module). Fixes
<ulink url='&lfs-ticket-root;5439'>#5439</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to python-3.12.2. Fixes
<ulink url='&lfs-ticket-root;5434'>#5434</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to pkgconf-2.1.1. Fixes
<ulink url='&lfs-ticket-root;5432'>#5432</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to MarkupSafe-2.1.5 (Python module). Fixes
<ulink url='&lfs-ticket-root;5431'>#5431</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-6.06. Fixes
<ulink url='&lfs-ticket-root;5438'>#5438</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.6.0. Fixes
<ulink url='&lfs-ticket-root;5435'>#5435</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.7.4. Fixes
<ulink url='&lfs-ticket-root;5433'>#5433</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem revision='systemd'>
<para>2024-02-10</para>
<itemizedlist>
<listitem>
<para>[xry111] - Fix a bug in systemd breaking running
systemd-analyze on an instantiated systemd unit.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-02-02</para>
<itemizedlist>
<listitem>
<para>[xry111] - Update to tzdata-2024a. Fixes
<ulink url='&lfs-ticket-root;5428'>#5428</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to glibc-2.39 (security fix). Fixes
<ulink url='&lfs-ticket-root;5426'>#5426</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to linux-6.7.3. Fixes
<ulink url='&lfs-ticket-root;5427'>#5427</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-02-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to openssl-3.2.1 (security fix). Fixes
<ulink url='&lfs-ticket-root;5425'>#5425</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to zlib-1.3.1. Fixes
<ulink url='&lfs-ticket-root;5419'>#5419</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.4.6. Fixes
<ulink url='&lfs-ticket-root;5423'>#5423</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.7.2. Fixes
<ulink url='&lfs-ticket-root;5422'>#5422</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20240125. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to binutils-2.42. Fixes
<ulink url='&lfs-ticket-root;5424'>#5424</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to acl-2.3.2. Fixes
<ulink url='&lfs-ticket-root;5421'>#5421</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update upstream fixes for readline-8.2. Fixes
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Apply upstream fix for bash-5.2.21. Fixes
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2024-01-21</para> <para>2024-01-21</para>
<itemizedlist> <itemizedlist>
@ -579,7 +697,8 @@
<ulink url='&lfs-ticket-root;5330'>#5330</ulink>.</para> <ulink url='&lfs-ticket-root;5330'>#5330</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to procps-ng-4.0.4. Fixes <para>[bdubbs] - Update to procps-ng-4.0.4 (security fix
for 32-bit systems). Fixes
<ulink url='&lfs-ticket-root;5335'>#5335</ulink>.</para> <ulink url='&lfs-ticket-root;5335'>#5335</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -26,9 +26,9 @@
<!--<listitem> <!--<listitem>
<para>None</para> <para>None</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Acl-&acl-version;</para> <para>Acl-&acl-version;</para>
</listitem>--> </listitem>
<listitem> <listitem>
<para>Attr-&attr-version;</para> <para>Attr-&attr-version;</para>
</listitem> </listitem>
@ -44,9 +44,9 @@
<listitem> <listitem>
<para>Bc-&bc-version;</para> <para>Bc-&bc-version;</para>
</listitem> </listitem>
<!--<listitem> <listitem>
<para>Binutils-&binutils-version;</para> <para>Binutils-&binutils-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Bison-&bison-version;</para> <para>Bison-&bison-version;</para>
</listitem>--> </listitem>-->
@ -71,9 +71,9 @@
<!--<listitem> <!--<listitem>
<para>E2fsprogs-&e2fsprogs-version;</para> <para>E2fsprogs-&e2fsprogs-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Expat-&expat-version;</para> <para>Expat-&expat-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Expect-&expect-version;</para> <para>Expect-&expect-version;</para>
</listitem>--> </listitem>-->
@ -101,9 +101,9 @@
<listitem> <listitem>
<para>Gettext-&gettext-version;</para> <para>Gettext-&gettext-version;</para>
</listitem> </listitem>
<!--<listitem> <listitem>
<para>Glibc-&glibc-version;</para> <para>Glibc-&glibc-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>GMP-&gmp-version;</para> <para>GMP-&gmp-version;</para>
</listitem>--> </listitem>-->
@ -176,9 +176,9 @@
<listitem> <listitem>
<para>Man-DB-&man-db-version;</para> <para>Man-DB-&man-db-version;</para>
</listitem> </listitem>
<!--<listitem> <listitem>
<para>Man-pages-&man-pages-version;</para> <para>Man-pages-&man-pages-version;</para>
</listitem>--> </listitem>
<listitem> <listitem>
<para>MarkupSafe-&markupsafe-version;</para> <para>MarkupSafe-&markupsafe-version;</para>
</listitem> </listitem>
@ -224,9 +224,9 @@
<!--<listitem> <!--<listitem>
<para>Sed-&sed-version;</para> <para>Sed-&sed-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> After version 12.1 release - see Added <listitem> <!-- After version 12.1 release - see Added -->
<para>Setuptools-&setuptools-version;</para> <para>Setuptools-&setuptools-version;</para>
</listitem>--> </listitem>
<listitem> <listitem>
<para>Shadow-&shadow-version;</para> <para>Shadow-&shadow-version;</para>
</listitem> </listitem>
@ -291,21 +291,21 @@
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<listitem> <listitem>
<para>setuptools-&setuptools-version;</para> <para>&bash-upstream-fixes-patch;</para>
</listitem>
<listitem>
<para>&glibc-upstream-fixes-patch;</para>
</listitem>
<listitem>
<para>&pkgconf-upstream-fix-patch;</para>
</listitem> </listitem>
<listitem> <listitem>
<para>&readline-fixes-patch;</para> <para>&readline-fixes-patch;</para>
</listitem> </listitem>
<listitem>
<para>setuptools-&setuptools-version;</para>
</listitem>
<listitem>
<para>&systemd-upstream-patch;</para>
</listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>

View File

@ -40,7 +40,8 @@
<filename class="devicefile">/dev/sda</filename> for the primary <filename class="devicefile">/dev/sda</filename> for the primary
disk drive. Create a Linux native partition and a disk drive. Create a Linux native partition and a
<systemitem class="filesystem">swap</systemitem> partition, if needed. Please <systemitem class="filesystem">swap</systemitem> partition, if needed. Please
refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if refer to <ulink role='man' url='&man;cfdisk.8'>cfdisk(8)</ulink> or
<ulink role='man' url='&man;fdisk.8'>fdisk(8)</ulink> if
you do not yet know how to use the programs.</para> you do not yet know how to use the programs.</para>
<note><para>For experienced users, other partitioning schemes are possible. <note><para>For experienced users, other partitioning schemes are possible.

View File

@ -29,9 +29,10 @@
minimum versions indicated. This should not be an issue for most minimum versions indicated. This should not be an issue for most
modern Linux distributions. Also note that many distributions will modern Linux distributions. Also note that many distributions will
place software headers into separate packages, often in the form of place software headers into separate packages, often in the form of
<quote>&lt;package-name&gt;-devel</quote> or <literal><replaceable>&lt;package-name&gt;</replaceable>-devel</literal>
<quote>&lt;package-name&gt;-dev</quote>. Be sure to install those if or
your distribution provides them.</para> <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 <para>Earlier versions of the listed software packages may work, but have
not been tested.</para> not been tested.</para>
@ -99,8 +100,12 @@
<xref linkend="chapter-building-system"/>, so the workarounds for <xref linkend="chapter-building-system"/>, so the workarounds for
older kernels are not enabled and the compiled older kernels are not enabled and the compiled
<application>glibc</application> is slightly faster and smaller. <application>glibc</application> is slightly faster and smaller.
As at June 2023, &min-kernel; is the oldest kernel release still As at Feb 2024, &min-kernel; is the oldest kernel release still
supported by the kernel developers.</para> supported by the kernel developers. Some kernel releases older than
&min-kernel; may be still supported by third-party teams, but they
are not considered official upstream kernel releases; read
<ulink url='https://kernel.org/category/releases.html'/> for the
details.</para>
<para>If the host kernel is earlier than &min-kernel; you will need to replace <para>If the host kernel is earlier than &min-kernel; you will need to replace
the kernel with a more up-to-date version. There are two ways the kernel with a more up-to-date version. There are two ways

View File

@ -16,7 +16,7 @@
<envar>LFS</envar> environment variable described in the previous section. <envar>LFS</envar> environment variable described in the previous section.
</para> </para>
<para>Strictly speaking, one cannot "mount a partition". One mounts the <emphasis>file <para>Strictly speaking, one cannot <quote>mount a partition.</quote> One mounts the <emphasis>file
system</emphasis> embedded in that partition. But since a single partition can't contain system</emphasis> embedded in that partition. But since a single partition can't contain
more than one file system, people often speak of the partition and the more than one file system, people often speak of the partition and the
associated file system as if they were one and the same.</para> associated file system as if they were one and the same.</para>

View File

@ -69,7 +69,7 @@
<listitem> <listitem>
<para>A few operations, from <quote>Changing Ownership</quote> to <para>A few operations, from <quote>Changing Ownership</quote> to
<quote>Entering the Chroot Environment</quote>, must be done as the <quote>Entering the Chroot Environment,</quote> must be done as the
<systemitem class="username">root</systemitem> user, with the LFS <systemitem class="username">root</systemitem> user, with the LFS
environment variable set for the &root; user.</para> environment variable set for the &root; user.</para>
</listitem> </listitem>

View File

@ -27,14 +27,14 @@
</varlistentry> </varlistentry>
--> -->
<!-- <varlistentry> <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term> <term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
<listitem> <listitem>
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para> <para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<!-- <!--
<varlistentry> <varlistentry>
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term> <term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
@ -76,7 +76,7 @@
<para>MD5 sum: <literal>&gcc-upstream-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&gcc-upstream-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<varlistentry> <varlistentry>
<term>Glibc Upstream Fixes Patch - <token>&glibc-upstream-fixes-patch-size;</token>:</term> <term>Glibc Upstream Fixes Patch - <token>&glibc-upstream-fixes-patch-size;</token>:</term>
<listitem> <listitem>
@ -84,7 +84,7 @@
<para>MD5 sum: <literal>&glibc-upstream-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&glibc-upstream-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<varlistentry> <varlistentry>
<term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term> <term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term>
<listitem> <listitem>
@ -117,7 +117,7 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
--> -->
<!--
<varlistentry> <varlistentry>
<term>Pkgconf Upstream Fix Patch - <token>&pkgconf-upstream-fix-patch-size;</token>:</term> <term>Pkgconf Upstream Fix Patch - <token>&pkgconf-upstream-fix-patch-size;</token>:</term>
<listitem> <listitem>
@ -125,7 +125,7 @@
<para>MD5 sum: <literal>&pkgconf-upstream-fix-patch-md5;</literal></para> <para>MD5 sum: <literal>&pkgconf-upstream-fix-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<varlistentry> <varlistentry>
<term>Readline Upstream Fix Patch - <token>&readline-fixes-patch-size;</token>:</term> <term>Readline Upstream Fix Patch - <token>&readline-fixes-patch-size;</token>:</term>
<listitem> <listitem>
@ -142,15 +142,13 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<!--
<varlistentry revision="systemd"> <varlistentry revision="systemd">
<term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term> <term>Systemd Upstream Fixes Patch - <token>&systemd-upstream-patch-size;</token>:</term>
<listitem> <listitem>
<para>Download: <ulink url="&patches-root;&systemd-upstream-patch;"/></para> <para>Download: <ulink url="&patches-root;&systemd-upstream-patch;"/></para>
<para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para> <para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<!-- <!--
<varlistentry> <varlistentry>
<term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-patch-size;</token>:</term> <term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-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 <para>The <quote><parameter>-</parameter></quote> instructs
<command>su</command> to start a login shell as opposed to a non-login shell. <command>su</command> to start a login shell as opposed to a non-login shell.
The difference between these two types of shells is described in detail in The difference between these two types of shells is described in detail in
<filename>bash(1)</filename> and <command>info bash</command>.</para> <ulink role='man' url='&man;bash.1'>bash(1)</ulink> and <command>info
bash</command>.</para>
</sect1> </sect1>

View File

@ -79,8 +79,8 @@ EOF</userinput></screen>
<para>Setting the user file-creation mask (umask) to 022 ensures that newly <para>Setting the user file-creation mask (umask) to 022 ensures that newly
created files and directories are only writable by their owner, but are created files and directories are only writable by their owner, but are
readable and executable by anyone (assuming default modes are used by the readable and executable by anyone (assuming default modes are used by the
<filename>open(2)</filename> system call, new files will end up with <ulink role='man' url='&man;open.2'>open(2)</ulink> system call, new files
permission mode 644 and directories with mode 755).</para> will end up with permission mode 644 and directories with mode 755).</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -137,8 +137,8 @@ cd build</userinput></screen>
Gettext package, which the host distribution should provide.</para> Gettext package, which the host distribution should provide.</para>
<note><para>There have been reports that this package may fail when <note><para>There have been reports that this package may fail when
building as a "parallel make". If that occurs, rerun the make command building as a <quote>parallel make.</quote> If that occurs, rerun the make command
with the "-j1" option.</para></note> with the <option>-j1</option> option.</para></note>
<para>Compile the package:</para> <para>Compile the package:</para>

View File

@ -78,11 +78,6 @@ popd</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
<!-- devs: if using - -build here, the build system wants to compile
the signature file with "file" on the build system, but stops if it is not
the same version. One possibility would be to build "file" on the build
system first, but it is simpler to have the system think it is not
cross-compiling, and use the just built "file". -->
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen> <screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>

View File

@ -54,7 +54,7 @@ install -dv -m 1777 /tmp /var/tmp</userinput></screen>
<filename class="directory">/tmp</filename> and <filename <filename class="directory">/tmp</filename> and <filename
class="directory">/var/tmp</filename> directories, but cannot remove class="directory">/var/tmp</filename> directories, but cannot remove
another user's files from them. The latter is prohibited by the so-called another user's files from them. The latter is prohibited by the so-called
<quote>sticky bit</quote>, the highest bit (1) in the 1777 bit mask.</para> <quote>sticky bit,</quote> the highest bit (1) in the 1777 bit mask.</para>
<sect2> <sect2>
<title>FHS Compliance Note</title> <title>FHS Compliance Note</title>

View File

@ -63,11 +63,14 @@
<para>Now mount the remaining virtual kernel file systems:</para> <para>Now mount the remaining virtual kernel file systems:</para>
<screen><userinput>mount -v --bind /dev/pts $LFS/dev/pts <!-- Do not put any option after $LFS/${mountpoint} or jhalfs cannot
handle it! -->
<screen><userinput>mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts
mount -vt proc proc $LFS/proc mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run</userinput></screen> mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
<!--
<variablelist> <variablelist>
<title>The meaning of the mount options for devpts:</title> <title>The meaning of the mount options for devpts:</title>
@ -95,11 +98,12 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
-->
<para>In some host systems, <filename>/dev/shm</filename> is a <para>In some host systems, <filename>/dev/shm</filename> is a
symbolic link to <filename class="directory">/run/shm</filename>. symbolic link to a directory, typically
<filename class="directory">/run/shm</filename>.
The /run tmpfs was mounted above so in this case only a The /run tmpfs was mounted above so in this case only a
directory needs to be created.</para> directory needs to be created with the correct permissions.</para>
<para>In other host systems <filename>/dev/shm</filename> is a mount point <para>In other host systems <filename>/dev/shm</filename> is a mount point
for a tmpfs. In that case the mount of /dev above will only create for a tmpfs. In that case the mount of /dev above will only create
@ -107,7 +111,7 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen>
we must explicitly mount a tmpfs:</para> we must explicitly mount a tmpfs:</para>
<screen><userinput>if [ -h $LFS/dev/shm ]; then <screen><userinput>if [ -h $LFS/dev/shm ]; then
(cd $LFS/dev; mkdir $(readlink shm)) install -v -d -m 1777 $LFS$(realpath /dev/shm)
else else
mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
fi</userinput></screen> fi</userinput></screen>

View File

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

View File

@ -40,6 +40,10 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Bash</title> <title>Installation of Bash</title>
<para>First, fix some issues identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-upstream-fixes-patch;</userinput></screen>
<para>Prepare Bash for compilation:</para> <para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
@ -71,7 +75,7 @@
<para>To prepare the tests, ensure that the <systemitem class="username">tester</systemitem> user can write to the sources tree:</para> <para>To prepare the tests, ensure that the <systemitem class="username">tester</systemitem> user can write to the sources tree:</para>
<screen><userinput remap="test">chown -Rv tester .</userinput></screen> <screen><userinput remap="test">chown -R tester .</userinput></screen>
<para>The test suite of this package is designed to be run as a non-&root; <para>The test suite of this package is designed to be run as a non-&root;
user who owns the terminal connected to standard input. To satisfy the user who owns the terminal connected to standard input. To satisfy the
@ -79,7 +83,7 @@
<application>Expect</application> and run the tests as the <systemitem <application>Expect</application> and run the tests as the <systemitem
class="username">tester</systemitem> user:</para> class="username">tester</systemitem> user:</para>
<screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; EOF <screen><userinput remap="test">su -s /usr/bin/expect tester &lt;&lt; "EOF"
set timeout -1 set timeout -1
spawn make tests spawn make tests
expect eof expect eof

View File

@ -135,7 +135,7 @@ cd build</userinput></screen>
<screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen> <screen><userinput remap="test">grep '^FAIL:' $(find -name '*.log')</userinput></screen>
<para>Three tests in the gprofng suite are known to fail.</para> <!-- <para>Three tests in the gprofng suite are also known to fail.</para>-->
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -121,7 +121,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<para>Fix some of the permissions so that the non-&root; user can <para>Fix some of the permissions so that the non-&root; user can
compile and run the tests:</para> compile and run the tests:</para>
<screen><userinput remap="test">chown -Rv tester . </userinput></screen> <screen><userinput remap="test">chown -R tester . </userinput></screen>
<para>Now run the tests:</para> <para>Now run the tests:</para>
@ -129,8 +129,14 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<!-- Sometimes skipped, but if not it may fail. <!-- Sometimes skipped, but if not it may fail.
Please DO NOT remove or comment out this unless we can fully Please DO NOT remove or comment out this unless we can fully
understand it! --> understand it!
<para>The test-getlogin test may fail in the LFS chroot environment.</para> <para>The test-getlogin test may fail in the LFS chroot environment.</para>
20240226: Commented out as it seems the upstream has root-caused and
fixed the issue. I've checked the fix is in Coreutils 9.4 release
tarball:
https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00079.html
-->
<para>Remove the temporary group:</para> <para>Remove the temporary group:</para>
@ -1261,8 +1267,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
<varlistentry id="yes"> <varlistentry id="yes">
<term><command>yes</command></term> <term><command>yes</command></term>
<listitem> <listitem>
<para>Repeatedly outputs <quote>y</quote>, or a given string, until <para>Repeatedly outputs <literal>y</literal> or a given string,
killed</para> until killed</para>
<indexterm zone="ch-system-coreutils yes"> <indexterm zone="ch-system-coreutils yes">
<primary sortas="b-yes">yes</primary> <primary sortas="b-yes">yes</primary>
</indexterm> </indexterm>

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> <screen role='nodump'><userinput>sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf</userinput></screen>
<para> <para>
Read the man page <filename>mke2fs.conf(5)</filename> for details. Read the man page <ulink role='man'
url='&man;mke2fs.conf.5'>mke2fs.conf(5)</ulink> for details.
</para> </para>
</sect2> </sect2>

View File

@ -48,6 +48,25 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Expect</title> <title>Installation of Expect</title>
<para>Expect needs PTYs to work. Verify that the PTYs are working
properly inside the chroot environment by performing a simple
test:</para>
<screen><userinput remap="test">python3 -c 'from pty import spawn; spawn(["echo", "ok"])'</userinput></screen>
<para>This command should output <computeroutput>ok</computeroutput>.
If, instead, the output includes <computeroutput>OSError: out of pty
devices</computeroutput>, then the environment is not set up for proper
PTY operation. You need to exit from the chroot environment, read
<xref linkend='ch-tools-kernfs'/> again, and ensure the
<systemitem class="filesystem">devpts</systemitem> file system (and
other virtual kernel file systems) mounted correctly. Then reenter
the chroot environment following <xref linkend='ch-tools-chroot'/>.
This issue needs to be resolved before continuing, or the test suites
requiring Expect (for example the test suites of Bash, Binutils, GCC,
GDBM, and of course Expect itself) will fail catastrophically, and other
subtle breakages may also happen.</para>
<para>Update two config scripts to allow building this package for <para>Update two config scripts to allow building this package for
AArch64:</para> AArch64:</para>
@ -88,27 +107,10 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<important>
<para>The test suite for Expect is considered critical.
Do not skip it under any circumstances.</para>
</important>
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">make test</userinput></screen> <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
you've not mounted the
<systemitem class="filesystem">devpts</systemitem> file system
correctly. You need to exit from the chroot environment, read
<xref linkend='ch-tools-kernfs'/> again, and ensure the
<systemitem class="filesystem">devpts</systemitem> file system (and
other virtual kernel file systems) mounted correctly. Then reenter
the chroot environment following <xref linkend='ch-tools-chroot'/>.
This issue needs to be resolved before continuing.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput remap="install">make install <screen><userinput remap="install">make install

View File

@ -82,7 +82,7 @@ esac</userinput></screen>
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "PATH=$PATH make check"</userinput></screen> su tester -c "PATH=$PATH make check"</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -54,7 +54,7 @@
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "PATH=$PATH make check"</userinput></screen> su tester -c "PATH=$PATH make check"</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -154,7 +154,7 @@ cd build</userinput></screen>
<para>Test the results as a non-privileged user, but do not stop at errors:</para> <para>Test the results as a non-privileged user, but do not stop at errors:</para>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "PATH=$PATH make -k check"</userinput></screen> su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para>To extract a summary of the test suite results, run:</para> <para>To extract a summary of the test suite results, run:</para>
@ -170,8 +170,7 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para> <para>
<!-- https://gcc.gnu.org/PR107915 and https://gcc.gnu.org/PR109353 --> <!-- https://gcc.gnu.org/PR107915 and https://gcc.gnu.org/PR109353 -->
Two tests named <filename>copy.cc</filename> and One test named <filename>contracts-tmpl-spec2.C</filename> is known to fail.
<filename>contracts-tmpl-spec2.C</filename> are known to fail.
<!-- https://gcc.gnu.org/PR111224 --> <!-- https://gcc.gnu.org/PR111224 -->
Some C++ module tests named <filename>xtreme-*</filename> are known to Some C++ module tests named <filename>xtreme-*</filename> are known to
fail. fail.
@ -181,14 +180,19 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
<para>Many gcc and g++ tests related to hwasan are known to fail.</para> <para>Many gcc and g++ tests related to hwasan are known to fail.</para>
<para> <para>
With Glibc-2.38, the analyzer tests named Eight gcc tests (out of over 185,000):
<filename>data-model-4.c</filename> and <!-- https://gcc.gnu.org/PR106375 --><filename>pr56837.c</filename>
<filename>conftest-1.c</filename> and seven tests in the <filename class='directory'>analyzer</filename>
are known to fail. directory are known to fail.
In the asan tests, several tests in <filename>asan_test.C</filename>
are known to fail. <!-- https://gcc.gnu.org/PR109353 -->
The test named <filename>interception-malloc-test-1.C</filename> One libstdc++ test (out of over 15000), <filename>copy.cc</filename>, is
is known to fail. known to fail.
For g++, 21 tests (out of approximately 250,000): 14
<quote>AddressSanitizer*</quote>
tests and 7 <filename>interception-malloc-test-1.C</filename> tests, are
known to fail.
</para> </para>
<para>A few unexpected failures cannot always be avoided. The GCC developers <para>A few unexpected failures cannot always be avoided. The GCC developers
@ -196,15 +200,6 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
Unless the test results are vastly different from those at the above URL, Unless the test results are vastly different from those at the above URL,
it is safe to continue.</para> it is safe to continue.</para>
<!--note><para>
On some combinations of kernel configuration and AMD processors
there may be more than 1100 failures in the gcc.target/i386/mpx
tests (which are designed to test the MPX option on recent
Intel processors). These can safely be ignored on AMD
processors. These tests will also fail on Intel processors if MPX support
is not enabled in the kernel even though it is present on the CPU.
</para></note-->
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen> <screen><userinput remap="install">make install</userinput></screen>

View File

@ -49,12 +49,12 @@
store their runtime data in the FHS-compliant locations:</para> store their runtime data in the FHS-compliant locations:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
<!--
<para>Now fix two security vulnerabilities and a regression causing the <para>Now fix two security vulnerabilities and a regression causing the
posix_memalign() function very slow in some conditions:</para> posix_memalign() function very slow in some conditions:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-fixes-patch;</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-fixes-patch;</userinput></screen>
-->
<para>The Glibc documentation recommends building Glibc <para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para> in a dedicated build directory:</para>
@ -73,7 +73,6 @@ cd build</userinput></screen>
--disable-werror \ --disable-werror \
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--enable-stack-protector=strong \ --enable-stack-protector=strong \
--with-headers=/usr/include \
--disable-nscd \ --disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen> libc_cv_slibdir=/usr/lib</userinput></screen>
@ -103,15 +102,10 @@ cd build</userinput></screen>
<listitem> <listitem>
<para>This option increases system security by adding <para>This option increases system security by adding
extra code to check for buffer overflows, such as stack extra code to check for buffer overflows, such as stack
smashing attacks.</para> smashing attacks. Note that Glibc always explicitly overrides
</listitem> the default of GCC, so this option is still needed even though
</varlistentry> we've already specified <option>--enable-default-ssp</option> for
<!-- do we need this one? --> GCC.</para>
<varlistentry>
<term><parameter>--with-headers=/usr/include</parameter></term>
<listitem>
<para>This option tells the build system where to find the
kernel API headers.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -169,29 +163,34 @@ esac</userinput></screen>
is known to fail in the LFS chroot environment.</para> is known to fail in the LFS chroot environment.</para>
</listitem> </listitem>
<!-- Did not fail with glibc-2.38
<listitem>
<para><emphasis>misc/tst-ttyname</emphasis>
is known to fail in the LFS chroot environment.</para>
</listitem>
-->
<!-- https://sourceware.org/pipermail/libc-alpha/2022-August/141567.html -->
<listitem>
<para>The <emphasis>stdlib/tst-arc4random-thread</emphasis>
test is known to fail if the host kernel is relatively old.</para>
</listitem>
<listitem> <listitem>
<para>Some tests, for example <para>Some tests, for example
<emphasis>nss/tst-nss-files-hosts-multi</emphasis>, <emphasis>nss/tst-nss-files-hosts-multi</emphasis> and
are known to fail on relatively slow systems due to an internal <emphasis>nptl/tst-thread-affinity*</emphasis>
timeout.</para> are known to fail due to a timeout (especially when the system is
relatively slow and/or running the test suite with multiple
parallel make jobs). These tests can be identified with:</para>
<!-- TODO: Using nodump for freeze. Change it to role="test" after
12.1 release so jhalfs can list these in the log. -->
<screen role="nodump"><userinput>grep "Timed out" -l $(find -name \*.out)</userinput></screen>
<para>It's possible to re-run a single test with enlarged timeout
with
<command>TIMEOUTFACTOR=<replaceable>&lt;factor&gt;</replaceable>
make test t=<replaceable>&lt;test name&gt;</replaceable></command>.
For example, <command>TIMEOUTFACTOR=10 make test
t=nss/tst-nss-files-hosts-multi</command> will re-run
<emphasis>nss/tst-nss-files-hosts-multi</emphasis> with ten times
the original timeout.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Additionally, some tests may fail with a relatively old CPU <para>Additionally, some tests may fail with a relatively old CPU
model or host kernel version.</para> model (for example
<emphasis>elf/tst-cpu-features-cpuinfo</emphasis>) or host kernel
version (for example
<emphasis>stdlib/tst-arc4random-thread</emphasis>).</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -207,6 +206,122 @@ esac</userinput></screen>
<screen><userinput remap="install">sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile</userinput></screen> <screen><userinput remap="install">sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile</userinput></screen>
<important>
<para>
If upgrading Glibc to a new minor version (for example, from
Glibc-2.36 to Glibc-&glibc-version;) on a running LFS system, you
need to take some extra precautions to avoid breaking the system:
</para>
<itemizedlist>
<listitem>
<!-- There are two reasons we don't support this:
1. Upgrading on a system with separate /lib and /usr/lib is
tricky.
2. With Glibc prior to 2.34 libc.so.6 etc. are symlinks to
libc-2.33.so etc., again causing the upgradation tricky.
The Glibc NEWS file explicit states they no longer use
symlinks for the ABI names to avoid upgradation
issues. -->
<para>
Upgrading Glibc on a LFS system prior to 11.0 (exclusive) is
not supported. Rebuild LFS if you are running such an old LFS
system but you need a newer Glibc.
</para>
</listitem>
<!-- https://sourceware.org/pipermail/libc-alpha/2024-January/154095.html -->
<listitem>
<para>
If upgrading on a LFS system prior to 12.0 (exclusive), install
<application>Libxcrypt</application> following
<xref role='.' linkend='ch-system-libxcrypt'/> In addition to
a normal <application>Libxcrypt</application> installation,
<emphasis role='bold'>you MUST follow the note in Libxcrypt
section to install
<filename class='libraryfile'>libcrypt.so.1*</filename>
(replacing
<filename class='libraryfile'>libcrypt.so.1</filename> from the
prior Glibc installation)</emphasis>.
</para>
</listitem>
<!-- Otherwise on lfs-systemd nscd will fail to start on boot,
and on both lfs-sysv and lfs-systemd useradd etc. will try
to start nscd, then nscd will fail to start as well and
produce some spurious error message. -->
<listitem>
<para>
If upgrading on a LFS system prior to 12.1 (exclusive),
remove the <command>nscd</command> program:
</para>
<screen role='nodump'><userinput>rm -f /usr/sbin/nscd</userinput></screen>
<para revision='systemd'>
If this system (prior to LFS 12.1, exclusive) is based on
Systemd, it's also needed to disable and stop the
<command>nscd</command> service now:
</para>
<screen revision='systemd' role='nodump'><userinput>systemctl disable --now nscd</userinput></screen>
</listitem>
<listitem>
<para>
Upgrade the kernel and reboot if it's older than &min-kernel;
(check the current version with <command>uname -r</command>)
or if you want to upgrade it anyway, following
<xref linkend='ch-bootable-kernel' role='.'/>
</para>
</listitem>
<listitem>
<para>
Upgrade the kernel API headers if it's older than &min-kernel;
(check the current version with
<command>cat /usr/include/linux/version.h</command>)
or if you want to upgrade it anyway, following
<xref linkend='ch-tools-linux-headers'/> (but removing
<envar>$LFS</envar> from the <command>cp</command> command).
</para>
</listitem>
<!-- This is to ensure we don't start a process at the time point
where some Glibc shared libraries are updated but the others
are not. Such mismatches can cause programs crash on startup,
esp. a mismatch between ld-linux-x86-64.so.2 and
libc.so.6. Note that a crash in the installation process
will leave the system in a state with the mismatch forever,
unrecoverable without the help of another distro. -->
<listitem>
<para>
Perform a <envar>DESTDIR</envar> installation and upgrade
the Glibc shared libraries on the system using one single
<command>install</command> command:
</para>
<screen role='nodump'><userinput>make DESTDIR=$PWD/dest install
install -vm755 dest/usr/lib/*.so.* /usr/lib</userinput></screen>
</listitem>
</itemizedlist>
<para>
It's imperative to strictly follow these steps above unless you
completely understand what you are doing.
<emphasis role='bold'>Any unexpected deviation may render the
system completely unusable. YOU ARE WARNED.</emphasis>
</para>
<para>
Then continue to run the <command>make install</command> command,
the <command>sed</command> command against
<filename>/usr/bin/ldd</filename>, and the commands to install
the locales. Once they are finished, reboot the system
immediately.
</para>
</important>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput remap="install">make install</userinput></screen> <screen><userinput remap="install">make install</userinput></screen>
@ -420,7 +535,7 @@ unset ZONEINFO</userinput></screen>
<term><parameter>zic ... -p ...</parameter></term> <term><parameter>zic ... -p ...</parameter></term>
<listitem> <listitem>
<para>This creates the <filename>posixrules</filename> file. We use <para>This creates the <filename>posixrules</filename> file. We use
New York because POSIX requires the daylight savings time rules New York because POSIX requires the daylight saving time rules
to be in accordance with US rules.</para> to be in accordance with US rules.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -49,7 +49,7 @@
to the <command>configure</command> command.</para> to the <command>configure</command> command.</para>
<!-- To editors: the configure script says "the none host is obsolete, <!-- To editors: the configure script says "the none host is obsolete,
use - -disable-assembly", but don't believe it: with the latter use - -disable-assembly," but don't believe it: with the latter
CFLAGS is still automatically set to -march=something. --> CFLAGS is still automatically set to -march=something. -->
</note> </note>
@ -97,8 +97,9 @@ make html</userinput></screen>
<caution><para>The code in gmp is highly optimized for the processor where <caution><para>The code in gmp is highly optimized for the processor where
it is built. Occasionally, the code that detects the processor misidentifies it is built. Occasionally, the code that detects the processor misidentifies
the system capabilities and there will be errors in the tests or other the system capabilities and there will be errors in the tests or other
applications using the gmp libraries with the message "Illegal applications using the gmp libraries with the message
instruction". In this case, gmp should be reconfigured with the option <computeroutput>Illegal instruction</computeroutput>.
In this case, gmp should be reconfigured with the option
<option>--host=none-linux-gnu</option> and rebuilt.</para></caution> <option>--host=none-linux-gnu</option> and rebuilt.</para></caution>
<!-- Some tests PASS on a specific uarch but SKIP on other CPUs. <!-- Some tests PASS on a specific uarch but SKIP on other CPUs.

View File

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

View File

@ -110,7 +110,7 @@
--disable-static \ --disable-static \
--disable-failure-tokens --disable-failure-tokens
make make
cp -av .libs/libcrypt.so.1* /usr/lib</userinput></screen> cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib</userinput></screen>
</note> </note>
</sect2> </sect2>

View File

@ -53,7 +53,7 @@
https://savannah.gnu.org/bugs/?63852 --> https://savannah.gnu.org/bugs/?63852 -->
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "PATH=$PATH make check"</userinput></screen> su tester -c "PATH=$PATH make check"</userinput></screen>
<para>Install the package:</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 is a command-line tool for using the various cryptography functions
of <application>OpenSSL</application>'s crypto library from the of <application>OpenSSL</application>'s crypto library from the
shell. It can be used for various functions which are documented in shell. It can be used for various functions which are documented in
<filename>openssl(1)</filename> <ulink role='man' url='&man;openssl.1'>openssl(1)</ulink>
</para> </para>
<indexterm zone="ch-system-openssl openssl-prog"> <indexterm zone="ch-system-openssl openssl-prog">
<primary sortas="b-openssl">openssl</primary> <primary sortas="b-openssl">openssl</primary>
@ -195,7 +195,8 @@ make MANSUFFIX=ssl install</userinput></screen>
<para> <para>
implements the Transport Layer Security (TLS v1) protocol. implements the Transport Layer Security (TLS v1) protocol.
It provides a rich API, documentation It provides a rich API, documentation
on which can be found in <filename>ssl(7)</filename> on which can be found in <ulink role='man'
url='&man;ssl.7'>ssl(7)</ulink>
</para> </para>
<indexterm zone="ch-system-openssl libssl"> <indexterm zone="ch-system-openssl libssl">
<primary sortas="c-libssl">libssl.so</primary> <primary sortas="c-libssl">libssl.so</primary>

View File

@ -44,11 +44,6 @@
<title>Installation of Pkgconf</title> <title>Installation of Pkgconf</title>
<!-- https://github.com/pkgconf/pkgconf/issues/317 -->
<para>Fix a regression in pkgconf-2.1.0 breaking BLFS packages:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&pkgconf-upstream-fix-patch;</userinput></screen>
<para>Prepare Pkgconf for compilation:</para> <para>Prepare Pkgconf for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -56,28 +56,16 @@
5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt. 5.10.17 to 5.10.18 or 5.11.1), nothing else needs to be rebuilt.
The system will keep working fine thanks to the well-defined interface The system will keep working fine thanks to the well-defined interface
between the kernel and userspace. Specifically, Linux API headers between the kernel and userspace. Specifically, Linux API headers
need not be (and should not be, see the next item) upgraded need not be upgraded
along with the kernel. You will merely need to reboot your system to use the along with the kernel. You will merely need to reboot your system to use the
upgraded kernel.</para> upgraded kernel.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>If the Linux API headers or Glibc need to be upgraded to a newer <para>If Glibc needs to be upgraded to a newer
version, (e.g., from Glibc-2.31 to Glibc-2.32), it is safer to version, (e.g., from Glibc-2.36 to Glibc-&glibc-version;),
rebuild LFS. Though you <emphasis>may</emphasis> be able to rebuild some extra steps are needed to avoid breaking the system.
all the packages in their dependency order, we do not recommend Read <xref linkend='ch-system-glibc'/> for details.</para>
it. </para>
</listitem>
<listitem>
<para>Reinstalling the same version of Glibc (&glibc-version; for
this release of LFS) with patches should be safe when these patches
do not change ABI and API. When a security vulnerability is found
in Glibc, we often need to apply such a patch to fix the
vulnerability and reinstall Glibc. Consult
<ulink url='&lfs-root;lfs/advisories/'>LFS security
advisories</ulink> if you are alerted for a published Glibc security
vulnerability but unsure about the action to take.</para>
</listitem> </listitem>
<listitem> <para>If a package containing a shared library is updated, and <listitem> <para>If a package containing a shared library is updated, and

View File

@ -72,7 +72,20 @@
<para> To run the test suite, run:</para> <para> To run the test suite, run:</para>
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make -k check</userinput></screen>
<para>One test named
<literal>ps with output flag bsdtime,cputime,etime,etimes</literal>
is known to fail if the host kernel is not built with
<literal>CONFIG_BSD_PROCESS_ACCT</literal> enabled.
<!-- These two tests just do not work as root but they seem to pass
in most time due to some internal hazards of Tcl/Expect/DejaGNU
framework. However the failures have been really observed.
TODO: run the test suite as tester after the freeze ends. -->
Two tests named
<literal>pmap X with unreachable process</literal> and
<literal>pmap XX with unreachable process</literal> are known to
fail occasionally.</para>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -51,7 +51,7 @@ make html</userinput></screen>
<para>To test the results, issue:</para> <para>To test the results, issue:</para>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "PATH=$PATH make check"</userinput></screen> su tester -c "PATH=$PATH make check"</userinput></screen>
<para>Install the package and its documentation:</para> <para>Install the package and its documentation:</para>

View File

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

View File

@ -53,7 +53,7 @@
little-endian systems and ld-linux-aarch64_be.so.1 on big-endian systems. little-endian systems and ld-linux-aarch64_be.so.1 on big-endian systems.
The construct below selects the The construct below selects the
correct name for the current architecture, excluding anything ending correct name for the current architecture, excluding anything ending
with <quote>g</quote>, in case the commands below have already been with <literal>g</literal>, in case the commands below have already been
run.</para></note> run.</para></note>
<important> <important>

View File

@ -50,10 +50,11 @@
<!-- https://github.com/systemd/systemd/pull/30549 --> <!-- https://github.com/systemd/systemd/pull/30549 -->
<para>Now fix a security vulnerability in the DNSSEC verification of <para>Now fix a security vulnerability in the DNSSEC verification of
<command>systemd-resolved</command>:</para> <command>systemd-resolved</command> and a bug breaking running
<command>systemd-analyze verify</command> on an instantiated systemd
unit:</para>
<screen><userinput remap='pre'>sed -e '/return FLAGS_SET.*AUTHENTICATED/s/(t/(dt/' \ <screen><userinput remap='pre'>patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen>
-i src/resolve/resolved-dns-transaction.c</userinput></screen>
<para>Prepare systemd for compilation:</para> <para>Prepare systemd for compilation:</para>

View File

@ -103,7 +103,7 @@
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
</warning> </warning>
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -R tester .
su tester -c "make -k check"</userinput></screen> su tester -c "make -k check"</userinput></screen>
<para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel <para>The <emphasis>hardlink</emphasis> tests will fail if the host's kernel
@ -574,7 +574,8 @@ su tester -c "make -k check"</userinput></screen>
<term><command>irqtop</command></term> <term><command>irqtop</command></term>
<listitem> <listitem>
<para>Displays kernel interrupt counter information in <para>Displays kernel interrupt counter information in
<filename>top(1)</filename> style view</para> <ulink role='man' url='&man;top.1'>top(1)</ulink> style
view</para>
<indexterm zone="ch-system-util-linux irqtop"> <indexterm zone="ch-system-util-linux irqtop">
<primary sortas="b-irqtop">irqtop</primary> <primary sortas="b-irqtop">irqtop</primary>
</indexterm> </indexterm>

View File

@ -66,18 +66,21 @@
<systemitem class="username">tester</systemitem> can write <systemitem class="username">tester</systemitem> can write
to the source tree:</para> to the source tree:</para>
<screen><userinput remap="test">chown -Rv tester .</userinput></screen> <screen><userinput remap="test">chown -R tester .</userinput></screen>
<para>Now run the tests as user <systemitem <para>Now run the tests as user <systemitem
class="username">tester</systemitem>:</para> class="username">tester</systemitem>:</para>
<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &amp;> vim-test.log</userinput></screen> <screen><userinput remap="test">su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \
&amp;> vim-test.log</userinput></screen>
<para>The test suite outputs a lot of binary data to the screen. This can <para>The test suite outputs a lot of binary data to the screen. This can
cause issues with the settings of the current terminal. The problem can be cause issues with the settings of the current terminal (especially while
we are overriding the <envar>TERM</envar> variable to satisify some
assumptions of the test suite). The problem can be
avoided by redirecting the output to a log file as shown above. A avoided by redirecting the output to a log file as shown above. A
successful test will result in the words "ALL DONE" in the log file successful test will result in the words <computeroutput>ALL
at completion.</para> DONE</computeroutput> in the log file at completion.</para>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -26,14 +26,13 @@
<!-- sysv --> <!-- sysv -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
<!-- systemd --> <!-- systemd -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
<!-- common --> <!-- common -->
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/>

View File

@ -30,7 +30,7 @@
directory for valid screen fonts.</para> directory for valid screen fonts.</para>
<para>The <filename>/etc/vconsole.conf</filename> file should contain lines <para>The <filename>/etc/vconsole.conf</filename> file should contain lines
of the form: VARIABLE="value". The following variables are recognized:</para> of the form: <envar>VARIABLE=value</envar>. The following variables are recognized:</para>
<variablelist> <variablelist>
@ -74,6 +74,25 @@
</variablelist> </variablelist>
<para>We'll use <literal>C.UTF-8</literal> as the locale for interactive
sessions in the Linux console in <xref role='.'
linkend='ch-config-locale'/> The console fonts shipped by
the <application>Kbd</application> package containing the glyphs for
all characters from the program messages in the <literal>C.UTF-8</literal>
locale are <filename>LatArCyrHeb*.psfu.gz</filename>,
<filename>LatGrkCyr*.psfu.gz</filename>,
<filename>Lat2-Terminus16.psfu.gz</filename>, and
<filename>pancyrillic.f16.psfu.gz</filename> in
<filename class='directory'>/usr/share/consolefonts</filename> (the other
shipped console fonts lack glyphs of some characters like the Unicode
left/right quotation marks and the Unicode English dash). So set one of
them, for example <filename>Lat2-Terminus16.psfu.gz</filename> as the
default console font:</para>
<!-- We are using "nodump" for general settings, but not examples. This
is ironic, but needed for the compatibility with jhalfs! -->
<screen role='nodump'><userinput>echo <literal>FONT=Lat2-Terminus16</literal> &gt; /etc/vconsole.conf</userinput></screen>
<para>An example for a German keyboard and console is given below:</para> <para>An example for a German keyboard and console is given below:</para>
<!-- This is what is used by jhalfs for creating the vconsole.conf file. <!-- This is what is used by jhalfs for creating the vconsole.conf file.
Whenever you want to change the following, please inform the jhalfs Whenever you want to change the following, please inform the jhalfs

View File

@ -5,18 +5,21 @@
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-config-locale" revision="systemd"> <sect1 id="ch-config-locale">
<?dbhtml filename="locale.html"?> <?dbhtml filename="locale.html"?>
<title>Configuring the System Locale</title> <title>Configuring the System Locale</title>
<indexterm zone="ch-config-locale"> <indexterm zone="ch-config-locale">
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary> <primary sortas="e-/etc/profile">/etc/profile</primary>
</indexterm> </indexterm>
<para>The <filename>/etc/locale.conf</filename> file below sets some <indexterm zone="ch-config-locale" revision='systemd'>
environment variables necessary for native language support. Setting <primary sortas="e-/etc/profile">/etc/locale.conf</primary>
them properly results in:</para> </indexterm>
<para>Some environment variables are necessary for native language
support. Setting them properly results in:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -39,35 +42,37 @@
</itemizedlist> </itemizedlist>
<para>Replace <replaceable>&lt;ll&gt;</replaceable> below with the two-letter code <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 <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 be replaced with the canonical charmap for your chosen locale. Optional
modifiers such as <quote>@euro</quote> may also be present.</para> modifiers such as <literal>@euro</literal> may also be present.</para>
<para>The list of all locales supported by Glibc can be obtained by running <para>The list of all locales supported by Glibc can be obtained by running
the following command:</para> the following command:</para>
<screen role="nodump"><userinput>locale -a</userinput></screen> <screen role="nodump"><userinput>locale -a</userinput></screen>
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote> <para>Charmaps can have a number of aliases, e.g.,
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591</quote>. <literal>ISO-8859-1</literal> is also referred to as
<literal>iso8859-1</literal> and <literal>iso88591</literal>.
Some applications cannot handle the various synonyms correctly (e.g., require Some applications cannot handle the various synonyms correctly (e.g., require
that <quote>UTF-8</quote> is written as <quote>UTF-8</quote>, not that <literal>UTF-8</literal> is written as <literal>UTF-8</literal>, not
<quote>utf8</quote>), so it is the safest in most <literal>utf8</literal>), so it is the safest in most
cases to choose the canonical name for a particular locale. To determine cases to choose the canonical name for a particular locale. To determine
the canonical name, run the following command, where <replaceable>&lt;locale the canonical name, run the following command, where <replaceable>&lt;locale
name&gt;</replaceable> is the output given by <command>locale -a</command> for 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> <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> will print:</para>
<screen><computeroutput>ISO-8859-1</computeroutput></screen> <screen><computeroutput>ISO-8859-1</computeroutput></screen>
<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>. <para>This results in a final locale setting of <literal>en_GB.ISO-8859-1</literal>.
It is important that the locale found using the heuristic above is tested prior It is important that the locale found using the heuristic above is tested prior
to it being added to the Bash startup files:</para> to it being added to the Bash startup files:</para>
@ -90,66 +95,115 @@ LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
Further instructions assume that there are no such error messages from Further instructions assume that there are no such error messages from
Glibc.</para> Glibc.</para>
<!-- FIXME: the xlib example will become obsolete in the future.-->
<para>Some packages beyond LFS may also lack support for your chosen locale. One
example is the X library (part of the X Window System), which outputs the
following error message if the locale does not exactly match one of the character
map names in its internal files:</para>
<screen><computeroutput>Warning: locale not supported by Xlib, locale set to C</computeroutput></screen>
<para>In several cases Xlib expects that the character map will be listed in
uppercase notation with canonical dashes. For instance, "ISO-8859-1" rather
than "iso88591". It is also possible to find an appropriate specification by
removing the charmap part of the locale specification. This can be checked
by running the <command>locale charmap</command> command in both locales.
For example, one would have to change "de_DE.ISO-8859-15@euro" to
"de_DE@euro" in order to get this locale recognized by Xlib.</para>
<para>Other packages can also function incorrectly (but may not necessarily <para>Other packages can also function incorrectly (but may not necessarily
display any error messages) if the locale name does not meet their expectations. display any error messages) if the locale name does not meet their expectations.
In those cases, investigating how other Linux distributions support your locale In those cases, investigating how other Linux distributions support your locale
might provide some useful information.</para> might provide some useful information.</para>
<para>Once the proper locale settings have been determined, create the <para revision='systemd'>Once the proper locale settings have been
<filename>/etc/locale.conf</filename> file:</para> determined, create the <filename>/etc/locale.conf</filename> file:</para>
<screen><userinput>cat &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> <literal>LANG=<replaceable>&lt;ll&gt;_&lt;CC&gt;.&lt;charmap&gt;&lt;@modifiers&gt;</replaceable></literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>Note that you can modify <filename>/etc/locale.conf</filename> with the <para>The shell program <command>/bin/bash</command> (here after referred
as <quote>the shell</quote>) uses a collection of startup files to help
create the environment to run in. Each file has a specific use and may
affect login and interactive environments differently. The files in the
<filename class="directory">/etc</filename> directory provide global
settings. If equivalent files exist in the home directory, they
may override the global settings.</para>
<para>An interactive login shell is started after a successful login,
using <command>/bin/login</command>, by reading the
<filename>/etc/passwd</filename> file. An interactive non-login shell is
started at the command-line (e.g.
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A
non-interactive shell is usually present when a shell script is running.
It is non-interactive because it is processing a script and not waiting
for user input between commands.</para>
<para><phrase revision='systemd'>The login shells are often unaffected by
the settings in <filename>/etc/locale.conf</filename>. </phrase>Create the
<filename>/etc/profile</filename>
<phrase revision='sysv'>once the proper locale settings have been
determined to set the desired locale</phrase><phrase
revision='systemd'>to read the locale settings from
<filename>/etc/locale.conf</filename> and export them</phrase>,
but set the <literal>C.UTF-8</literal> locale instead if running in the Linux
console (to prevent programs from outputting characters that the Linux
console is unable to render):</para>
<screen revision="systemd"><userinput>cat &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 systemd <command>localectl</command> utility. To use
<command>localectl</command> for the example above, run:</para> <command>localectl</command> for the example above, run:</para>
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable>&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 <para revision='systemd'>You can also specify other language specific
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or environment variables such as <envar>LANG</envar>,
any other environment variable from <command>locale</command> output. Just <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or any other
separate them with a space. An example where <envar>LANG</envar> is set as environment variable from <command>locale</command> output. Just separate
them with a space. An example where <envar>LANG</envar> is set as
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para> en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen> <screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
<note><para>Please note that the <command>localectl</command> command <note revision='systemd'><para>Please note that the
doesn't work in the chroot environment. It can only <command>localectl</command> command doesn't work in the chroot
be used after the LFS system is booted with systemd.</para></note> environment. It can only be used after the LFS system is booted with
systemd.</para></note>
<para>The <quote>C</quote> (default) and <quote>en_US</quote> (the recommended <para>The <literal>C</literal> (default) and <literal>en_US</literal>
one for United States English users) locales are different. <quote>C</quote> (the recommended one for United States English users) locales are
different. <literal>C</literal>
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
as invalid characters. That's why, e.g., the <command>ls</command> command as invalid characters. That's why, e.g., the <command>ls</command> command
substitutes them with question marks in that locale. Also, an attempt to send substitutes them with question marks in that locale. Also, an attempt to send
mail with such characters from Mutt or Pine results in non-RFC-conforming mail with such characters from Mutt or Pine results in non-RFC-conforming
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown messages being sent (the charset in the outgoing mail is indicated as
8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only <computeroutput>unknown 8-bit</computeroutput>). It's suggested that you
use the <literal>C</literal> locale only
if you are certain that you will never need 8-bit characters.</para> if you are certain that you will never need 8-bit characters.</para>
<!--
<para>UTF-8 based locales are not supported well by many programs.
Work is in progress to document and, if possible, fix such problems, see
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
-->
</sect1> </sect1>

View File

@ -62,9 +62,9 @@ EOF</userinput></screen>
<para>The values in italics must be changed in each file, to set <para>The values in italics must be changed in each file, to set
the interfaces up correctly.</para> the interfaces up correctly.</para>
<para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the <para>If the <envar>ONBOOT</envar> variable is set to <literal>yes</literal> the
System V network script will bring up the Network Interface Card (NIC) during System V network script will bring up the Network Interface Card (NIC) during
the system boot process. If set to anything besides <quote>yes</quote>, the NIC the system boot process. If set to anything besides <literal>yes</literal>, the NIC
will be ignored by the network script and will not be started automatically. will be ignored by the network script and will not be started automatically.
Interfaces can be manually started or stopped with the Interfaces can be manually started or stopped with the
<command>ifup</command> and <command>ifdown</command> commands.</para> <command>ifup</command> and <command>ifdown</command> commands.</para>

View File

@ -50,9 +50,11 @@
<filename class="extension">.netdev</filename> and <filename class="extension">.netdev</filename> and
<filename class="extension">.network</filename> files. For detailed <filename class="extension">.network</filename> files. For detailed
descriptions and example contents of these configuration files, consult descriptions and example contents of these configuration files, consult
the <filename>systemd-link(5)</filename>, the <ulink role='man' url='&man;systemd-link.5'>systemd-link(5)</ulink>,
<filename>systemd-netdev(5)</filename> and <ulink role='man' url='&man;systemd-netdev.5'>systemd-netdev(5)</ulink>,
<filename>systemd-network(5)</filename> manual pages.</para> and <ulink role='man'
url='&man;systemd-network.5'>systemd-network(5)</ulink> manual
pages.</para>
<sect3 id="systemd-network-devices"> <sect3 id="systemd-network-devices">
<title>Network Device Naming</title> <title>Network Device Naming</title>
@ -89,18 +91,20 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>
Mask udev's .link file for the default policy: Mask udev's <filename class='extension'>.link</filename> file
for the default policy:
<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen> <screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Create a manual naming scheme, for example by naming the Create a manual naming scheme, for example by naming the
interfaces something like "internet0", "dmz0", or "lan0". interfaces something like <literal>internet0</literal>,
To do that, create .link files in /etc/systemd/network/ that <literal>dmz0</literal>, or <literal>lan0</literal>.
select an explicit name or a better naming scheme for your To do that, create <filename class='extension'>.link</filename>
network interfaces. For example: files in /etc/systemd/network/ that select an explicit name or a
better naming scheme for your network interfaces. For example:
</para> </para>
<screen role="nodump"><userinput>cat &gt; /etc/systemd/network/10-ether0.link &lt;&lt; "EOF" <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> EOF</userinput></screen>
<para> <para>
See <filename>systemd.link(5)</filename> for more information. See <ulink role='man' url='&man;systemd.link.5'>systemd.link(5)</ulink> for more information.
</para> </para>
</listitem> </listitem>
@ -357,7 +361,9 @@ EOF</userinput></screen>
<literal>localhost.localdomain</literal>, or the hostname (without a <literal>localhost.localdomain</literal>, or the hostname (without a
domain) because they are handled by the domain) because they are handled by the
<systemitem class='library'>myhostname</systemitem> NSS module, read <systemitem class='library'>myhostname</systemitem> NSS module, read
the man page <filename>nss-myhostname(8)</filename> for details.</para> the man page <ulink role='man'
url='&man;nss-myhostname.8'>nss-myhostname(8)</ulink> for
details.</para>
<para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents <para>The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents
the IPv6 loopback interface.</para> the IPv6 loopback interface.</para>

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

View File

@ -129,13 +129,13 @@
program and are usually related to the bus-specific identifiers of devices program and are usually related to the bus-specific identifiers of devices
supported by a module. For example, the <emphasis>snd-fm801</emphasis> supported by a module. For example, the <emphasis>snd-fm801</emphasis>
driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801, driver supports PCI devices with vendor ID 0x1319 and device ID 0x0801,
and has an alias of <quote>pci:v00001319d00000801sv*sd*bc04sc01i*</quote>. and has an alias of <literal>pci:v00001319d00000801sv*sd*bc04sc01i*</literal>.
For most devices, the bus driver exports the alias of the driver that For most devices, the bus driver exports the alias of the driver that
would handle the device via <systemitem would handle the device via <systemitem
class="filesystem">sysfs</systemitem>. E.g., the class="filesystem">sysfs</systemitem>. E.g., the
<filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file <filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file
might contain the string might contain the string
<quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>. <literal>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</literal>.
The default rules provided with udev will cause <command>udevd</command> The default rules provided with udev will cause <command>udevd</command>
to call out to <command>/sbin/modprobe</command> with the contents of the to call out to <command>/sbin/modprobe</command> with the contents of the
<envar>MODALIAS</envar> uevent environment variable (which should be the <envar>MODALIAS</envar> uevent environment variable (which should be the
@ -225,8 +225,9 @@
<para>Note that the <quote>softdep</quote> command also allows <para>Note that the <quote>softdep</quote> command also allows
<literal>pre:</literal> dependencies, or a mixture of both <literal>pre:</literal> dependencies, or a mixture of both
<literal>pre:</literal> and <literal>post:</literal> dependencies. See <literal>pre:</literal> and <literal>post:</literal> dependencies. See
the <filename>modprobe.d(5)</filename> manual page for more information the <ulink role='man' url='&man;modprobe.d.5'>modprobe.d(5)</ulink>
on <quote>softdep</quote> syntax and capabilities.</para> manual page for more information on <quote>softdep</quote> syntax and
capabilities.</para>
<para revision="sysv">If the module in question is not a wrapper and is <para revision="sysv">If the module in question is not a wrapper and is
useful by itself, configure the <command>modules</command> bootscript to useful by itself, configure the <command>modules</command> bootscript to
@ -300,7 +301,7 @@
<para>This is due to the fact that udev, by design, handles uevents and <para>This is due to the fact that udev, by design, handles uevents and
loads modules in parallel, and thus in an unpredictable order. This will loads modules in parallel, and thus in an unpredictable order. This will
never be <quote>fixed</quote>. You should not rely upon the kernel device never be <quote>fixed.</quote> You should not rely upon the kernel device
names being stable. Instead, create your own rules that make symlinks with names being stable. Instead, create your own rules that make symlinks with
stable names based on some stable attributes of the device, such as a stable names based on some stable attributes of the device, such as a
serial number or the output of various *_id utilities installed by udev. serial number or the output of various *_id utilities installed by udev.

View File

@ -32,7 +32,8 @@
<para>SysVinit (which will be referred to as <quote>init</quote> from now on) <para>SysVinit (which will be referred to as <quote>init</quote> from now on)
uses a run levels scheme. There are seven run levels, numbered 0 to 6. uses a run levels scheme. There are seven run levels, numbered 0 to 6.
(Actually, there are more run levels, but the others are for special cases and are (Actually, there are more run levels, but the others are for special cases and are
generally not used. See <filename>init(8)</filename> for more details.) generally not used. See <ulink role='man'
url='&man;init.8'>init(8)</ulink> for more details.)
Each one of the seven corresponds to actions the computer is supposed to Each one of the seven corresponds to actions the computer is supposed to
perform when it starts up or shuts down. The default run level is 3. Here are the perform when it starts up or shuts down. The default run level is 3. Here are the
descriptions of the different run levels as they are implemented in LFS:</para> descriptions of the different run levels as they are implemented in LFS:</para>
@ -47,11 +48,11 @@
<note> <note>
<para> <para>
Classically, run level 2 above was defined as Classically, run level 2 above was defined as <quote>multi-user
"multi-user mode without networking", but this was only the case mode without networking,</quote> but this was only the case
many years ago when multiple users could connect to a system via many years ago when multiple users could connect to a system via
serial ports. In today's environment it makes no sense, and serial ports. In today's environment it makes no sense, and
we now say it is "reserved". we now say it is <quote>reserved.</quote>
</para> </para>
</note> </note>
@ -341,12 +342,13 @@ EOF</userinput></screen>
url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in url="https://tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. If still in
doubt, look in the <filename class="directory">/usr/share/keymaps</filename> doubt, look in the <filename class="directory">/usr/share/keymaps</filename>
and <filename class="directory">/usr/share/consolefonts</filename> directories and <filename class="directory">/usr/share/consolefonts</filename> directories
for valid keymaps and screen fonts. Read the <filename>loadkeys(1)</filename> and for valid keymaps and screen fonts. Read the <ulink role='man'
<filename>setfont(8)</filename> manual pages to determine the correct url='&man;loadkeys.1'>loadkeys(1)</ulink> and <ulink role='man'
arguments for these programs.</para> url='&man;setfont.8'>setfont(8)</ulink> manual pages to determine the
correct arguments for these programs.</para>
<para>The <filename>/etc/sysconfig/console</filename> file should contain lines <para>The <filename>/etc/sysconfig/console</filename> file should contain lines
of the form: VARIABLE="value". The following variables are recognized:</para> of the form: <envar>VARIABLE=value</envar>. The following variables are recognized:</para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
@ -354,7 +356,7 @@ EOF</userinput></screen>
<listitem> <listitem>
<para>This variable specifies the log level for kernel messages sent <para>This variable specifies the log level for kernel messages sent
to the console as set by <command>dmesg -n</command>. Valid levels are to the console as set by <command>dmesg -n</command>. Valid levels are
from "1" (no messages) to "8". The default level is "7".</para> from <literal>1</literal> (no messages) to <literal>8</literal>. The default level is <literal>7</literal>, which is quite verbose.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -363,7 +365,7 @@ EOF</userinput></screen>
<listitem> <listitem>
<para>This variable specifies the arguments for the <para>This variable specifies the arguments for the
<command>loadkeys</command> program, typically, the name of the keymap <command>loadkeys</command> program, typically, the name of the keymap
to load, e.g., <quote>it</quote>. If this variable is not set, the to load, e.g., <literal>it</literal>. If this variable is not set, the
bootscript will not run the <command>loadkeys</command> program, bootscript will not run the <command>loadkeys</command> program,
and the default kernel keymap will be used. Note that a few keymaps and the default kernel keymap will be used. Note that a few keymaps
have multiple versions with the same name (cz and its variants in have multiple versions with the same name (cz and its variants in
@ -382,7 +384,7 @@ EOF</userinput></screen>
<command>loadkeys</command> program. This is useful if the stock keymap <command>loadkeys</command> program. This is useful if the stock keymap
is not completely satisfactory and a small adjustment has to be made. E.g., is not completely satisfactory and a small adjustment has to be made. E.g.,
to include the Euro sign into a keymap that normally doesn't have it, to include the Euro sign into a keymap that normally doesn't have it,
set this variable to <quote>euro2</quote>.</para> set this variable to <literal>euro2</literal>.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -391,12 +393,12 @@ EOF</userinput></screen>
<listitem> <listitem>
<para>This variable specifies the arguments for the <para>This variable specifies the arguments for the
<command>setfont</command> program. Typically, this includes the font <command>setfont</command> program. Typically, this includes the font
name, <quote>-m</quote>, and the name of the application character name, <literal>-m</literal>, and the name of the application character
map to load. E.g., in order to load the <quote>lat1-16</quote> font map to load. E.g., in order to load the <quote>lat1-16</quote> font
together with the <quote>8859-1</quote> application character map together with the <quote>8859-1</quote> application character map
(appropriate in the USA), (appropriate in the USA),
<!-- because of the copyright sign --> <!-- because of the copyright sign -->
set this variable to <quote>lat1-16 -m 8859-1</quote>. set this variable to <literal>lat1-16 -m 8859-1</literal>.
In UTF-8 mode, the kernel uses the application character map to In UTF-8 mode, the kernel uses the application character map to
convert 8-bit key codes to UTF-8. Therefore convert 8-bit key codes to UTF-8. Therefore
the argument of the "-m" parameter should be set to the encoding of the the argument of the "-m" parameter should be set to the encoding of the
@ -408,8 +410,8 @@ EOF</userinput></screen>
<varlistentry> <varlistentry>
<term>UNICODE</term> <term>UNICODE</term>
<listitem> <listitem>
<para>Set this variable to <quote>1</quote>, <quote>yes</quote>, or <para>Set this variable to <literal>1</literal>, <literal>yes</literal>, or
<quote>true</quote> in order to put the <literal>true</literal> in order to put the
console into UTF-8 mode. This is useful in UTF-8 based locales and console into UTF-8 mode. This is useful in UTF-8 based locales and
harmful otherwise.</para> harmful otherwise.</para>
</listitem> </listitem>
@ -430,6 +432,40 @@ EOF</userinput></screen>
<para>Some examples:</para> <para>Some examples:</para>
<itemizedlist> <itemizedlist>
<listitem>
<para>
We'll use <literal>C.UTF-8</literal> as the locale for interactive
sessions in the Linux console in <xref role=','
linkend='ch-config-locale'/> so we should set
<literal>UNICODE</literal> to <literal>1</literal>. And the console
fonts shipped by the <application>Kbd</application> package
containing the glyphs for all characters from the program messages
in the <literal>C.UTF-8</literal> locale are
<filename>LatArCyrHeb*.psfu.gz</filename>,
<filename>LatGrkCyr*.psfu.gz</filename>,
<filename>Lat2-Terminus16.psfu.gz</filename>, and
<filename>pancyrillic.f16.psfu.gz</filename> in
<filename class='directory'>/usr/share/consolefonts</filename> (the
other shipped console fonts lack glyphs of some characters like the
Unicode left/right quotation marks and the Unicode English dash).
So set one of them, for example
<filename>Lat2-Terminus16.psfu.gz</filename> as the default console
font:
</para>
<!-- We are using 'nodump' for the generic setting, but not for an
example (see below). This is deliberate to keep the
compatibility with jhalfs. -->
<screen role='nodump'><userinput>cat &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> <listitem>
<para>For a non-Unicode setup, only the KEYMAP and FONT variables are <para>For a non-Unicode setup, only the KEYMAP and FONT variables are
@ -524,7 +560,7 @@ EOF</userinput></screen>
languages, because there accents are added to unaccented ASCII languages, because there accents are added to unaccented ASCII
characters, or two ASCII characters are composed together. However, in characters, or two ASCII characters are composed together. However, in
UTF-8 mode it is a problem; e.g., for the Greek language, where one UTF-8 mode it is a problem; e.g., for the Greek language, where one
sometimes needs to put an accent on the letter <quote>alpha</quote>. sometimes needs to put an accent on the letter α.
The solution is either to avoid the use of UTF-8, or to install the The solution is either to avoid the use of UTF-8, or to install the
X window system, which doesn't have this limitation, in its input X window system, which doesn't have this limitation, in its input
handling.</para> handling.</para>

View File

@ -56,7 +56,7 @@ EOF</userinput></screen>
class="partition">sda2</filename>, <filename class="partition">sda2</filename>, <filename
class="partition">sda5</filename>, and <systemitem class="partition">sda5</filename>, and <systemitem
class="filesystem">ext4</systemitem>. For details on the six class="filesystem">ext4</systemitem>. For details on the six
fields in this file, see <filename>fstab(5)</filename>.</para> fields in this file, see <ulink role='man' url='&man;fstab.5'>fstab(5)</ulink>.</para>
<para>Filesystems with MS-DOS or Windows origin (i.e. vfat, ntfs, smbfs, <para>Filesystems with MS-DOS or Windows origin (i.e. vfat, ntfs, smbfs,
cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII cifs, iso9660, udf) need a special option, utf8, in order for non-ASCII

View File

@ -190,17 +190,6 @@ umount /sys/firmware/efi/efivars</userinput></screen>
</para> </para>
</note> </note>
<!-- This does not seem to be true any more
<note><para><application>grub-install</application> is a script and calls another
program, grub-probe, that may fail with a message "cannot stat `/dev/root'".
If so, create a temporary symbolic link from your root partition to /dev/root:</para>
<screen role="nodump"><userinput>ln -sv /dev/sda2 /dev/root</userinput></screen>
<para>The symbolic link will only be present until the system is rebooted.
The link is only needed for the installation procedure.
</para></note>
-->
</sect2> </sect2>
<sect2 id="grub-cfg"> <sect2 id="grub-cfg">

View File

@ -87,7 +87,7 @@
un-tarring.</para> un-tarring.</para>
<para>There are several ways to configure the kernel options. Usually, <para>There are several ways to configure the kernel options. Usually,
This is done through a menu-driven interface, for example:</para> this is done through a menu-driven interface, for example:</para>
<screen role="nodump"><userinput>make menuconfig</userinput></screen> <screen role="nodump"><userinput>make menuconfig</userinput></screen>
@ -304,7 +304,8 @@
located in <xref linkend="ch-config-udev"/> and in the kernel located in <xref linkend="ch-config-udev"/> and in the kernel
documentation in the <filename documentation in the <filename
class="directory">linux-&linux-version;/Documentation</filename> directory. class="directory">linux-&linux-version;/Documentation</filename> directory.
Also, <filename>modprobe.d(5)</filename> may be of interest.</para> Also, <ulink role='man' url='&man;modprobe.d.5'>modprobe.d(5)</ulink>
may be of interest.</para>
<para>Unless module support has been disabled in the kernel configuration, <para>Unless module support has been disabled in the kernel configuration,
install the modules with:</para> install the modules with:</para>

View File

@ -130,7 +130,7 @@ mounttype proc proc proc
mounttype sys sysfs sysfs mounttype sys sysfs sysfs
mounttype run tmpfs run mounttype run tmpfs run
if [ -h $LFS/dev/shm ]; then if [ -h $LFS/dev/shm ]; then
mkdir -pv $LFS/$(readlink $LFS/dev/shm) install -v -d -m 1777 $LFS$(realpath /dev/shm)
else else
mounttype dev/shm tmpfs tmpfs -o nosuid,nodev mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
fi fi

View File

@ -92,9 +92,9 @@
<!ENTITY test-results "&lfs-root;lfs/build-logs/&generic-version;/"> <!ENTITY test-results "&lfs-root;lfs/build-logs/&generic-version;/">
<!ENTITY secadv "&lfs-root;lfs/advisories/"> <!ENTITY secadv "&lfs-root;lfs/advisories/">
<!-- 4.14 EOL is Jan 2024 <!-- 4.19 EOL is Dec 2024
so for LFS 11.5 we may consider moving to 4.19 --> so for LFS 12.3 we may consider moving to 5.4 -->
<!ENTITY min-kernel "4.14"> <!ENTITY min-kernel "4.19">
<!-- <!--
<!ENTITY patches-rootd "&lfs-root;patches/lfs/&generic-versiond;/"> <!ENTITY patches-rootd "&lfs-root;patches/lfs/&generic-versiond;/">
@ -125,6 +125,7 @@
<!ENTITY github "https://github.com"> <!ENTITY github "https://github.com">
<!ENTITY pypi-home "https://pypi.org/project"> <!ENTITY pypi-home "https://pypi.org/project">
<!ENTITY pypi-src "https://pypi.org/packages/source"> <!ENTITY pypi-src "https://pypi.org/packages/source">
<!ENTITY man "https://man.archlinux.org/man/">
<!ENTITY root "<systemitem class='username'>root</systemitem>"> <!ENTITY root "<systemitem class='username'>root</systemitem>">
<!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>"> <!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>">

View File

@ -152,6 +152,7 @@ if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/do
if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." ); if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." );
if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags"; if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/tags";
if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files"; if ( $package == "wheel" ) $dirpath = "https://pypi.org/project/wheel/#files";
if ( $package == "xz" ) $dirpath = github("tukaani-project/xz");
if ( $package == "zlib" ) $dirpath = "https://www.zlib.net"; if ( $package == "zlib" ) $dirpath = "https://www.zlib.net";
if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "zstd" ) $dirpath = github("facebook/zstd");

View File

@ -13,12 +13,12 @@
*-knl-* Package info for Kernel stuff *-knl-* Package info for Kernel stuff
--> -->
<!ENTITY acl-version "2.3.1"> <!ENTITY acl-version "2.3.2">
<!ENTITY acl-size "348 KB"> <!ENTITY acl-size "363 KB">
<!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz"> <!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz">
<!ENTITY acl-md5 "95ce715fe09acca7c12d3306d0f076b2"> <!ENTITY acl-md5 "590765dee95907dbc3c856f7255bd669">
<!ENTITY acl-home "&savannah-nongnu;/projects/acl"> <!ENTITY acl-home "&savannah-nongnu;/projects/acl">
<!ENTITY acl-fin-du "6.1 MB"> <!ENTITY acl-fin-du "6.3 MB">
<!ENTITY acl-fin-sbu "less than 0.1 SBU"> <!ENTITY acl-fin-sbu "less than 0.1 SBU">
<!ENTITY attr-version "2.5.2"> <!ENTITY attr-version "2.5.2">
@ -26,7 +26,7 @@
<!ENTITY attr-url "&savannah;/releases/attr/attr-&attr-version;.tar.gz"> <!ENTITY attr-url "&savannah;/releases/attr/attr-&attr-version;.tar.gz">
<!ENTITY attr-md5 "227043ec2f6ca03c0948df5517f9c927"> <!ENTITY attr-md5 "227043ec2f6ca03c0948df5517f9c927">
<!ENTITY attr-home "&savannah-nongnu;/projects/attr"> <!ENTITY attr-home "&savannah-nongnu;/projects/attr">
<!ENTITY attr-fin-du "4.1 MB"> <!ENTITY attr-fin-du "4.2 MB">
<!ENTITY attr-fin-sbu "less than 0.1 SBU"> <!ENTITY attr-fin-sbu "less than 0.1 SBU">
<!ENTITY autoconf-version "2.72"> <!ENTITY autoconf-version "2.72">
@ -34,8 +34,8 @@
<!ENTITY autoconf-url "&gnu;autoconf/autoconf-&autoconf-version;.tar.xz"> <!ENTITY autoconf-url "&gnu;autoconf/autoconf-&autoconf-version;.tar.xz">
<!ENTITY autoconf-md5 "1be79f7106ab6767f18391c5e22be701"> <!ENTITY autoconf-md5 "1be79f7106ab6767f18391c5e22be701">
<!ENTITY autoconf-home "&gnu-software;autoconf/"> <!ENTITY autoconf-home "&gnu-software;autoconf/">
<!ENTITY autoconf-fin-du "24 MB"> <!ENTITY autoconf-fin-du "25 MB">
<!ENTITY autoconf-fin-sbu-tests "6.0"> <!ENTITY autoconf-fin-sbu-tests "0.5">
<!ENTITY autoconf-fin-sbu "less than 0.1 SBU (about &autoconf-fin-sbu-tests; SBU with tests)"> <!ENTITY autoconf-fin-sbu "less than 0.1 SBU (about &autoconf-fin-sbu-tests; SBU with tests)">
<!ENTITY automake-version "1.16.5"> <!ENTITY automake-version "1.16.5">
@ -44,8 +44,8 @@
<!ENTITY automake-url "&gnu;automake/automake-&automake-version;.tar.xz"> <!ENTITY automake-url "&gnu;automake/automake-&automake-version;.tar.xz">
<!ENTITY automake-md5 "4017e96f89fca45ca946f1c5db6be714"> <!ENTITY automake-md5 "4017e96f89fca45ca946f1c5db6be714">
<!ENTITY automake-home "&gnu-software;automake/"> <!ENTITY automake-home "&gnu-software;automake/">
<!ENTITY automake-fin-du "114 MB"> <!ENTITY automake-fin-du "115 MB">
<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 7.0 SBU with tests)"> <!ENTITY automake-fin-sbu "less than 0.1 SBU (about 1.6 SBU with tests)">
<!ENTITY bash-version "5.2.21"> <!ENTITY bash-version "5.2.21">
<!ENTITY bash-size "10,696 KB"> <!ENTITY bash-size "10,696 KB">
@ -55,24 +55,24 @@
<!ENTITY bash-tmp-du "67 MB"> <!ENTITY bash-tmp-du "67 MB">
<!ENTITY bash-tmp-sbu "0.2 SBU"> <!ENTITY bash-tmp-sbu "0.2 SBU">
<!ENTITY bash-fin-du "52 MB"> <!ENTITY bash-fin-du "52 MB">
<!ENTITY bash-fin-sbu "1.1 SBU"> <!ENTITY bash-fin-sbu "1.2 SBU">
<!ENTITY bc-version "6.7.5"> <!ENTITY bc-version "6.7.5">
<!ENTITY bc-size "460 KB"> <!ENTITY bc-size "460 KB">
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
<!ENTITY bc-md5 "e249b1f86f886d6fb71c15f72b65dd3d"> <!ENTITY bc-md5 "e249b1f86f886d6fb71c15f72b65dd3d">
<!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc"> <!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc">
<!ENTITY bc-fin-du "7.7 MB"> <!ENTITY bc-fin-du "7.8 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU"> <!ENTITY bc-fin-sbu "less than 0.1 SBU">
<!ENTITY binutils-version "2.41"> <!ENTITY binutils-version "2.42">
<!ENTITY binutils-size "26,139 KB"> <!ENTITY binutils-size "26,922 KB">
<!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz"> <!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
<!ENTITY binutils-md5 "256d7e0ad998e423030c84483a7c1e30"> <!ENTITY binutils-md5 "a075178a9646551379bfb64040487715">
<!ENTITY binutils-home "&gnu-software;binutils/"> <!ENTITY binutils-home "&gnu-software;binutils/">
<!ENTITY binutils-tmpp1-du "647 MB"> <!ENTITY binutils-tmpp1-du "663 MB">
<!ENTITY binutils-tmpp1-sbu "1 SBU"> <!ENTITY binutils-tmpp1-sbu "1 SBU">
<!ENTITY binutils-tmpp2-du "523 MB"> <!ENTITY binutils-tmpp2-du "537 MB">
<!ENTITY binutils-tmpp2-sbu "0.5 SBU"> <!ENTITY binutils-tmpp2-sbu "0.5 SBU">
<!ENTITY binutils-fin-du "2.7 GB"> <!ENTITY binutils-fin-du "2.7 GB">
<!ENTITY binutils-fin-sbu "2.2 SBU"> <!ENTITY binutils-fin-sbu "2.2 SBU">
@ -86,7 +86,7 @@
<!ENTITY bison-tmp-du "57 MB"> <!ENTITY bison-tmp-du "57 MB">
<!ENTITY bison-tmp-sbu "0.2 SBU"> <!ENTITY bison-tmp-sbu "0.2 SBU">
<!ENTITY bison-fin-du "62 MB"> <!ENTITY bison-fin-du "62 MB">
<!ENTITY bison-fin-sbu "2.2 SBU"> <!ENTITY bison-fin-sbu "2.3 SBU">
<!ENTITY bzip2-version "1.0.8"> <!ENTITY bzip2-version "1.0.8">
<!ENTITY bzip2-size "792 KB"> <!ENTITY bzip2-size "792 KB">
@ -109,10 +109,10 @@
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz"> <!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz">
<!ENTITY coreutils-md5 "459e9546074db2834eefe5421f250025"> <!ENTITY coreutils-md5 "459e9546074db2834eefe5421f250025">
<!ENTITY coreutils-home "&gnu-software;coreutils/"> <!ENTITY coreutils-home "&gnu-software;coreutils/">
<!ENTITY coreutils-tmp-du "168 MB"> <!ENTITY coreutils-tmp-du "173 MB">
<!ENTITY coreutils-tmp-sbu "0.3 SBU"> <!ENTITY coreutils-tmp-sbu "0.3 SBU">
<!ENTITY coreutils-fin-du "165 MB"> <!ENTITY coreutils-fin-du "175 MB">
<!ENTITY coreutils-fin-sbu "0.9 SBU"> <!ENTITY coreutils-fin-sbu "1/0 SBU">
<!ENTITY dbus-version "1.14.10"> <!ENTITY dbus-version "1.14.10">
<!ENTITY dbus-size "1,344 KB"> <!ENTITY dbus-size "1,344 KB">
@ -128,7 +128,7 @@
<!ENTITY dejagnu-md5 "68c5208c58236eba447d7d6d1326b821"> <!ENTITY dejagnu-md5 "68c5208c58236eba447d7d6d1326b821">
<!ENTITY dejagnu-home "&gnu-software;dejagnu/"> <!ENTITY dejagnu-home "&gnu-software;dejagnu/">
<!ENTITY dejagnu-tmp-du "6.9 MB"> <!ENTITY dejagnu-tmp-du "6.9 MB">
<!ENTITY dejagnu-tmp-sbu "less than 0.1 SBU"> <!ENTITY dejagnu-tmp-sbu "0.1 SBU">
<!ENTITY diffutils-version "3.10"> <!ENTITY diffutils-version "3.10">
<!ENTITY diffutils-size "1,587 KB"> <!ENTITY diffutils-size "1,587 KB">
@ -146,22 +146,22 @@
<!ENTITY e2fsprogs-md5 "6b4f18a33873623041857b4963641ee9"> <!ENTITY e2fsprogs-md5 "6b4f18a33873623041857b4963641ee9">
<!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net/"> <!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net/">
<!ENTITY e2fsprogs-fin-du "95 MB"> <!ENTITY e2fsprogs-fin-du "95 MB">
<!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.6 SBU on an SSD"> <!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.4 SBU on an SSD">
<!ENTITY elfutils-version "0.190"> <!-- libelf --> <!ENTITY elfutils-version "0.190"> <!-- libelf -->
<!ENTITY elfutils-size "8,949 KB"> <!ENTITY elfutils-size "8,949 KB">
<!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2"> <!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
<!ENTITY elfutils-md5 "79ad698e61a052bea79e77df6a08bc4b"> <!ENTITY elfutils-md5 "79ad698e61a052bea79e77df6a08bc4b">
<!ENTITY elfutils-home "https://sourceware.org/elfutils/"> <!ENTITY elfutils-home "https://sourceware.org/elfutils/">
<!ENTITY elfutils-fin-du "122 MB"> <!ENTITY elfutils-fin-du "124 MB">
<!ENTITY elfutils-fin-sbu "0.3 SBU"> <!ENTITY elfutils-fin-sbu "0.3 SBU">
<!ENTITY expat-version "2.5.0"> <!ENTITY expat-version "2.6.0">
<!ENTITY expat-size "450 KB"> <!ENTITY expat-size "473 KB">
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz"> <!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz">
<!ENTITY expat-md5 "ac6677b6d1b95d209ab697ce8b688704"> <!ENTITY expat-md5 "bd169cb11f4b9bdfddadf9e88a5c4d4b">
<!ENTITY expat-home "https://libexpat.github.io/"> <!ENTITY expat-home "https://libexpat.github.io/">
<!ENTITY expat-fin-du "12 MB"> <!ENTITY expat-fin-du "13 MB">
<!ENTITY expat-fin-sbu "0.1 SBU"> <!ENTITY expat-fin-sbu "0.1 SBU">
<!ENTITY expect-version "5.45.4"> <!ENTITY expect-version "5.45.4">
@ -205,7 +205,7 @@
<!ENTITY flit-core-url "&pypi-src;/f/flit-core/flit_core-&flit-core-version;.tar.gz"> <!ENTITY flit-core-url "&pypi-src;/f/flit-core/flit_core-&flit-core-version;.tar.gz">
<!ENTITY flit-core-md5 "3bc52f1952b9a78361114147da63c35b"> <!ENTITY flit-core-md5 "3bc52f1952b9a78361114147da63c35b">
<!ENTITY flit-core-home "&pypi-home;/flit-core/"> <!ENTITY flit-core-home "&pypi-home;/flit-core/">
<!ENTITY flit-core-fin-du "1.7 MB"> <!ENTITY flit-core-fin-du "1.6 MB">
<!ENTITY flit-core-fin-sbu "less than 0.1 SBU"> <!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
<!ENTITY gawk-version "5.3.0"> <!ENTITY gawk-version "5.3.0">
@ -213,9 +213,9 @@
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
<!ENTITY gawk-md5 "97c5a7d83f91a7e1b2035ebbe6ac7abd"> <!ENTITY gawk-md5 "97c5a7d83f91a7e1b2035ebbe6ac7abd">
<!ENTITY gawk-home "&gnu-software;gawk/"> <!ENTITY gawk-home "&gnu-software;gawk/">
<!ENTITY gawk-tmp-du "48 MB"> <!ENTITY gawk-tmp-du "47 MB">
<!ENTITY gawk-tmp-sbu "0.1 SBU"> <!ENTITY gawk-tmp-sbu "0.1 SBU">
<!ENTITY gawk-fin-du "46 MB"> <!ENTITY gawk-fin-du "42 MB">
<!ENTITY gawk-fin-sbu "0.1 SBU"> <!ENTITY gawk-fin-sbu "0.1 SBU">
<!ENTITY gcc-version "13.2.0"> <!ENTITY gcc-version "13.2.0">
@ -223,10 +223,10 @@
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz"> <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz">
<!ENTITY gcc-md5 "e0e48554cc6e4f261d55ddee9ab69075"> <!ENTITY gcc-md5 "e0e48554cc6e4f261d55ddee9ab69075">
<!ENTITY gcc-home "https://gcc.gnu.org/"> <!ENTITY gcc-home "https://gcc.gnu.org/">
<!ENTITY gcc-tmpp1-du "4.2 GB"> <!ENTITY gcc-tmpp1-du "4.1 GB">
<!ENTITY gcc-tmpp1-sbu "3.5 SBU"> <!ENTITY gcc-tmpp1-sbu "3.8 SBU">
<!ENTITY gcc-tmpp2-du "4.8 GB"> <!ENTITY gcc-tmpp2-du "4.8 GB">
<!ENTITY gcc-tmpp2-sbu "4.3 SBU"> <!ENTITY gcc-tmpp2-sbu "4.4 SBU">
<!ENTITY gcc-fin-du "5.5 GB "> <!ENTITY gcc-fin-du "5.5 GB ">
<!ENTITY gcc-fin-sbu "42 SBU (with tests)"> <!ENTITY gcc-fin-sbu "42 SBU (with tests)">
<!ENTITY libquadmath-version "0.0.0"> <!ENTITY libquadmath-version "0.0.0">
@ -243,7 +243,7 @@
<!ENTITY gdbm-md5 "8551961e36bf8c70b7500d255d3658ec"> <!ENTITY gdbm-md5 "8551961e36bf8c70b7500d255d3658ec">
<!ENTITY gdbm-home "&gnu-software;gdbm/"> <!ENTITY gdbm-home "&gnu-software;gdbm/">
<!ENTITY gdbm-fin-du "13 MB"> <!ENTITY gdbm-fin-du "13 MB">
<!ENTITY gdbm-fin-sbu "less than 0.1 SBU"> <!ENTITY gdbm-fin-sbu "0.1 SBU">
<!ENTITY gettext-version "0.22.4"> <!ENTITY gettext-version "0.22.4">
<!ENTITY gettext-size "10,016 KB"> <!ENTITY gettext-size "10,016 KB">
@ -255,15 +255,15 @@
<!ENTITY gettext-fin-du "250 MB"> <!ENTITY gettext-fin-du "250 MB">
<!ENTITY gettext-fin-sbu "1.4 SBU"> <!ENTITY gettext-fin-sbu "1.4 SBU">
<!ENTITY glibc-version "2.38"> <!ENTITY glibc-version "2.39">
<!ENTITY glibc-size "18,471 KB"> <!ENTITY glibc-size "18,092 KB">
<!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz"> <!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz">
<!ENTITY glibc-md5 "778cce0ea6bf7f84ca8caacf4a01f45b"> <!ENTITY glibc-md5 "be81e87f72b5ea2c0ffe2bedfeb680c6">
<!ENTITY glibc-home "&gnu-software;libc/"> <!ENTITY glibc-home "&gnu-software;libc/">
<!ENTITY glibc-tmp-du "858 MB"> <!ENTITY glibc-tmp-du "846 MB">
<!ENTITY glibc-tmp-sbu "1.6 SBU"> <!ENTITY glibc-tmp-sbu "1.5 SBU">
<!ENTITY glibc-fin-du "3.0 GB"> <!ENTITY glibc-fin-du "3.1 GB">
<!ENTITY glibc-fin-sbu "11 SBU"> <!ENTITY glibc-fin-sbu "12 SBU">
<!ENTITY gmp-version "6.3.0"> <!ENTITY gmp-version "6.3.0">
<!ENTITY gmp-size "2,046 KB"> <!ENTITY gmp-size "2,046 KB">
@ -304,7 +304,7 @@
<!ENTITY grub-url "https://ftp.gnu.org/gnu/grub/grub-&grub-version;.tar.xz"> <!ENTITY grub-url "https://ftp.gnu.org/gnu/grub/grub-&grub-version;.tar.xz">
<!ENTITY grub-md5 "60c564b1bdc39d8e43b3aab4bc0fb140"> <!ENTITY grub-md5 "60c564b1bdc39d8e43b3aab4bc0fb140">
<!ENTITY grub-home "&gnu-software;grub/"> <!ENTITY grub-home "&gnu-software;grub/">
<!ENTITY grub-fin-du "161 MB"> <!ENTITY grub-fin-du "166 MB">
<!ENTITY grub-fin-sbu "0.3 SBU"> <!ENTITY grub-fin-sbu "0.3 SBU">
<!ENTITY gzip-version "1.13"> <!ENTITY gzip-version "1.13">
@ -317,10 +317,10 @@
<!ENTITY gzip-fin-du "21 MB"> <!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU"> <!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20240117"> <!ENTITY iana-etc-version "20240125">
<!ENTITY iana-etc-size "596 KB"> <!ENTITY iana-etc-size "589 KB">
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
<!ENTITY iana-etc-md5 "215feb4b55043a6c18e84a5ed58b705f"> <!ENTITY iana-etc-md5 "aed66d04de615d76c70890233081e584">
<!ENTITY iana-etc-home "https://www.iana.org/protocols"> <!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB"> <!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -330,7 +330,7 @@
<!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz"> <!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz">
<!ENTITY inetutils-md5 "9e5a6dfd2d794dc056a770e8ad4a9263"> <!ENTITY inetutils-md5 "9e5a6dfd2d794dc056a770e8ad4a9263">
<!ENTITY inetutils-home "&gnu-software;inetutils/"> <!ENTITY inetutils-home "&gnu-software;inetutils/">
<!ENTITY inetutils-fin-du "31 MB"> <!ENTITY inetutils-fin-du "35 MB">
<!ENTITY inetutils-fin-sbu "0.2 SBU"> <!ENTITY inetutils-fin-sbu "0.2 SBU">
<!ENTITY intltool-version "0.51.0"> <!ENTITY intltool-version "0.51.0">
@ -353,8 +353,8 @@
<!ENTITY jinja2-size "264 KB"> <!ENTITY jinja2-size "264 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz"> <!ENTITY jinja2-url "&pypi-src;/J/Jinja2/Jinja2-&jinja2-version;.tar.gz">
<!ENTITY jinja2-md5 "caf5418c851eac59e70a78d9730d4cea"> <!ENTITY jinja2-md5 "caf5418c851eac59e70a78d9730d4cea">
<!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.0.x/"> <!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.1.x/">
<!ENTITY jinja2-fin-du "3.4 MB"> <!ENTITY jinja2-fin-du "3.2 MB">
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU"> <!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
<!ENTITY kbd-version "2.6.4"> <!ENTITY kbd-version "2.6.4">
@ -362,7 +362,7 @@
<!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz"> <!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz">
<!ENTITY kbd-md5 "e2fd7adccf6b1e98eb1ae8d5a1ce5762"> <!ENTITY kbd-md5 "e2fd7adccf6b1e98eb1ae8d5a1ce5762">
<!ENTITY kbd-home "https://kbd-project.org/"> <!ENTITY kbd-home "https://kbd-project.org/">
<!ENTITY kbd-fin-du "35 MB"> <!ENTITY kbd-fin-du "34 MB">
<!ENTITY kbd-fin-sbu "0.1 SBU"> <!ENTITY kbd-fin-sbu "0.1 SBU">
<!ENTITY kmod-version "31"> <!ENTITY kmod-version "31">
@ -419,7 +419,7 @@
<!ENTITY libtool-md5 "2fc0b6ddcd66a89ed6e45db28fa44232"> <!ENTITY libtool-md5 "2fc0b6ddcd66a89ed6e45db28fa44232">
<!ENTITY libtool-home "&gnu-software;libtool/"> <!ENTITY libtool-home "&gnu-software;libtool/">
<!ENTITY libtool-fin-du "45 MB"> <!ENTITY libtool-fin-du "45 MB">
<!ENTITY libtool-fin-sbu "1.3 SBU"> <!ENTITY libtool-fin-sbu "0.6 SBU">
<!ENTITY libxcrypt-version "4.4.36"> <!ENTITY libxcrypt-version "4.4.36">
<!ENTITY libxcrypt-size "610 KB"> <!ENTITY libxcrypt-size "610 KB">
@ -431,12 +431,12 @@
<!ENTITY linux-major-version "6"> <!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "7"> <!ENTITY linux-minor-version "7">
<!ENTITY linux-patch-version "1"> <!ENTITY linux-patch-version "4">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "138,096 KB"> <!ENTITY linux-size "138,130 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "d8a7394e0e349dd373e9722e141c8b61"> <!ENTITY linux-md5 "370e1b6155ae63133380e421146619e0">
<!ENTITY linux-home "https://www.kernel.org/"> <!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
allnoconfig + some configs we recommend for the users, rounded down to allnoconfig + some configs we recommend for the users, rounded down to
@ -475,29 +475,29 @@
<!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz"> <!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz">
<!ENTITY man-db-md5 "67e0052fa200901b314fad7b68c9db27"> <!ENTITY man-db-md5 "67e0052fa200901b314fad7b68c9db27">
<!ENTITY man-db-home "https://www.nongnu.org/man-db/"> <!ENTITY man-db-home "https://www.nongnu.org/man-db/">
<!ENTITY man-db-fin-du "40 MB"> <!ENTITY man-db-fin-du "41 MB">
<!ENTITY man-db-fin-sbu "0.2 SBU"> <!ENTITY man-db-fin-sbu "0.2 SBU">
<!ENTITY man-pages-version "6.05.01"> <!ENTITY man-pages-version "6.06">
<!ENTITY man-pages-size "2,144 KB"> <!ENTITY man-pages-size "2,116 KB">
<!ENTITY man-pages-url "&kernel;linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz"> <!ENTITY man-pages-url "&kernel;linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz">
<!ENTITY man-pages-md5 "de4563b797cf9b1e0b0d73628b35e442"> <!ENTITY man-pages-md5 "26b39e38248144156d437e1e10cb20bf">
<!ENTITY man-pages-home "https://www.kernel.org/doc/man-pages/"> <!ENTITY man-pages-home "https://www.kernel.org/doc/man-pages/">
<!ENTITY man-pages-fin-du "33 MB"> <!ENTITY man-pages-fin-du "33 MB">
<!ENTITY man-pages-fin-sbu "less than 0.1 SBU"> <!ENTITY man-pages-fin-sbu "less than 0.1 SBU">
<!ENTITY markupsafe-version "2.1.4"> <!ENTITY markupsafe-version "2.1.5">
<!ENTITY markupsafe-size "20 KB"> <!ENTITY markupsafe-size "19 KB">
<!ENTITY markupsafe-url "&pypi-src;/M/MarkupSafe/MarkupSafe-&markupsafe-version;.tar.gz"> <!ENTITY markupsafe-url "&pypi-src;/M/MarkupSafe/MarkupSafe-&markupsafe-version;.tar.gz">
<!ENTITY markupsafe-md5 "8138329a11cf4bd0f9db780b2af26c66"> <!ENTITY markupsafe-md5 "8fe7227653f2fb9b1ffe7f9f2058998a">
<!ENTITY markupsafe-home "https://palletsprojects.com/p/markupsafe/"> <!ENTITY markupsafe-home "https://palletsprojects.com/p/markupsafe/">
<!ENTITY markupsafe-fin-du "548 KB"> <!ENTITY markupsafe-fin-du "508 KB">
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "1.3.1"> <!ENTITY meson-version "1.3.2">
<!ENTITY meson-size "2,172 KB"> <!ENTITY meson-size "2,172 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "dd404b8c0f8b79f80181b4a58bb81768"> <!ENTITY meson-md5 "2d0ebd3a24249617b1c4d30026380cf8">
<!ENTITY meson-home "https://mesonbuild.com"> <!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "42 MB"> <!ENTITY meson-fin-du "42 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU"> <!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -515,8 +515,8 @@
<!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz"> <!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz">
<!ENTITY mpfr-md5 "523c50c6318dde6f9dc523bc0244690a"> <!ENTITY mpfr-md5 "523c50c6318dde6f9dc523bc0244690a">
<!ENTITY mpfr-home "https://www.mpfr.org/"> <!ENTITY mpfr-home "https://www.mpfr.org/">
<!ENTITY mpfr-fin-du "43 MB"> <!ENTITY mpfr-fin-du "44 MB">
<!ENTITY mpfr-fin-sbu "0.2 SBU"> <!ENTITY mpfr-fin-sbu "0.3 SBU">
<!ENTITY ncurses-release "6.4"> <!ENTITY ncurses-release "6.4">
<!ENTITY ncurses-version "&ncurses-release;-20230520"> <!ENTITY ncurses-version "&ncurses-release;-20230520">
@ -539,13 +539,13 @@
<!ENTITY ninja-fin-du "75 MB"> <!ENTITY ninja-fin-du "75 MB">
<!ENTITY ninja-fin-sbu "0.3 SBU"> <!ENTITY ninja-fin-sbu "0.3 SBU">
<!ENTITY openssl-version "3.2.0"> <!ENTITY openssl-version "3.2.1">
<!ENTITY openssl-size "17,284 KB"> <!ENTITY openssl-size "17,318 KB">
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz"> <!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
<!ENTITY openssl-md5 "7903549a14abebc5c323ce4e85f2cbb2"> <!ENTITY openssl-md5 "c239213887804ba00654884918b37441">
<!ENTITY openssl-home "https://www.openssl.org/"> <!ENTITY openssl-home "https://www.openssl.org/">
<!ENTITY openssl-fin-du "587 MB"> <!ENTITY openssl-fin-du "805 MB">
<!ENTITY openssl-fin-sbu "3.0 SBU"> <!ENTITY openssl-fin-sbu "1.8 SBU">
<!ENTITY patch-version "2.7.6"> <!ENTITY patch-version "2.7.6">
<!ENTITY patch-size "766 KB"> <!ENTITY patch-size "766 KB">
@ -569,12 +569,12 @@
<!ENTITY perl-tmp-du "280 MB"> <!ENTITY perl-tmp-du "280 MB">
<!ENTITY perl-tmp-sbu "0.6 SBU"> <!ENTITY perl-tmp-sbu "0.6 SBU">
<!ENTITY perl-fin-du "239 MB"> <!ENTITY perl-fin-du "239 MB">
<!ENTITY perl-fin-sbu "7.1 SBU"> <!ENTITY perl-fin-sbu "1.5 SBU">
<!ENTITY pkgconf-version "2.1.0"> <!ENTITY pkgconf-version "2.1.1">
<!ENTITY pkgconf-size "305 KB"> <!ENTITY pkgconf-size "305 KB">
<!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz"> <!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz">
<!ENTITY pkgconf-md5 "0f2eadbb9dea5aed95147272ae1592cc"> <!ENTITY pkgconf-md5 "bc29d74c2483197deb9f1f3b414b7918">
<!ENTITY pkgconf-home "http://pkgconf.org/"> <!ENTITY pkgconf-home "http://pkgconf.org/">
<!ENTITY pkgconf-fin-du "4.6 MB"> <!ENTITY pkgconf-fin-du "4.6 MB">
<!ENTITY pkgconf-fin-sbu "less than 0.1 SBU"> <!ENTITY pkgconf-fin-sbu "less than 0.1 SBU">
@ -584,7 +584,7 @@
<!ENTITY procps-ng-url "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-&procps-ng-version;.tar.xz"> <!ENTITY procps-ng-url "https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-&procps-ng-version;.tar.xz">
<!ENTITY procps-ng-md5 "2f747fc7df8ccf402d03e375c565cf96"> <!ENTITY procps-ng-md5 "2f747fc7df8ccf402d03e375c565cf96">
<!ENTITY procps-ng-home "https://sourceforge.net/projects/procps-ng"> <!ENTITY procps-ng-home "https://sourceforge.net/projects/procps-ng">
<!ENTITY procps-ng-fin-du "25 MB"> <!ENTITY procps-ng-fin-du "27 MB">
<!ENTITY procps-ng-fin-sbu "0.1 SBU"> <!ENTITY procps-ng-fin-sbu "0.1 SBU">
<!ENTITY psmisc-version "23.6"> <!ENTITY psmisc-version "23.6">
@ -598,19 +598,19 @@
<!-- If python minor version changes, updates in python and <!-- If python minor version changes, updates in python and
meson pages will be needed: python3.6 and python3.6m --> meson pages will be needed: python3.6 and python3.6m -->
<!ENTITY python-version "3.12.1"> <!ENTITY python-version "3.12.2">
<!ENTITY python-minor "3.12"> <!ENTITY python-minor "3.12">
<!ENTITY python-size "20,102 KB"> <!ENTITY python-size "20,109 KB">
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
<!ENTITY python-md5 "50f827c800483776c8ef86e6a53831fa"> <!ENTITY python-md5 "e7c178b97bf8f7ccd677b94d614f7b3c">
<!ENTITY python-home "https://www.python.org/"> <!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "533 MB"> <!ENTITY python-tmp-du "598 MB">
<!ENTITY python-tmp-sbu "0.4 SBU"> <!ENTITY python-tmp-sbu "0.5 SBU">
<!ENTITY python-fin-du "370 MB"> <!ENTITY python-fin-du "485 MB">
<!ENTITY python-fin-sbu "1.9 SBU"> <!ENTITY python-fin-sbu "1.8 SBU">
<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
<!ENTITY python-docs-md5 "d5c21b804c219b06256495eae30fd153"> <!ENTITY python-docs-md5 "8a6310f6288e7f60c3565277ec3b5279">
<!ENTITY python-docs-size "7,998 KB"> <!ENTITY python-docs-size "8,065 KB">
<!ENTITY readline-version "8.2"> <!ENTITY readline-version "8.2">
<!ENTITY readline-soversion "8.2"><!-- used for stripping --> <!ENTITY readline-soversion "8.2"><!-- used for stripping -->
@ -631,20 +631,20 @@
<!ENTITY sed-fin-du "30 MB"> <!ENTITY sed-fin-du "30 MB">
<!ENTITY sed-fin-sbu "0.3 SBU"> <!ENTITY sed-fin-sbu "0.3 SBU">
<!ENTITY setuptools-version "69.0.3"> <!ENTITY setuptools-version "69.1.0">
<!ENTITY setuptools-size "2,168 KB"> <!ENTITY setuptools-size "2,168 KB">
<!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz"> <!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz">
<!ENTITY setuptools-md5 "b82de45aaa6b9bb911226660212ebb83"> <!ENTITY setuptools-md5 "6f6eb780ce12c90d81ce243747ed7ab0">
<!ENTITY setuptools-home "&pypi-home;/setuptools/"> <!ENTITY setuptools-home "&pypi-home;/setuptools/">
<!ENTITY setuptools-fin-du "30 MB"> <!ENTITY setuptools-fin-du "20 MB">
<!ENTITY setuptools-fin-sbu "0.1 SBU"> <!ENTITY setuptools-fin-sbu "less than 0.1 SBU">
<!ENTITY shadow-version "4.14.3"> <!ENTITY shadow-version "4.14.5">
<!ENTITY shadow-size "1,760 KB"> <!ENTITY shadow-size "1,765 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
<!ENTITY shadow-md5 "b9a7f56d0c63297c0d11d742be2f8ffd"> <!ENTITY shadow-md5 "452b0e59f08bf618482228ba3732d0ae">
<!ENTITY shadow-home "&github;/shadow-maint/shadow/"> <!ENTITY shadow-home "&github;/shadow-maint/shadow/">
<!ENTITY shadow-fin-du "46 MB"> <!ENTITY shadow-fin-du "49 MB">
<!ENTITY shadow-fin-sbu "0.1 SBU"> <!ENTITY shadow-fin-sbu "0.1 SBU">
<!ENTITY sysklogd-version "1.5.1"> <!ENTITY sysklogd-version "1.5.1">
@ -669,7 +669,7 @@
<!--<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-version;-&systemd-stable;.tar.xz">--> <!--<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz"> <!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz">
<!ENTITY systemd-man-md5 "1ebe54d7a80f9abf8f2d14ddfeb2432d"> <!ENTITY systemd-man-md5 "1ebe54d7a80f9abf8f2d14ddfeb2432d">
<!ENTITY systemd-fin-du "238 MB"> <!ENTITY systemd-fin-du "247 MB">
<!ENTITY systemd-fin-sbu "0.7 SBU"> <!ENTITY systemd-fin-sbu "0.7 SBU">
<!ENTITY sysvinit-version "3.08"> <!ENTITY sysvinit-version "3.08">
@ -677,7 +677,7 @@
<!ENTITY sysvinit-url "&github;/slicer69/sysvinit/releases/download/&sysvinit-version;/sysvinit-&sysvinit-version;.tar.xz"> <!ENTITY sysvinit-url "&github;/slicer69/sysvinit/releases/download/&sysvinit-version;/sysvinit-&sysvinit-version;.tar.xz">
<!ENTITY sysvinit-md5 "81a05f28d7b67533cfc778fcadea168c"> <!ENTITY sysvinit-md5 "81a05f28d7b67533cfc778fcadea168c">
<!ENTITY sysvinit-home "&savannah-nongnu;/projects/sysvinit"> <!ENTITY sysvinit-home "&savannah-nongnu;/projects/sysvinit">
<!ENTITY sysvinit-fin-du "4.5 MB"> <!ENTITY sysvinit-fin-du "3.5 MB">
<!ENTITY sysvinit-fin-sbu "less than 0.1 SBU"> <!ENTITY sysvinit-fin-sbu "less than 0.1 SBU">
<!ENTITY tar-version "1.35"> <!ENTITY tar-version "1.35">
@ -688,7 +688,7 @@
<!ENTITY tar-tmp-du "42 MB"> <!ENTITY tar-tmp-du "42 MB">
<!ENTITY tar-tmp-sbu "0.1 SBU"> <!ENTITY tar-tmp-sbu "0.1 SBU">
<!ENTITY tar-fin-du "43 MB"> <!ENTITY tar-fin-du "43 MB">
<!ENTITY tar-fin-sbu "1.7 SBU"> <!ENTITY tar-fin-sbu "0.5 SBU">
<!ENTITY tcl-version "8.6.13"> <!ENTITY tcl-version "8.6.13">
<!ENTITY tcl-major-version "8.6"> <!ENTITY tcl-major-version "8.6">
@ -707,18 +707,18 @@
<!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz"> <!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz">
<!ENTITY texinfo-md5 "edd9928b4a3f82674bcc3551616eef3b"> <!ENTITY texinfo-md5 "edd9928b4a3f82674bcc3551616eef3b">
<!ENTITY texinfo-home "&gnu-software;texinfo/"> <!ENTITY texinfo-home "&gnu-software;texinfo/">
<!ENTITY texinfo-tmp-du "116 MB"> <!ENTITY texinfo-tmp-du "130 MB">
<!ENTITY texinfo-tmp-sbu "0.1 SBU"> <!ENTITY texinfo-tmp-sbu "0.2 SBU">
<!ENTITY texinfo-fin-du "128 MB"> <!ENTITY texinfo-fin-du "139 MB">
<!ENTITY texinfo-fin-sbu "0.3 SBU"> <!ENTITY texinfo-fin-sbu "0.3 SBU">
<!ENTITY tzdata-version "2023d"> <!ENTITY tzdata-version "2024a">
<!ENTITY tzdata-size "440 KB"> <!ENTITY tzdata-size "444 KB">
<!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz"> <!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz">
<!ENTITY tzdata-md5 "08b9d559939670725ec298fdbb029649"> <!ENTITY tzdata-md5 "2349edd8335245525cc082f2755d5bf4">
<!ENTITY tzdata-home "https://www.iana.org/time-zones"> <!ENTITY tzdata-home "https://www.iana.org/time-zones">
<!ENTITY udev-fin-du "138 MB"> <!ENTITY udev-fin-du "144 MB">
<!ENTITY udev-fin-sbu "0.2 SBU"> <!ENTITY udev-fin-sbu "0.2 SBU">
<!ENTITY udev-lfs-version "udev-lfs-20230818"> <!ENTITY udev-lfs-version "udev-lfs-20230818">
@ -733,9 +733,9 @@
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz"> <!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
<!ENTITY util-linux-md5 "f3591e6970c017bb4bcd24ae762a98f5"> <!ENTITY util-linux-md5 "f3591e6970c017bb4bcd24ae762a98f5">
<!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/"> <!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/">
<!ENTITY util-linux-tmp-du "169 MB"> <!ENTITY util-linux-tmp-du "172 MB">
<!ENTITY util-linux-tmp-sbu "0.2 SBU"> <!ENTITY util-linux-tmp-sbu "0.2 SBU">
<!ENTITY util-linux-fin-du "310 MB"> <!ENTITY util-linux-fin-du "313 MB">
<!ENTITY util-linux-fin-sbu "0.5 SBU"> <!ENTITY util-linux-fin-sbu "0.5 SBU">
<!ENTITY vim-version "9.1.0041"> <!ENTITY vim-version "9.1.0041">
@ -746,8 +746,8 @@
<!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">--> <!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">-->
<!ENTITY vim-md5 "79dfe62be5d347b1325cbd5ce2a1f9b3"> <!ENTITY vim-md5 "79dfe62be5d347b1325cbd5ce2a1f9b3">
<!ENTITY vim-home "https://www.vim.org"> <!ENTITY vim-home "https://www.vim.org">
<!ENTITY vim-fin-du "229 MB"> <!ENTITY vim-fin-du "236 MB">
<!ENTITY vim-fin-sbu "2.3 SBU"> <!ENTITY vim-fin-sbu "2.5 SBU">
<!ENTITY wheel-version "0.42.0"> <!ENTITY wheel-version "0.42.0">
<!ENTITY wheel-size "97 KB"> <!ENTITY wheel-size "97 KB">
@ -762,29 +762,29 @@
<!ENTITY xml-parser-url "https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-&xml-parser-version;.tar.gz"> <!ENTITY xml-parser-url "https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-&xml-parser-version;.tar.gz">
<!ENTITY xml-parser-md5 "89a8e82cfd2ad948b349c0a69c494463"> <!ENTITY xml-parser-md5 "89a8e82cfd2ad948b349c0a69c494463">
<!ENTITY xml-parser-home "&github;/chorny/XML-Parser"> <!ENTITY xml-parser-home "&github;/chorny/XML-Parser">
<!ENTITY xml-parser-fin-du "2.3 MB"> <!ENTITY xml-parser-fin-du "2.4 MB">
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.4.5"> <!ENTITY xz-version "5.4.6">
<!ENTITY xz-size "1,642 KB"> <!ENTITY xz-size "1,645 KB">
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz"> <!ENTITY xz-url "https://github.com/tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd"> <!ENTITY xz-md5 "7ade7bd1181a731328f875bec62a9377">
<!ENTITY xz-home "https://tukaani.org/xz"> <!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "22 MB"> <!ENTITY xz-tmp-du "22 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU"> <!ENTITY xz-tmp-sbu "0.1 SBU">
<!ENTITY xz-fin-du "24 MB"> <!ENTITY xz-fin-du "25 MB">
<!ENTITY xz-fin-sbu "0.1 SBU"> <!ENTITY xz-fin-sbu "0.1 SBU">
<!ENTITY zlib-version "1.3"> <!ENTITY zlib-version "1.3.1">
<!ENTITY zlib-size "1,461 KB"> <!ENTITY zlib-size "1,478 KB">
<!-- DO NOT remove "fossils"! <!-- DO NOT remove "fossils"!
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
once a newer version is released EVEN IF there is no security fixes. once a newer version is released EVEN IF there is no security fixes.
Unfortunately there is no .xz files in fossils directory. --> Unfortunately there is no .xz files in fossils directory. -->
<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz"> <!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
<!ENTITY zlib-md5 "60373b133d630f74f4a1f94c1185a53f"> <!ENTITY zlib-md5 "9855b6d802d7fe5b7bd5b196a2271655">
<!ENTITY zlib-home "https://zlib.net/"> <!ENTITY zlib-home "https://zlib.net/">
<!ENTITY zlib-fin-du "6.2 MB"> <!ENTITY zlib-fin-du "6.4 MB">
<!ENTITY zlib-fin-sbu "less than 0.1 SBU"> <!ENTITY zlib-fin-sbu "less than 0.1 SBU">
<!ENTITY zstd-version "1.5.5"> <!ENTITY zstd-version "1.5.5">
@ -793,5 +793,5 @@
<!ENTITY zstd-md5 "63251602329a106220e0a5ad26ba656f"> <!ENTITY zstd-md5 "63251602329a106220e0a5ad26ba656f">
<!ENTITY zstd-home "https://facebook.github.io/zstd/"> <!ENTITY zstd-home "https://facebook.github.io/zstd/">
<!ENTITY zstd-fin-du "77 MB"> <!ENTITY zstd-fin-du "77 MB">
<!ENTITY zstd-fin-sbu "0.4 SBU"> <!ENTITY zstd-fin-sbu "0.5 SBU">

View File

@ -56,7 +56,7 @@
<variablelist> <variablelist>
<varlistentry><term>The build</term><listitem> <varlistentry><term>The build</term><listitem>
<para>is the machine where we build programs. Note that this machine <para>is the machine where we build programs. Note that this machine
is also referred to as the <quote>host</quote>.</para></listitem> is also referred to as the <quote>host.</quote></para></listitem>
</varlistentry> </varlistentry>
<varlistentry><term>The host</term><listitem> <varlistentry><term>The host</term><listitem>

View File

@ -2,6 +2,10 @@
<!-- Start of Common Patches --> <!-- Start of Common Patches -->
<!ENTITY bash-upstream-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
<!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
<!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch"> <!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f"> <!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB"> <!ENTITY bzip2-docs-patch-size "1.6 KB">
@ -13,24 +17,23 @@
<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch"> <!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2"> <!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!ENTITY glibc-fhs-patch-size "2.8 KB"> <!ENTITY glibc-fhs-patch-size "2.8 KB">
<!--
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch"> <!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-4.patch">
<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2"> <!ENTITY glibc-upstream-fixes-patch-md5 "66e843b00688c641c9bdda684db45b43">
<!ENTITY glibc-upstream-fixes-patch-size "28 KB"> <!ENTITY glibc-upstream-fixes-patch-size "36 KB">
-->
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch"> <!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895"> <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
<!ENTITY kbd-backspace-patch-size "12 KB"> <!ENTITY kbd-backspace-patch-size "12 KB">
<!ENTITY pkgconf-upstream-fix-patch "pkgconf-&pkgconf-version;-upstream_fix-1.patch"> <!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363"> <!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB"> <!ENTITY readline-fixes-patch-size "13 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 sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch"> <!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475"> <!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
<!ENTITY sysvinit-consolidated-patch-size "2.5 KB"> <!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
<!ENTITY systemd-upstream-patch "systemd-&systemd-version;-upstream_fixes-1.patch">
<!ENTITY systemd-upstream-patch-md5 "8d9c1014445c463cf7c24c162b1e0686">
<!ENTITY systemd-upstream-patch-size "7.2 KB">

View File

@ -49,7 +49,7 @@
</itemizedlist> </itemizedlist>
<para>While it is possible to create a complete system that will pass the LSB <para>While it is possible to create a complete system that will pass the LSB
certification tests "from scratch", this can't be done without many additional packages certification tests <quote>from scratch,</quote> this can't be done without many additional packages
that are beyond the scope of the LFS book. Installation instructions for these that are beyond the scope of the LFS book. Installation instructions for these
additional packages can be found in BLFS. </para> additional packages can be found in BLFS. </para>

View File

@ -74,22 +74,27 @@ EOF</userinput></screen>
<para>This format is used to encapsulate text that is optional.</para> <para>This format is used to encapsulate text that is optional.</para>
<para><filename>passwd(5)</filename></para> <para><ulink role='man' url='&man;passwd.5'>passwd(5)</ulink></para>
<para>This format is used to refer to a specific manual (man) page. The number inside parentheses <para>This format is used to refer to a specific manual (man) page. The number inside parentheses
indicates a specific section inside the manuals. For example, indicates a specific section inside the manuals. For example,
<command>passwd</command> has two man pages. Per LFS installation instructions, <command>passwd</command> has two man pages. Per LFS installation instructions,
those two man pages will be located at those two man pages will be located at
<filename>/usr/share/man/man1/passwd.1</filename> and <filename>/usr/share/man/man1/passwd.1</filename> and
<filename>/usr/share/man/man5/passwd.5</filename>. When the book uses <filename>passwd(5)</filename> it is <filename>/usr/share/man/man5/passwd.5</filename>. When the book uses
<ulink role='man' url='&man;/passwd.5'>passwd(5)</ulink> it is
specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>. specifically referring to <filename>/usr/share/man/man5/passwd.5</filename>.
<command>man passwd</command> will print the first man page it finds that <command>man passwd</command> will print the first man page it finds that
matches <quote>passwd</quote>, which will be matches <quote>passwd,</quote> which will be
<filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will <filename>/usr/share/man/man1/passwd.1</filename>. For this example, you will
need to run <command>man 5 passwd</command> in order to read the page need to run <command>man 5 passwd</command> in order to read the page
being specified. Note that most man pages do not have duplicate being specified. Note that most man pages do not have duplicate
page names in different sections. Therefore, <command>man <replaceable>&lt;program 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> </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" <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:exsl="http://exslt.org/common" xmlns:exsl="http://exslt.org/common"
extension-element-prefixes="exsl" extension-element-prefixes="exsl"
version="1.0"> version="1.0">
<!-- XSLT stylesheet to extract commands from [B,H]LFS books. --> <!-- XSLT stylesheet to extract commands from [B,H]LFS books. -->
<xsl:variable name="newline"> <xsl:variable name="newline">
<xsl:text> <xsl:text>&#xA;</xsl:text>
</xsl:text>
</xsl:variable> </xsl:variable>
<xsl:template match="/"> <xsl:template match="/">

View File

@ -10,6 +10,14 @@
<!-- Upstream XHTML presentation templates --> <!-- Upstream XHTML presentation templates -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
<xsl:param name="chunker.output.method" select="'xml'"/>
<xsl:param name="chunker.output.encoding" select="'UTF-8'"/>
<xsl:param name="chunker.output.media-type" select="'application/xhtml+xml'"/>
<xsl:param name="chunker.output.doctype-public" select="'-//W3C//DTD XHTML 1.0 Strict//EN'"/>
<xsl:param name="chunker.output.doctype-system" select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'"/>
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
<xsl:param name="chunker.output.indent" select="'no'"/>
<!-- Including our customized elements templates --> <!-- Including our customized elements templates -->
<xsl:include href="common.xsl"/> <xsl:include href="common.xsl"/>
<xsl:include href="xhtml/lfs-admon.xsl"/> <xsl:include href="xhtml/lfs-admon.xsl"/>
@ -31,9 +39,6 @@
<xsl:param name="ulink.target" select="''"/> <xsl:param name="ulink.target" select="''"/>
<xsl:param name="css.decoration" select="0"/> <xsl:param name="css.decoration" select="0"/>
<!-- No XML declaration -->
<xsl:param name="chunker.output.omit-xml-declaration" select="'yes'"/>
<!-- Control generation of ToCs and LoTs --> <!-- Control generation of ToCs and LoTs -->
<xsl:param name="generate.toc"> <xsl:param name="generate.toc">
book toc,title book toc,title

View File

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE l:i18n SYSTEM "https://cdn.docbook.org/release/xsl-nons/current/common/l10n.dtd"> <!DOCTYPE l:i18n SYSTEM "http://cdn.docbook.org/release/xsl-nons/current/common/l10n.dtd">
<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">

View File

@ -1,13 +1,13 @@
/* Global settings */ /* Global settings */
body { body {
font-family: verdana, tahoma, helvetica, arial, sans-serif; font-family: verdana, tahoma, arial, sans-serif;
text-align: left; text-align: left;
background: #fff; background: #fff;
color: #222; color: #222;
margin: 1em; margin: 1em;
padding: 0; padding: 0;
font-size: 1em; font-size: 1em;
line-height: 1.2em line-height: 1.2em;
} }
@ -38,10 +38,36 @@ div.dedication {
padding-left: 1em; padding-left: 1em;
} }
/* Section titles */
h1.sect1, h1.preface, h1.part, h1.chapter, h1.appendix, .glossary h1, .index h1
{
background: #f5f6f7;
border-bottom: .1em solid #dbddec;
margin-bottom:1em;
margin-top: 0;
padding: .4em;
}
/* Sections */ /* Scrolling parts
div.sect1, div.appendix { The header is taller for sect1 and chapter pages than on the
padding-left: .3em; other pages. Since we want fixed boxes, their top has to be calculated
by trial and errors to fit below the static header box.*/
div.sect1, div.chapter, div.appendix, div.wrap {
top: 11.55em;
}
div.preface, div.part, .index div.index {
top: 10.15em;
}
div.sect1, div.appendix, div.preface, div.part, div.chapter, div.wrap, .index div.index {
/* padding-left: .3em;*/
overflow:auto;
height: auto;
position: fixed;
left:1em;
right:1em;
bottom: 1em;
border-bottom: 1em solid #dbddec;
} }
div.important ul { div.important ul {
@ -63,8 +89,12 @@ div.important ul li p {
background: #f5f6f7; background: #f5f6f7;
border-bottom: 0.2em solid #dbddec; border-bottom: 0.2em solid #dbddec;
padding-top: .1em; padding-top: .1em;
margin-top: 0; /* margin-top: 0;*/
} }
/*
.lfs .package p:first-child {
margin-top: 0;
}*/
.lfs .configuration { .lfs .configuration {
background: #fefefe; background: #fefefe;
@ -74,11 +104,11 @@ div.important ul li p {
.lfs .content { .lfs .content {
background: #f5f6f7; background: #f5f6f7;
border-top: 0.2em solid #dbddec; border-top: 0.2em solid #dbddec;
border-bottom: 0.2em solid #dbddec;
padding-bottom: .1em; padding-bottom: .1em;
margin-bottom: 0; margin-bottom: .5em;
} }
/* Headers */ /* Headers */
h1, h2, h3, h4, h5, h6, b, .strong { h1, h2, h3, h4, h5, h6, b, .strong {
color: #000; color: #000;
@ -96,18 +126,6 @@ h1 {
padding: 0.4em; padding: 0.4em;
} }
.preface h1, .part h1, .chapter h1, .appendix h1, .index h1, .sect1 h1, .glossary h1 {
background: #f5f6f7;
border-bottom: .1em solid #dbddec;
margin-bottom: 1em;
margin-top: 0;
padding: .4em;
}
.sect1 h1, .appendix h1 {
margin-left: -.2em;
}
.wrap h1 { .wrap h1 {
background: #f5f6f7; background: #f5f6f7;
margin: 0; margin: 0;
@ -157,13 +175,19 @@ div.navheader, div.navfooter {
} }
div.navheader { div.navheader {
border-bottom: 1px solid #dbddec; border-bottom: .1em solid #dbddec;
position: sticky;
top: 0;
} }
/* no need for a footer now that the header is always visible */
div.navfooter { div.navfooter {
border-top: 1px solid #dbddec; display:none;
}
/* Except for the first page (TOC), where the bottom is the only
place where navigation is displayed. */
div.book + div.navfooter {
display:block
} }
div.navheader h4 { div.navheader h4 {
@ -179,7 +203,7 @@ div.navheader h3 {
} }
div.navheader ul, div.navfooter ul { div.navheader ul, div.navfooter ul {
padding: .2em .5em .5em 0; padding: .2em .5em .5em .5em; /*top right bottom left*/
margin: .5em 0; margin: .5em 0;
position: relative; position: relative;
background: #dbddec; background: #dbddec;
@ -196,29 +220,29 @@ div.navheader ul li.prev, div.navfooter ul li.prev {
left: 0; left: 0;
text-align: left; text-align: left;
padding: 0.2em 1em; padding: 0.2em 1em;
margin-left: 6px; margin-left: .4em;
} }
div.navheader ul li.next, div.navfooter ul li.next { div.navheader ul li.next, div.navfooter ul li.next {
position: absolute; position: absolute;
display: block; display: block;
text-align: right; text-align: right;
right: 5px; right: 0;
padding: 0.2em 0.5em; padding: 0.2em 1em;
margin-right: 7px; margin-right: .4em;
} }
div.navheader ul li.prev p, div.navfooter ul li.prev p, div.navheader ul li.prev p, div.navfooter ul li.prev p,
div.navheader ul li.next p, div.navfooter ul li.next p { div.navheader ul li.next p, div.navfooter ul li.next p {
padding: 0; padding: 0;
margin: 1px 0px; margin: .1em 0;
} }
div.navheader ul li.home, div.navheader ul li.up, div.navheader ul li.home, div.navheader ul li.up,
div.navfooter ul li.home, div.navfooter ul li.up { div.navfooter ul li.home, div.navfooter ul li.up {
text-align: center; text-align: center;
padding: 0; padding: 0;
margin: 0px auto; margin: 0 auto;
display: block; display: block;
color: #dbddec; color: #dbddec;
} }

View File

@ -10,6 +10,13 @@
<!-- Upstream XHTML templates --> <!-- Upstream XHTML templates -->
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/>
<xsl:output method="xml"
encoding="UTF-8"
media-type="application/xhtml+xml"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
omit-xml-declaration="yes"
indent="no" />
<!-- Include our customized templates --> <!-- Include our customized templates -->
<xsl:include href="common.xsl"/> <xsl:include href="common.xsl"/>
<xsl:include href="xhtml/lfs-index.xsl"/> <xsl:include href="xhtml/lfs-index.xsl"/>

View File

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

View File

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

View File

@ -11,10 +11,14 @@
<xsl:param name="chunk.first.sections" select="1"/> <xsl:param name="chunk.first.sections" select="1"/>
<!-- preface: <!-- preface:
Output non sect1 child elements before the TOC --> Output non sect1 child elements before the TOC
Output title outside of the <div> because we want to be able to
use it at a fixed position -->
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl --> <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
<xsl:template match="preface"> <xsl:template match="preface">
<xsl:call-template name="id.warning"/> <xsl:call-template name="id.warning"/>
<xsl:call-template name="preface.titlepage"/>
<xsl:call-template name="component.separator"/>
<div> <div>
<xsl:apply-templates select="." mode="class.attribute"/> <xsl:apply-templates select="." mode="class.attribute"/>
<xsl:call-template name="dir"> <xsl:call-template name="dir">
@ -26,8 +30,6 @@
<xsl:call-template name="object.id"/> <xsl:call-template name="object.id"/>
</xsl:attribute> </xsl:attribute>
</xsl:if> </xsl:if>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="preface.titlepage"/>
<xsl:apply-templates/> <xsl:apply-templates/>
<xsl:variable name="toc.params"> <xsl:variable name="toc.params">
<xsl:call-template name="find.path.params"> <xsl:call-template name="find.path.params">
@ -44,11 +46,42 @@
</div> </div>
</xsl:template> </xsl:template>
<!-- part:
Output non sect1 child elements before the TOC
Output title outside of the <div> because we want to be able to
use it at a fixed position -->
<!-- The original template is in {docbook-xsl}/xhtml/divisions.xsl -->
<xsl:template match="part">
<xsl:call-template name="id.warning"/>
<xsl:call-template name="part.titlepage"/>
<div>
<xsl:apply-templates select="." mode="common.html.attributes"/>
<xsl:call-template name="id.attribute">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates/>
<xsl:variable name="toc.params">
<xsl:call-template name="find.path.params">
<xsl:with-param name="table" select="normalize-space($generate.toc)"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="not(partintro) and contains($toc.params, 'toc')">
<xsl:call-template name="division.toc"/>
</xsl:if>
</div>
</xsl:template>
<!-- chapter: <!-- chapter:
Output non sect1 child elements before the TOC --> Output non sect1 child elements before the TOC
Output title before div to be able to fix the title position -->
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl --> <!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
<xsl:template match="chapter"> <xsl:template match="chapter">
<xsl:call-template name="id.warning"/> <xsl:call-template name="id.warning"/>
<xsl:call-template name="chapter.titlepage"/>
<xsl:call-template name="component.separator"/>
<div> <div>
<xsl:apply-templates select="." mode="class.attribute"/> <xsl:apply-templates select="." mode="class.attribute"/>
<xsl:call-template name="dir"> <xsl:call-template name="dir">
@ -60,8 +93,6 @@
<xsl:call-template name="object.id"/> <xsl:call-template name="object.id"/>
</xsl:attribute> </xsl:attribute>
</xsl:if> </xsl:if>
<xsl:call-template name="component.separator"/>
<xsl:call-template name="chapter.titlepage"/>
<xsl:apply-templates/> <xsl:apply-templates/>
<xsl:variable name="toc.params"> <xsl:variable name="toc.params">
<xsl:call-template name="find.path.params"> <xsl:call-template name="find.path.params">
@ -78,12 +109,50 @@
</div> </div>
</xsl:template> </xsl:template>
<!-- appendix:
Output non sect1 child elements before the TOC
Output title before div to be able to fix the title position -->
<!-- The original template is in {docbook-xsl}/xhtml/components.xsl -->
<xsl:template match="appendix">
<xsl:call-template name="id.warning"/>
<xsl:call-template name="appendix.titlepage"/>
<xsl:element name="div" namespace="http://www.w3.org/1999/xhtml">
<xsl:call-template name="common.html.attributes">
<xsl:with-param name="inherit" select="1"/>
</xsl:call-template>
<xsl:call-template name="id.attribute">
<xsl:with-param name="conditional" select="0"/>
</xsl:call-template>
<xsl:apply-templates/>
<xsl:variable name="toc.params">
<xsl:call-template name="find.path.params">
<xsl:with-param name="table" select="normalize-space($generate.toc)"/>
</xsl:call-template>
</xsl:variable>
<xsl:if test="contains($toc.params, 'toc')">
<xsl:call-template name="component.toc">
<xsl:with-param name="toc.title.p" select="contains($toc.params, 'title')"/>
</xsl:call-template>
</xsl:if>
</xsl:element>
</xsl:template>
<!-- sect1: <!-- sect1:
When there is a role attibute, use it as the class value. When there is a role attibute, use it as the class value.
Process the SVN keywords found in sect1info as a footnote. Process the SVN keywords found in sect1info as a footnote.
Output title before the containing <div> so that the title
can be at a fixed position.
Removed unused code. --> Removed unused code. -->
<!-- The original template is in {docbook-xsl}/xhtml/sections.xsl --> <!-- The original template is in {docbook-xsl}/xhtml/sections.xsl -->
<xsl:template match="sect1"> <xsl:template match="sect1">
<xsl:call-template name="sect1.titlepage"/>
<div> <div>
<xsl:choose> <xsl:choose>
<xsl:when test="@role"> <xsl:when test="@role">
@ -96,7 +165,6 @@
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:call-template name="language.attribute"/> <xsl:call-template name="language.attribute"/>
<xsl:call-template name="sect1.titlepage"/>
<xsl:apply-templates/> <xsl:apply-templates/>
<xsl:apply-templates select="sect1info" mode="svn-keys"/> <xsl:apply-templates select="sect1info" mode="svn-keys"/>
</div> </div>

View File

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

View File

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