diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 13865692e..45190d8c9 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,102 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2025-02-13
+
+
+ [bdubbs] - Update to vim-9.1.1106. Addresses
+ #4500.
+
+
+ [bdubbs] - Update to diffutils-3.11. Fixes
+ #5639.
+
+
+ [bdubbs] - Update to libffi-3.4.7. Fixes
+ #5642.
+
+
+ [bdubbs] - Update to linux-6.13.2. Fixes
+ #5643.
+
+
+ [bdubbs] - Update to Python3-3.13.2. Fixes
+ #5640.
+
+
+ [bdubbs] - Update to sysvinit-3.14. Fixes
+ #5641.
+
+
+
+
+
+ 2025-02-02
+
+
+ [bdubbs] - Update to vim-9.1.1071. Addresses
+ #4500.
+
+
+ [bdubbs] - Update to iana-etc-20250123. Addresses
+ #5006.
+
+
+ [bdubbs] - Update to binutils-2.44.0. Fixes
+ #5634.
+
+
+ [bdubbs] - Update to coreutils-9.6. Fixes
+ #5628.
+
+
+ [bdubbs] - Update to e2fsprogs-1.47.2. Fixes
+ #5637.
+
+
+ [bdubbs] - Update to glibc-2.41. Fixes
+ #5638.
+
+
+ [bdubbs] - Update to iproute2-6.13.0. Fixes
+ #5631.
+
+
+ [bdubbs] - Update to libxcrypt-4.4.38. Fixes
+ #5626.
+
+
+ [bdubbs] - Update to linux-6.13.1. Fixes
+ #5629.
+
+
+ [bdubbs] - Update to man-pages-6.10. Fixes
+ #5632.
+
+
+ [bdubbs] - Update to meson-1.7.0. Fixes
+ #5636.
+
+
+ [bdubbs] - Update to perl-5.40.1. Fixes
+ #5630.
+
+
+ [bdubbs] - Update to tcl8.6.16. Fixes
+ #5635.
+
+
+ [bdubbs] - Update to tzdata2025a. Fixes
+ #5627.
+
+
+ [bdubbs] - Update to xz-5.6.4. Fixes
+ #5633.
+
+
+
+
2025-01-15
@@ -348,7 +444,7 @@
[bdubbs] - Update to tcl9.0.0. Fixes
#5570.
-
+ [bdubbs] - Update to linux-6.11.1. Fixes
#5556.
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 269fd8ab7..dc748661e 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -44,9 +44,9 @@
Bc-&bc-version;
-
+
@@ -56,21 +56,21 @@
-
+
D-Bus-&dbus-version;
-
-
+
Expat-&expat-version;
@@ -101,9 +101,9 @@
Gettext-&gettext-version;
-
+
@@ -155,9 +155,9 @@
Libelf from Elfutils-&elfutils-version;
-
+
Libpipeline-&libpipeline-version;
@@ -182,9 +182,9 @@
Man-DB-&man-db-version;
-
+
MarkupSafe-&markupsafe-version;
@@ -209,9 +209,9 @@
-
+
@@ -295,9 +295,11 @@
Added:
+
diff --git a/chapter02/stages.xml b/chapter02/stages.xml
index 287aa43f4..f3215035d 100644
--- a/chapter02/stages.xml
+++ b/chapter02/stages.xml
@@ -68,7 +68,8 @@
- A few operations, from Changing Ownership to
+ A few operations, from Preparing Virtual Kernel File
+ Systems to
Entering the Chroot Environment, must be done as the
root user, with the LFS
environment variable set for the &root; user.
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index a98c6575f..75b4de9bd 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -35,7 +35,7 @@
-->
-
+
Bzip2 Documentation Patch - &bzip2-docs-patch-size;:
diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml
index fb54becb0..a1892a1aa 100644
--- a/chapter06/binutils-pass2.xml
+++ b/chapter06/binutils-pass2.xml
@@ -55,7 +55,7 @@
produced binaries mistakenly linked against libraries from the host
distro. Work around this issue:
-sed '6009s/$add_dir//' -i ltmain.sh
+sed '6031s/$add_dir//' -i ltmain.shCreate a separate build directory again:
diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml
index 856ef0dbe..8f97c2d3e 100644
--- a/chapter07/createfiles.xml
+++ b/chapter07/createfiles.xml
@@ -180,11 +180,11 @@ EOF
nogroup to avoid an
unnamed ID. But other distros may treat this ID differently, so any
portable program should not depend on this assignment.
-
+
Some tests in need a regular
user. We add this user here and delete this account at the end of that
chapter.
diff --git a/chapter08/acl.xml b/chapter08/acl.xml
index adef493f1..63892d68e 100644
--- a/chapter08/acl.xml
+++ b/chapter08/acl.xml
@@ -53,10 +53,13 @@
makeThe Acl tests must be run on a filesystem that supports access
- controls, but not until the Coreutils package has been built,
- using the Acl libraries. If desired, return to this package
- and run make check after the Coreutils
- package has been built.
+ controls. To test the results, issue:
+
+make check
+
+ One test named test/cp.test is known to
+ fail because Coreutils is not built with
+ the Acl support yet.Install the package:
diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml
index fd056efcb..c05a769f2 100644
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@ -41,19 +41,6 @@
Installation of Binutils
- First, apply a patch to prevent a bug that causing
- unnecessary relinking with packages that depend on cmake-3.31.0
- or newer:
-
-patch -Np1 -i ../&binutils-upstream-patch;
-
-
- Then fix some bugs which may cause some packages fail to build for
- LoongArch:
-
-
- patch -Np1 -i ../&binutils-loongarch-patch;
-
The Binutils documentation recommends building Binutils
in a dedicated build directory:
@@ -140,15 +127,14 @@ cd build
grep '^FAIL:' $(find -name '*.log')
-
-
Install the package:make tooldir=/usr install
- Remove useless static libraries:
+ Remove useless static libraries and other files:
-rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a
+rm -rfv /usr/lib/lib{bfd,ctf,ctf-nobfd,gprofng,opcodes,sframe}.a \
+ /usr/share/doc/gprofng/
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 181153d1d..36d428981 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -55,20 +55,35 @@
Now prepare Coreutils for compilation:
-autoreconf -fiv
+autoreconf -fv
+automake -af
FORCE_UNSAFE_CONFIGURE=1 ./configure \
--prefix=/usr \
--enable-no-install-program=kill,uptime
- The meaning of the configure options:
+ The meaning of the commands and configure options:
- autoreconf
+ autoreconf -fvThe patch for internationalization has modified the
build system, so the configuration files must
- be regenerated.
+ be regenerated. Normally we would use the
+ -i option to update the standard
+ auxiliary files, but for this package it does not work because
+ configure.ac specified an old gettext
+ version.
+
+
+
+
+ automake -af
+
+ The automake auxiliary files were not updated by
+ autoreconf due to the missing
+ -i option. This command updates them
+ to prevent a build failure.
@@ -134,12 +149,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
groupdel dummy
-
- Two tests, tests/cp/preserve-mode.sh and
- tests/mv/acl.sh, are known to
- fail in the chroot environment, but pass in a complete system.
-
-
Install the package:make install
diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml
index 719d2886a..519664c9b 100644
--- a/chapter08/glibc.xml
+++ b/chapter08/glibc.xml
@@ -152,7 +152,7 @@ esacYou may see some test failures. The Glibc test suite is
somewhat dependent on the host system. A few failures out of
- over 5000 tests can generally be ignored. This is a list of the
+ over 6000 tests can generally be ignored. This is a list of the
most common issues seen for recent versions of LFS:
@@ -317,6 +317,19 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib
the locales. Once they are finished, reboot the system
immediately.
+
+
+ When the system has successfully rebooted, if you are running
+ a LFS system prior to 12.0 (exclusive) where GCC was not built
+ with the --disable-fixincludes option,
+ move two GCC headers into a better location and
+ remove the stale fixed copies of the Glibc headers:
+
+
+ DIR=$(dirname $(gcc -print-libgcc-file-name))
+[ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h
+[ -e $DIR/include/syslimits.h ] || mv $DIR/include{-fixed,}/syslimits.h
+rm -rfv $(dirname $(gcc -print-libgcc-file-name))/include-fixed/*Install the package:
diff --git a/chapter08/ninja.xml b/chapter08/ninja.xml
index 5bccea1ea..6850d06a0 100644
--- a/chapter08/ninja.xml
+++ b/chapter08/ninja.xml
@@ -67,7 +67,7 @@
Build Ninja with:
-python3 configure.py --bootstrap
+python3 configure.py --bootstrap --verboseThe meaning of the build option:
@@ -80,10 +80,20 @@
+
+ --verbose
+
+ This parameter makes configure.py show
+ the progress building Ninja.
+
+
+
The package tests cannot run in the chroot environment. They require
- cmake.
+ cmake. But the basic
+ function of this package is already tested by rebuilding itself
+ (with the --bootstrap option) anyway.
This version of Perl builds the Compress::Raw::Zlib and
Compress::Raw::BZip2 modules. By
default Perl will use an internal copy of the sources for the build.
diff --git a/chapter08/procps.xml b/chapter08/procps.xml
index 399d0cec7..eb7d277dc 100644
--- a/chapter08/procps.xml
+++ b/chapter08/procps.xml
@@ -45,12 +45,14 @@
./configure --prefix=/usr \
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
--disable-static \
- --disable-kill
+ --disable-kill \
+ --enable-watch8bit
./configure --prefix=/usr \
--docdir=/usr/share/doc/procps-ng-&procps-ng-version; \
--disable-static \
--disable-kill \
+ --enable-watch8bit \
--with-systemd
@@ -63,6 +65,15 @@
command; it will be installed from the Util-linux package.
+
+
+ --enable-watch8bit
+
+ This switch enables the ncursesw support for the
+ watch command, so it can handle 8-bit
+ characters.
+
+ Compile the package:
@@ -80,7 +91,8 @@ su tester -c "PATH=$PATH make check"
One test named
ps with output flag bsdtime,cputime,etime,etimes
is known to fail if the host kernel is not built with
- CONFIG_BSD_PROCESS_ACCT enabled.
+ CONFIG_BSD_PROCESS_ACCT enabled. In
+ addition, one pgrep test may fail in the chroot environment.
Install the package:
diff --git a/chapter08/python.xml b/chapter08/python.xml
index 0ed7c6c7c..435c26c7b 100644
--- a/chapter08/python.xml
+++ b/chapter08/python.xml
@@ -169,21 +169,21 @@ EOF
install -v -dm755 /usr/share/doc/python-&python-version;/html
-tar --no-same-owner \
- -xvf ../python-&python-version;-docs-html.tar.bz2
-cp -R --no-preserve=mode python-&python-version;-docs-html/* \
- /usr/share/doc/python-&python-version;/html
+tar --strip-components=1 \
+ --no-same-owner \
+ --no-same-permissions \
+ -C /usr/share/doc/python-&python-version;/html \
+ -xvf ../python-&python-version;-docs-html.tar.bz2
The meaning of the documentation install commands:
- (tar) and (cp)
+ and Ensure the installed files have the correct ownership and
permissions. Without these options, tar
- will install the package files with the upstream creator's values
- and files would have restrictive permissions.
+ will install the package files with the upstream creator's values.
diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml
index 28eac584b..0905af0d4 100644
--- a/chapter08/tcl.xml
+++ b/chapter08/tcl.xml
@@ -3,8 +3,8 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
%general-entities;
-
-
+
+
]>
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml
index c187030eb..54e0833e3 100644
--- a/chapter08/util-linux.xml
+++ b/chapter08/util-linux.xml
@@ -127,6 +127,11 @@ su tester -c "make -k check"
enabled.
+
+ Two other tests, lsfd: SOURCE column and utmp: last, are known to
+ fail in the chroot environment.
+
+
Install the package:make install
diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version
index ff61e1868..d7d9d3fbd 100644
--- a/chapter10/kernel/kernel.version
+++ b/chapter10/kernel/kernel.version
@@ -1 +1 @@
-6.12.1
+6.13.1
diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml
index 25133130e..f4e32b701 100644
--- a/chapter10/kernel/systemd.xml
+++ b/chapter10/kernel/systemd.xml
@@ -53,7 +53,8 @@
[*] Display a user-friendly message when a kernel panic occurs
... [DRM_PANIC]
(kmsg) Panic screen formatter [DRM_PANIC_SCREEN]
- [*] Enable legacy fbdev support for your modesetting driver
+ Supported DRM clients --->
+ [*] Enable legacy fbdev support for your modesetting driver
... [DRM_FBDEV_EMULATION]
<*> Simple framebuffer driver [DRM_SIMPLEDRM]
Console display driver support --->
diff --git a/chapter10/kernel/sysv.xml b/chapter10/kernel/sysv.xml
index ff2e2070a..21efc7db0 100644
--- a/chapter10/kernel/sysv.xml
+++ b/chapter10/kernel/sysv.xml
@@ -40,7 +40,8 @@
[*] Display a user-friendly message when a kernel panic occurs
... [DRM_PANIC]
(kmsg) Panic screen formatter [DRM_PANIC_SCREEN]
- [*] Enable legacy fbdev support for your modesetting driver
+ Supported DRM clients --->
+ [*] Enable legacy fbdev support for your modesetting driver
... [DRM_FBDEV_EMULATION]
<*> Simple framebuffer driver [DRM_SIMPLEDRM]
Console display driver support --->
diff --git a/lfs-latest-git.php b/lfs-latest-git.php
index 397f8732a..f189871eb 100644
--- a/lfs-latest-git.php
+++ b/lfs-latest-git.php
@@ -232,7 +232,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
}
if ( $package == "tcl" )
- return find_max( $lines, "/tcl\d/", "/^.*tcl(\d\.[\d\.]*\d)-src.*$/" );
+ return find_max( $lines, "/tcl8/", "/^.*tcl(\d\.[\d\.]*\d)-src.*$/" );
if ( $package == "gmp" )
return find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d[a-z]?).tar.*$/" );
diff --git a/packages.ent b/packages.ent
index 6ee85b754..6966b1653 100644
--- a/packages.ent
+++ b/packages.ent
@@ -18,7 +18,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -52,9 +52,9 @@
-
+
-
+
@@ -65,17 +65,17 @@
-
-
+
+
-
+
-
+
-
-
+
+
@@ -83,10 +83,10 @@
-
+
-
+
@@ -104,15 +104,15 @@
-
-
+
+
-
+
-
+
-
-
+
+
@@ -130,22 +130,22 @@
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
@@ -153,7 +153,7 @@
-
+
@@ -161,7 +161,7 @@
-
+
@@ -177,9 +177,9 @@
-
+
-
+
@@ -189,7 +189,7 @@
-
+
@@ -205,7 +205,7 @@
-
+
@@ -215,7 +215,7 @@
-
+
@@ -223,10 +223,10 @@
-
+
-
+
@@ -234,7 +234,7 @@
-
+
@@ -250,19 +250,19 @@
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
-
-
+
+
+
@@ -296,7 +296,7 @@
-
+
@@ -317,10 +317,10 @@
-
+
-
+
@@ -341,10 +341,10 @@
-
-
+
+
-
+
@@ -394,13 +394,13 @@
-
+
-
-
+
+
-
+
@@ -410,7 +410,7 @@
-
+
@@ -418,25 +418,25 @@
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
@@ -642,7 +642,7 @@
-
+
@@ -650,7 +650,7 @@
-
+
@@ -658,7 +658,7 @@
-
+
@@ -676,15 +676,15 @@
-
-
+
+
-
+
-
+
-
+
@@ -695,44 +695,43 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
@@ -740,15 +739,15 @@
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
@@ -783,12 +782,12 @@
-
-
+
+
-
+
-
+
@@ -810,6 +809,6 @@
-
+
diff --git a/patches.ent b/patches.ent
index d89ef444c..c90d38120 100644
--- a/patches.ent
+++ b/patches.ent
@@ -7,21 +7,17 @@
-->
-
-
-
-
-
+
-
-
+
+