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.sh Create 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 @@ make The 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 -fv The 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 @@ esac You 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 --verbose The 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 @@ --> - - - - - + - - + +