From 8a9d7791787376e0f173dee527d5abe4bf76a5eb Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 1 Oct 2024 22:57:52 -0500 Subject: [PATCH 01/89] Package updates. Update to Python3-3.12.7. Update to tcl9.0.0. Update to linux-6.11.1. Update to libtool-2.5.3. Update to iproute2-6.11.0. Update to bash-5.2.37. Update to bc-7.0.3. --- chapter01/changelog.xml | 34 +++++++++++++++++++++++++++ chapter01/whatsnew.xml | 24 +++++++++---------- chapter08/expect.xml | 2 +- chapter08/python.xml | 2 +- chapter08/tcl.xml | 6 +++-- packages.ent | 52 ++++++++++++++++++++--------------------- patches.ent | 6 ++--- 7 files changed, 81 insertions(+), 45 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0dc02ab0f..bac7482bd 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,40 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-10-01 + + + [bdubbs] - Update to Python3-3.12.7. Fixes + #5571. + + + [bdubbs] - Update to tcl9.0.0. Fixes + #5570. + + + [bdubbs] - Update to linux-6.11.1. Fixes + #5556. + + + [bdubbs] - Update to libtool-2.5.3. Fixes + #5569. + + + [bdubbs] - Update to iproute2-6.11.0. Fixes + #5561. + + + [bdubbs] - Update to bash-5.2.37. Fixes + #5567. + + + [bdubbs] - Update to bc-7.0.3. Fixes + #5568. + + + + 2024-09-20 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index dd1bf7bad..97b62cae0 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -38,9 +38,9 @@ - + Bc-&bc-version; @@ -131,9 +131,9 @@ - + @@ -161,9 +161,9 @@ Libpipeline-&libpipeline-version; - + Linux-&linux-version; @@ -292,17 +292,17 @@ Added: - + + expect-5.45.4-gcc14-2.patch + Removed: - + + expect-5.45.4-gcc14-1.patch + diff --git a/chapter08/expect.xml b/chapter08/expect.xml index d7c6341f4..b1ee27f29 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -69,7 +69,7 @@ Now, make some changes to allow the package with gcc-14.1 or later: -patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch +patch -Np1 -i ../expect-&expect-version;-gcc14-2.patch Prepare Expect for compilation: diff --git a/chapter08/python.xml b/chapter08/python.xml index 0f22ab2a9..ed3df8453 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -163,7 +163,7 @@ EOF tar --no-same-owner \ -xvf ../python-&python-version;-docs-html.tar.bz2 -cp -R --no-preserve=mode python-&python-version;-docs-html/* \ +cp -R --no-preserve=mode python-&python-minor;-docs-html/* \ /usr/share/doc/python-&python-version;/html diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index 28eac584b..93621fc37 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -4,7 +4,7 @@ %general-entities; - + ]> @@ -75,7 +75,7 @@ cd unix Build the package: -make +make NATIVE_ZIP=$PWD/minizip sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ @@ -104,6 +104,8 @@ unset SRCDIR make test + Twelve tests are known to fail in the chroot environment. + Install the package: make install diff --git a/packages.ent b/packages.ent index afe8f0fc4..056bb4851 100644 --- a/packages.ent +++ b/packages.ent @@ -47,20 +47,20 @@ - - + + - + - + - + @@ -341,10 +341,10 @@ - - + + - + @@ -413,10 +413,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - + - + - + - - + + @@ -697,15 +697,15 @@ - - - + + + - + - - + + diff --git a/patches.ent b/patches.ent index fbb773577..9c6cd418f 100644 --- a/patches.ent +++ b/patches.ent @@ -15,9 +15,9 @@ - - - + + + From 5607053b5ac756a4a048d3ef5f448b082a533186 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 3 Oct 2024 12:25:29 -0500 Subject: [PATCH 02/89] Revert back to tcl8.6.15. --- chapter01/changelog.xml | 9 +++++++++ chapter01/whatsnew.xml | 8 ++++---- chapter08/expect.xml | 2 +- chapter08/tcl.xml | 6 ++---- packages.ent | 12 ++++++------ 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index bac7482bd..f6ef99d3f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,15 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-10-03 + + + [bdubbs] - Revert back to tcl8.6.15. + + + + 2024-10-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 97b62cae0..2bd9ce999 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -292,17 +292,17 @@ Added: - + Removed: - + diff --git a/chapter08/expect.xml b/chapter08/expect.xml index b1ee27f29..d7c6341f4 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -69,7 +69,7 @@ Now, make some changes to allow the package with gcc-14.1 or later: -patch -Np1 -i ../expect-&expect-version;-gcc14-2.patch +patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch Prepare Expect for compilation: diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index 93621fc37..fa9d42dcc 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -4,7 +4,7 @@ %general-entities; - + ]> @@ -75,7 +75,7 @@ cd unix Build the package: -make NATIVE_ZIP=$PWD/minizip +make sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ @@ -104,8 +104,6 @@ unset SRCDIR make test - Twelve tests are known to fail in the chroot environment. - Install the package: make install diff --git a/packages.ent b/packages.ent index 056bb4851..6909e23e9 100644 --- a/packages.ent +++ b/packages.ent @@ -697,15 +697,15 @@ - - - + + + - + - - + + From ebeebc26b272e341dd26fde14455b7be551b4f60 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 3 Oct 2024 15:39:25 -0500 Subject: [PATCH 03/89] Restore expect patch to previous version. --- patches.ent | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/patches.ent b/patches.ent index 9c6cd418f..a0ffcc350 100644 --- a/patches.ent +++ b/patches.ent @@ -15,9 +15,9 @@ - - - + + + From fc3eddd130007eeffb5073b63fcf78fa80a589b6 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Fri, 4 Oct 2024 09:52:39 +0200 Subject: [PATCH 04/89] Fix chksum of expect-5.45.4-gcc14-1.patch --- patches.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches.ent b/patches.ent index a0ffcc350..fbb773577 100644 --- a/patches.ent +++ b/patches.ent @@ -16,7 +16,7 @@ - + From ae191ad78ee2c912d9f4ee49a9f0f6a3712e5d52 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 6 Oct 2024 03:13:36 +0800 Subject: [PATCH 05/89] tcl: Remove trailing space in command It causes unnecessary trouble to translations because translating softwares do not ignore trailing space in s. --- chapter08/tcl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index fa9d42dcc..28eac584b 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -75,7 +75,7 @@ cd unix Build the package: -make +make sed -e "s|$SRCDIR/unix|/usr/lib|" \ -e "s|$SRCDIR|/usr/include|" \ From 8d5a2a12e99ee86ccfe7cacf51f702226d9a8e81 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 6 Oct 2024 03:32:51 +0800 Subject: [PATCH 06/89] standards: Add extension names to libg{d,t}k-x11-2.0 to be consistent --- prologue/standards.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prologue/standards.xml b/prologue/standards.xml index 3cf6fbff2..88d894dad 100644 --- a/prologue/standards.xml +++ b/prologue/standards.xml @@ -178,10 +178,10 @@ LSB Desktop: - libgdk-x11-2.0 + libgdk-x11-2.0.so (but libgdk-3.so is provided by the BLFS GTK+-3 package), - libgtk-x11-2.0 + libgtk-x11-2.0.so (but libgtk-3.so and libgtk-4.so are provided by the BLFS GTK+-3 and GTK-4 packages), From d26d12f45c447f265ef9eb15fc4d357797f0039d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 10 Oct 2024 13:11:31 -0500 Subject: [PATCH 07/89] Fix currency for MarkupSafe --- lfs-latest-git.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 55c634e0b..6b7b2d4c2 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -256,6 +256,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "setuptools" ) return find_max( $lines, "/setuptools /", "/^.*setuptools ([\d\.]+)$/" ); + if ( $package == "MarkupSafe" ) + return find_max( $lines, "/MarkupSafe /", "/^.*MarkupSafe ([\d\.]+)$/" ); + if ( $package == "procps-ng" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); From 33ec8810eea89dbe181c5abe4705f52b27b52707 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 14 Oct 2024 22:02:13 +0800 Subject: [PATCH 08/89] grub: Use "file system" instead of "filesystem" We've had the consensus on this since David's cleanup. --- chapter08/grub.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 0710c4a37..b301d4f5a 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -177,7 +177,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions grub-fstest - Is a tool to debug the filesystem driver + Is a tool to debug the file system driver grub-fstest From 52104e05f096555dd2da5d47290bd1cf2fa87c03 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 24 Oct 2024 21:14:17 -0500 Subject: [PATCH 09/89] Package updates. Update to iana-etc-20241015. Update to vim-9.1.0813. Update to xz-5.6.3. Update to sysvinit-3.11. Update to setuptools-75.2.0. Update to Python3-3.13.0. Update to openssl-3.4.0. Update to meson-1.6.0. Update to markupsafe-3.0.2. Update to linux-6.11.5. Update to less-668. Update to elfutils-0.192. --- chapter01/changelog.xml | 54 +++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 20 +++++------ chapter08/python.xml | 5 +-- packages.ent | 76 ++++++++++++++++++++--------------------- 4 files changed, 105 insertions(+), 50 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f6ef99d3f..948d4382b 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,60 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-10-25 + + + [bdubbs] - Update to iana-etc-20241015. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.0813. Addresses + #4500. + + + [bdubbs] - Update to xz-5.6.3. Fixes + #5572. + + + [bdubbs] - Update to sysvinit-3.11. Fixes + #5581. + + + [bdubbs] - Update to setuptools-75.2.0. Fixes + #5577. + + + [bdubbs] - Update to Python3-3.13.0. Fixes + #5575. + + + [bdubbs] - Update to openssl-3.4.0. Fixes + #5582. + + + [bdubbs] - Update to meson-1.6.0. Fixes + #5580. + + + [bdubbs] - Update to markupsafe-3.0.2. Fixes + #5576. + + + [bdubbs] - Update to linux-6.11.5. Fixes + #5574. + + + [bdubbs] - Update to less-668. Fixes + #5578. + + + [bdubbs] - Update to elfutils-0.192. Fixes + #5579. + + + + 2024-10-03 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 2bd9ce999..21032b1bf 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -143,18 +143,18 @@ - + - + @@ -182,9 +182,9 @@ - + Meson-&meson-version; @@ -239,9 +239,9 @@ Systemd-&systemd-version; - + @@ -269,9 +269,9 @@ - + diff --git a/chapter08/python.xml b/chapter08/python.xml index ed3df8453..75f18945f 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -88,7 +88,8 @@ limit and 1 SBU (measured when building Binutils pass 1 with one CPU core) should be enough. Some tests are flaky, so the test suite will automatically re-run failed tests. If a test failed but then passed - when re-run, it should be considered as passed. + when re-run, it should be considered as passed. One test, test_ssl, + is known to fail in the chroot environment. Install the package: @@ -163,7 +164,7 @@ EOF tar --no-same-owner \ -xvf ../python-&python-version;-docs-html.tar.bz2 -cp -R --no-preserve=mode python-&python-minor;-docs-html/* \ +cp -R --no-preserve=mode python-&python-version;-docs-html/* \ /usr/share/doc/python-&python-version;/html diff --git a/packages.ent b/packages.ent index 6909e23e9..ad149fc36 100644 --- a/packages.ent +++ b/packages.ent @@ -148,10 +148,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -373,10 +373,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - - - + + + - + - - + + @@ -637,10 +637,10 @@ - - + + - + @@ -679,10 +679,10 @@ - + - + @@ -745,10 +745,10 @@ - + - + - + @@ -783,10 +783,10 @@ - - + + - + From 8a0ae36a91f9c351c3f0b0d9c667346ab9fc3c28 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 25 Oct 2024 11:37:55 -0500 Subject: [PATCH 10/89] Fix extra spacing around some xml tags. --- appendices/dependencies.xml | 12 ++++++------ chapter05/glibc.xml | 4 ++-- chapter10/kernel.xml | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index d9c44641c..d93cc1f5e 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -4,8 +4,7 @@ %general-entities; - Systemd - Udev"> + SystemdUdev"> Berkeley DB"> ]> @@ -45,7 +44,7 @@ &dependencies; - Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, + Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo @@ -2571,9 +2570,10 @@ &before; Binutils, - D-Bus, E2fsprogs, - IProute2, Kmod, Man-DB, Procps-ng, Python, - &systemd-udev;, and Util-linux + D-Bus, + E2fsprogs, IProute2, Kmod, Man-DB, Procps-ng, Python, + &systemd-udev;, + and Util-linux diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index b8b8171da..2dccf93bf 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -187,8 +187,8 @@ cd build packages to define the location where the package should be installed. If it is not set, it defaults to the root (/) directory. Here we specify that - the package is installed in $LFS - , which will become the root directory in + $LFS, which will become the root directory in . diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index c1e02129a..4eb87a17b 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -339,7 +339,7 @@ If you've decided to use a separate &boot-dir; partition for the LFS system (maybe sharing a &boot-dir; partition with the host - distro) , the files copied below should go there. The easiest way to + distro), the files copied below should go there. The easiest way to do that is to create the entry for &boot-dir; in &fstab; first (read the previous section for details), then issue the following command as the &root; user in the From 08620feaa124f04c5fee08d462fc0669100306eb Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 25 Oct 2024 12:45:27 -0500 Subject: [PATCH 11/89] Fix currency for markupsafe. --- lfs-latest-git.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 6b7b2d4c2..5309d38ad 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -14,6 +14,7 @@ $regex = array(); //$regex[ 'bzip2' ] = "/^.*current version is ([\d\.]+).*$/"; $regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/"; $regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/"; +$regex[ 'markupsafe' ] = "/^.*MarkupSafe ([\d\.]+).*$/"; $regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/"; //$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/"; //$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/"; @@ -147,7 +148,7 @@ if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/t if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/"; if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow"); if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit"); -if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/"; +if ( $package == "markupsafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/"; if ( $package == "jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/"; if ( $package == "sysklogd" ) $dirpath = github("troglobit/sysklogd"); if ( $package == "systemd" ) $dirpath = github("systemd/systemd"); From a9517d383c52f744fef132d1d9f9ce649dd71df5 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 1 Nov 2024 11:38:36 -0500 Subject: [PATCH 12/89] Package updates. Update to linux-6.11.6. Update to libcap-2.71. Update to setuptools-75.3.0. Update to flit_core-3.10.0. --- chapter01/changelog.xml | 22 ++++++++++++++++++++++ chapter01/whatsnew.xml | 8 ++++---- chapter08/sysklogd.xml | 3 ++- packages.ent | 24 ++++++++++++------------ 4 files changed, 40 insertions(+), 17 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 948d4382b..0680f1e92 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,28 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-10-25 + + + [bdubbs] - Update to linux-6.11.6. Fixes + #5588. + + + [bdubbs] - Update to libcap-2.71. Fixes + #5584. + + + [bdubbs] - Update to setuptools-75.3.0. Fixes + #5585. + + + [bdubbs] - Update to flit_core-3.10.0. Fixes + #5587. + + + + 2024-10-25 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 21032b1bf..c1ef4374d 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -86,9 +86,9 @@ - + Gawk-&gawk-version; @@ -149,9 +149,9 @@ - + Libelf from Elfutils-&elfutils-version; diff --git a/chapter08/sysklogd.xml b/chapter08/sysklogd.xml index f86718873..af9b860f6 100644 --- a/chapter08/sysklogd.xml +++ b/chapter08/sysklogd.xml @@ -46,7 +46,8 @@ ./configure --prefix=/usr \ --sysconfdir=/etc \ --runstatedir=/run \ - --without-logger + --without-logger \ + --docdir=/usr/share/doc/sysklogd-&sysklogd-version; Compile the package: diff --git a/packages.ent b/packages.ent index ad149fc36..c2c995eee 100644 --- a/packages.ent +++ b/packages.ent @@ -200,10 +200,10 @@ - - + + - + @@ -389,10 +389,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + + + 2024-11-08 + + + [bdubbs] - Added binutils-2.43.1-upstream_fix-1.patch. Fixes + #5591. + + + [bdubbs] - Update to flit_core-3.10.1. Fixes + #5589. + + + [bdubbs] - Update to expat-2.6.4. Fixes + #5590. + + + + 2024-10-25 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index c1ef4374d..2279d171d 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -292,9 +292,9 @@ Added: - + + binutils-2.43.1-upstream_fix-1.patch + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index ef00fbe5a..1956d39f5 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -35,15 +35,15 @@ --> - + Bzip2 Documentation Patch - &bzip2-docs-patch-size;: diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 629c698c3..2c28df6f1 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -41,6 +41,12 @@ 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; + The Binutils documentation recommends building Binutils in a dedicated build directory: diff --git a/packages.ent b/packages.ent index c2c995eee..4013f7e53 100644 --- a/packages.ent +++ b/packages.ent @@ -156,10 +156,10 @@ - - + + - + @@ -200,10 +200,10 @@ - - + + - + diff --git a/patches.ent b/patches.ent index fbb773577..7035044cd 100644 --- a/patches.ent +++ b/patches.ent @@ -7,6 +7,10 @@ --> + + + + From 505b6b1581863013bd114510b5d72d8b08fe53ca Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Nov 2024 18:31:59 +0800 Subject: [PATCH 15/89] shadow: Remove reference to cracklib The cracklib integration has been removed by upstream since shadow-4.15.0. --- chapter08/shadow.xml | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index de6b05f75..38d233a9d 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -44,18 +44,20 @@ If you've installed Linux-PAM, you should follow - the BLFS shadow - page instead of this page to build (or, rebuild or upgrade) - shadow. + the BLFS + instruction instead of this page to build (or, rebuild or + upgrade) shadow. - If you would like to enforce the use of strong passwords, refer to - for installing - CrackLib prior to building Shadow. Then add - --with-libcrack to the configure - command below. + If you would like to enforce the use of strong passwords, + install and configure + Linux-PAM first. Then + install and configure + shadow with the PAM support. Finally + install + libpwquality and configure PAM to use it. Disable the installation of the groups program @@ -94,11 +96,6 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; - - If you chose to build Shadow with Cracklib support, issue this command: - -sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs - + + 2024-11-15 + + + [bdubbs] - Update to vim-9.1.0866. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20241024. Addresses + #5006. + + + [bdubbs] - Update to wheel-0.45.0 (Python Module). Fixes + #5593. + + + [bdubbs] - Update to setuptools-75.5.0 (Python Module). Fixes + #5595. + + + [bdubbs] - Update to linux-6.11.8. Fixes + #5582. + + + [bdubbs] - Update to libcap-2.72. Fixes + #5594. + + + + 2024-11-08 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 2279d171d..bf699eef3 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -263,9 +263,9 @@ Vim-&vim-version; - + diff --git a/chapter08/readline.xml b/chapter08/readline.xml index 882391cae..f5163e992 100644 --- a/chapter08/readline.xml +++ b/chapter08/readline.xml @@ -89,7 +89,9 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install SHLIB_LIBS="-lncursesw" This option forces Readline to link against the - libncursesw library. + libncursesw library. + For details see the "Shared Libraries" section in the package's + "README" file. diff --git a/packages.ent b/packages.ent index 4013f7e53..35da245f8 100644 --- a/packages.ent +++ b/packages.ent @@ -317,10 +317,10 @@ - + - + @@ -389,10 +389,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + @@ -767,10 +767,10 @@ - - + + - + From eca8b13b5927994b202c172035baa987d7aee70d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 16 Nov 2024 08:57:29 +0800 Subject: [PATCH 17/89] readline: Decorate new info about SHLIB_LIBS --- chapter08/readline.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/readline.xml b/chapter08/readline.xml index f5163e992..2a01c86c8 100644 --- a/chapter08/readline.xml +++ b/chapter08/readline.xml @@ -90,8 +90,8 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install This option forces Readline to link against the libncursesw library. - For details see the "Shared Libraries" section in the package's - "README" file. + For details see the Shared Libraries section in the + package's README file. From 4660ec224be5dff041eaadfaf413e3713f5ab6a1 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 15 Nov 2024 21:02:50 -0600 Subject: [PATCH 18/89] Fix vim stats. --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 35da245f8..d8aa85732 100644 --- a/packages.ent +++ b/packages.ent @@ -748,7 +748,7 @@ - + - + From d5d6ec44ea835da5300e48781531567fd04ee6e7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Nov 2024 11:38:17 +0800 Subject: [PATCH 19/89] readline: Remove SHLIB_LIBS from make install It's not needed now and I don't know why it was added in the first place (at r10573-g2e8cbe04cdac). I'd say it likely just covered up some user error (for e.g. simply forgetting "make" before "make install"). Removing it anyway and if it turns out something bad is happening we can always revert. --- chapter08/readline.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/readline.xml b/chapter08/readline.xml index 2a01c86c8..eefd9f966 100644 --- a/chapter08/readline.xml +++ b/chapter08/readline.xml @@ -101,7 +101,7 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install Install the package: -make SHLIB_LIBS="-lncursesw" install +make install If desired, install the documentation: From 410e400a7978c1236b10689dc1268883a33ce778 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 20 Nov 2024 09:59:23 +0800 Subject: [PATCH 20/89] shadow: Having /bin or /sbin in $PATH is not a good idea Turned out in a recent blfs-support discuss. --- chapter08/shadow.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index 38d233a9d..4cdf2596e 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -83,13 +83,13 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;/usr. - - If you wish to include /bin - and/or /sbin in the PATH - for some reason, modify the - PATH in .bashrc after LFS has been - built. - + + Including /bin + and/or /sbin in + the PATH variable may cause some BLFS packages fail to + build, so don't do that + in the .bashrc file or anywhere else. + sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \ -e 's:/var/spool/mail:/var/mail:' \ From e5338216f06703f1a58721d52d849265de43d78e Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 19 Nov 2024 22:28:24 -0600 Subject: [PATCH 21/89] Remove unneeded PATH entries. --- chapter11/afterlfs.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter11/afterlfs.xml b/chapter11/afterlfs.xml index 633a782df..88a3c0114 100644 --- a/chapter11/afterlfs.xml +++ b/chapter11/afterlfs.xml @@ -168,7 +168,7 @@ EOF alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ " -PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login' +PATH=/usr/bin:/usr/sbin /bin/bash --login' This alias is a little tricky because of the quoting and levels of From e5cc8213aafbe19f073345a4f5dbad05a6ed4a2d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 28 Nov 2024 12:50:41 -0600 Subject: [PATCH 22/89] Typo --- chapter08/iproute2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index 8a6755f3d..c010ee2ed 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -274,7 +274,7 @@ cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;Traffic control for Quality of Service (QoS) and Class of Service (CoS) implementations - tc qdisc allows users to set up the queueing + tc qdisc allows users to set up the queuing discipline tc class allows users to set up classes based From ea48456403283120cd3c74357b46c6aae7bcdb2d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 30 Nov 2024 09:49:34 -0600 Subject: [PATCH 23/89] Update to iana-etc-20241122. Update to file-5.46. Update to iproute2-6.12.0. Update to libtool-2.5.4. Update to linux-6.12.1. Update to setuptools-75.6.0 (Python Module). Update to wheel-0.45.1 (Python Module). --- chapter01/changelog.xml | 34 +++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 4 ++-- chapter08/iproute2.xml | 4 ++-- packages.ent | 44 ++++++++++++++++++++--------------------- 4 files changed, 60 insertions(+), 26 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0beb04d7b..cdb245999 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,40 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-12-01 + + + [bdubbs] - Update to iana-etc-20241122. Addresses + #5006. + + + [bdubbs] - Update to file-5.46. Fixes + #5601. + + + [bdubbs] - Update to iproute2-6.12.0. Fixes + #5597. + + + [bdubbs] - Update to libtool-2.5.4. Fixes + #5598. + + + [bdubbs] - Update to linux-6.12.1. Fixes + #5586. + + + [bdubbs] - Update to setuptools-75.6.0 (Python Module). Fixes + #5599. + + + [bdubbs] - Update to wheel-0.45.1 (Python Module). Fixes + #5600. + + + + 2024-11-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index bf699eef3..65de020ec 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -77,9 +77,9 @@ - + diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index c010ee2ed..50fec36aa 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -274,11 +274,11 @@ cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;Traffic control for Quality of Service (QoS) and Class of Service (CoS) implementations - tc qdisc allows users to set up the queuing + tc qdisc allows users to set up the queueing discipline tc class allows users to set up classes based - on the queuing discipline scheduling + on the queueing discipline scheduling tc filter allows users to set up the QoS/CoS packet filtering diff --git a/packages.ent b/packages.ent index d8aa85732..f90f8fae7 100644 --- a/packages.ent +++ b/packages.ent @@ -172,10 +172,10 @@ - - + + - + @@ -317,10 +317,10 @@ - - + + - + @@ -341,10 +341,10 @@ - - + + - + @@ -413,10 +413,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - + + + + 2024-12-15 + + + [bdubbs] - Update to vim-9.1.0927. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20241206. Addresses + #5006. + + + [bdubbs] - Update to systemd-257. Fixes + #5559. + + + [bdubbs] - Update to Python-3.13.1. Fixes + #5605. + + + [bdubbs] - Update to libcap-2.73. Fixes + #5604. + + + [bdubbs] - Update to linux-6.12.5. Fixes + #5607. + + + [bdubbs] - Update to kbd-2.7. Fixes + #5608. + + + [bdubbs] - Update to gettext-0.23. Fixes + #5603. + + + + 2024-12-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 65de020ec..aa8d41543 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -98,9 +98,9 @@ - + @@ -137,9 +137,9 @@ - + diff --git a/chapter08/gettext.xml b/chapter08/gettext.xml index f26d15536..3d5e3ade7 100644 --- a/chapter08/gettext.xml +++ b/chapter08/gettext.xml @@ -43,6 +43,12 @@ Installation of Gettext + First fix some compatibility issues with other programs: + +sed -e '/libxml\/xmlerror.h/i #include <libxml/xmlversion.h>' \ + -e 's/xmlError *err/const &/' \ + -i gettext-tools/src/its.c + Prepare Gettext for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/udev.xml b/chapter08/udev.xml index b3c318a0b..8883b624b 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -48,17 +48,19 @@ sgx, from the default udev rules: - sed -i -e 's/GROUP="render"/GROUP="video"/' \ - -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in + sed -e 's/GROUP="render"/GROUP="video"/' \ + -e 's/GROUP="sgx", //' \ + -i rules.d/50-udev-default.rules.in Remove one udev rule requiring a full Systemd installation: - sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in + sed -i '/systemd-sysctl/s/^/#/' rules.d/99-systemd.rules.in Adjust the hardcoded paths to network configuration files for the standalone udev installation: - sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h + sed -e '/NETWORK_DIRS/s/systemd/udev/' + -i src/libsystemd/sd-network/network-util.h Prepare Udev for compilation: diff --git a/packages.ent b/packages.ent index f90f8fae7..6af66bcdf 100644 --- a/packages.ent +++ b/packages.ent @@ -245,10 +245,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -357,10 +357,10 @@ - - + + - + @@ -389,10 +389,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - + - + - + - - + + @@ -661,15 +661,15 @@ - + - + - + @@ -745,7 +745,7 @@ - + From 1b69877bc4e55efa87fd1753cb891bcb0329bea3 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 16 Dec 2024 11:56:30 +0100 Subject: [PATCH 37/89] Fix chksum of vim tarball --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 6af66bcdf..4ced83917 100644 --- a/packages.ent +++ b/packages.ent @@ -762,7 +762,7 @@ example, https://github.com/vim/vim/tags?after=v8.1.1847 will show us v8.1.1846. --> - + From fba6f0643d6c5bd1bf2a264eead4e5fb42ba83e7 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 16 Dec 2024 16:50:42 +0100 Subject: [PATCH 38/89] Add missing backslash --- chapter08/udev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 8883b624b..1be726094 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -59,7 +59,7 @@ Adjust the hardcoded paths to network configuration files for the standalone udev installation: - sed -e '/NETWORK_DIRS/s/systemd/udev/' + sed -e '/NETWORK_DIRS/s/systemd/udev/' \ -i src/libsystemd/sd-network/network-util.h Prepare Udev for compilation: From 72fae0d02c402e2a35e5b078deeed65d8e4c42a2 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 16 Dec 2024 11:54:48 -0600 Subject: [PATCH 39/89] Fix vim size --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 4ced83917..1d41cb4c2 100644 --- a/packages.ent +++ b/packages.ent @@ -748,7 +748,7 @@ - + - One test named systemd:core / test-namespace - is known to fail in the LFS chroot environment. Some other tests may + after initializing the system with systemd. + This seems to pass now in chroot --> + + Three tests named systemd:test / test-fd-util, + systemd:test / test-mount-util, and + systemd:test / test-mountpoint-util, + are known to fail in the LFS chroot environment. Some other tests may fail because they depend on various kernel configuration options. Install the package: From 33b3a04e4e7c13112517e266a9367101f6823dab Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Thu, 19 Dec 2024 15:05:20 -0600 Subject: [PATCH 44/89] Revert "systemd: Update the test suite failures list for 257." This reverts commit 8f493a63774a200a9be7f1543f85b4fa155ed26f. When I was building LFS, I somehow forgot to mount /dev/sdb7 to /mnt/lfs on my system. I ended up chrooting into /mnt/lfs, and it was a directory, not a filesystem. This happens from time to time, not sure why I did it this time! The tests that I had marked as failed no longer fail, but at the same time, now test-namespace does. Let's undo this commit... --- chapter08/systemd.xml | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index acd90aef9..1e17c60ce 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -225,14 +225,9 @@ meson setup .. \ ninja test - - Three tests named systemd:test / test-fd-util, - systemd:test / test-mount-util, and - systemd:test / test-mountpoint-util, - are known to fail in the LFS chroot environment. Some other tests may + after initializing the system with systemd. --> + One test named systemd:core / test-namespace + is known to fail in the LFS chroot environment. Some other tests may fail because they depend on various kernel configuration options. Install the package: From 86a50f243aa3dcb79447431677a99baae91c1bc4 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Fri, 20 Dec 2024 15:15:07 -0600 Subject: [PATCH 45/89] /etc/os-release: Add in the RELEASE_TYPE field. This field was introduced with systemd-257. For development books, we'll use "development" here, but when we do the next release we should change this to say "stable". --- chapter11/theend.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/chapter11/theend.xml b/chapter11/theend.xml index 2b5ef95f1..92e0aaad5 100644 --- a/chapter11/theend.xml +++ b/chapter11/theend.xml @@ -59,6 +59,7 @@ ID=lfs PRETTY_NAME="Linux From Scratch &version;" VERSION_CODENAME="<your name here>" HOME_URL="&lfs-root;lfs/" +RELEASE_TYPE="development" EOF Be sure to customize the fields 'DISTRIB_CODENAME' and From 6913a42bffc9be1495b1b24999fcccde7585123d Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Fri, 20 Dec 2024 15:17:54 -0600 Subject: [PATCH 46/89] Update the systemd man pages to 257. --- packages.ent | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages.ent b/packages.ent index 1d41cb4c2..7d5894a08 100644 --- a/packages.ent +++ b/packages.ent @@ -671,11 +671,11 @@ - - + + - + From bfb0cbae18b850f1c3e8f7a56d689e98e084b20b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 21 Dec 2024 11:56:57 +0800 Subject: [PATCH 47/89] os-release: Automatically update RELEASE_TYPE --- chapter11/theend.xml | 2 +- general.ent | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/chapter11/theend.xml b/chapter11/theend.xml index 92e0aaad5..994cba8c3 100644 --- a/chapter11/theend.xml +++ b/chapter11/theend.xml @@ -59,7 +59,7 @@ ID=lfs PRETTY_NAME="Linux From Scratch &version;" VERSION_CODENAME="<your name here>" HOME_URL="&lfs-root;lfs/" -RELEASE_TYPE="development" +RELEASE_TYPE="&os-release-type;" EOF Be sure to customize the fields 'DISTRIB_CODENAME' and diff --git a/general.ent b/general.ent index d6bf13792..4e1480324 100644 --- a/general.ent +++ b/general.ent @@ -34,6 +34,7 @@ &patches-root;, &donwloads-root;, and &test-results; --> + ]]> + ]]> + ]]> Date: Tue, 31 Dec 2024 11:12:12 -0600 Subject: [PATCH 48/89] Package updates. Update to iana-etc-20241220. Update to texinfo-7.2. Update to sysvinit-3.12. Update to shadow-4.17.0. Update to procps-ng-4.0.5. Update to meson-1.6.1. Update to linux-6.12.7. Update to kbd-2.7.1. Update to jinja2-3.1.5. --- chapter01/changelog.xml | 42 +++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 12 +++++----- packages.ent | 52 ++++++++++++++++++++--------------------- patches.ent | 2 +- 4 files changed, 75 insertions(+), 33 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 4764a728d..3258be6d9 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,48 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2025-01-01 + + + [bdubbs] - Update to iana-etc-20241220. Addresses + #5006. + + + [bdubbs] - Update to texinfo-7.2. Fixes + #5616. + + + [bdubbs] - Update to sysvinit-3.12. Fixes + #5615. + + + [bdubbs] - Update to shadow-4.17.0. Fixes + #5617. + + + [bdubbs] - Update to procps-ng-4.0.5. Fixes + #5611. + + + [bdubbs] - Update to meson-1.6.1. Fixes + #5610. + + + [bdubbs] - Update to linux-6.12.7. Fixes + #5613. + + + [bdubbs] - Update to kbd-2.7.1. Fixes + #5608. + + + [bdubbs] - Update to jinja2-3.1.5. Fixes + #5614. + + + + 2024-12-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index aa8d41543..9fc118bb5 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -134,9 +134,9 @@ IPRoute2-&iproute2-version; - + Kbd-&kbd-version; @@ -212,9 +212,9 @@ - + @@ -230,9 +230,9 @@ Setuptools-&setuptools-version; - + Sysklogd-&sysklogd-version; diff --git a/packages.ent b/packages.ent index 7d5894a08..5f76f4633 100644 --- a/packages.ent +++ b/packages.ent @@ -317,10 +317,10 @@ - + - + @@ -349,18 +349,18 @@ - - + + - + - - + + - + @@ -431,12 +431,12 @@ - + - + - + - + - + @@ -164,6 +164,9 @@ Libtool-&libtool-version; + + Libxcrypt-&libxcrypt-version; + Linux-&linux-version; diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 36d5c55ca..02bc434cb 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -48,41 +48,22 @@ Prepare D-Bus for compilation: -./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --runstatedir=/run \ - --enable-user-session \ - --disable-static \ - --disable-doxygen-docs \ - --disable-xml-docs \ - --docdir=/usr/share/doc/dbus-&dbus-version; \ - --with-system-socket=/run/dbus/system_bus_socket +mkdir build +cd build + +meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback .. +ninja - The meaning of the configure options: + The meaning of the meson options: - --runstatedir=/run and - --with-system-socket=/run/dbus/system_bus_socket + --wrap-mode=nofallback - These cause the PID file and the system bus socket - to be in /run, instead of - the deprecated /var/run. - - - - - - --enable-user-session - - - This ensures the D-Bus per-user service and socket unit - files are installed for Systemd. They are not useful (but - harmless) in a base LFS installation, however they can be used - once systemd is rebuilt with PAM support in BLFS. + This switch prevents meson from attempting to download a copy + of the Glib package for the tests. @@ -90,11 +71,11 @@ Compile the package: -make +ninja To test the results, issue: -make check +ninja test Many tests are disabled because they require additional packages that are not included in LFS. Instructions for running the @@ -103,7 +84,7 @@ Install the package: -make install +ninja install Create a symlink so that D-Bus and systemd can use the same machine-id file: @@ -149,7 +130,7 @@ dbus-daemon - Is the D-Bus message bus daemon + is the D-Bus message bus daemon dbus-daemon @@ -159,7 +140,7 @@ dbus-launch - Starts dbus-daemon from a shell + starts dbus-daemon from a shell script dbus-launch @@ -170,7 +151,7 @@ dbus-monitor - Monitors messages passing through a D-Bus message bus + monitors messages passing through a D-Bus message bus dbus-monitor @@ -180,7 +161,7 @@ dbus-run-session - Starts a session bus instance of dbus-daemon + starts a session bus instance of dbus-daemon from a shell script and starts a specified program in that session @@ -192,7 +173,7 @@ dbus-send - Sends a message to a D-Bus message bus + sends a message to a D-Bus message bus dbus-send @@ -202,7 +183,7 @@ dbus-test-tool - Is a tool to help packages test + is a tool to help packages test D-Bus dbus-test-tool @@ -214,7 +195,7 @@ dbus-update-activation-environment - Updates environment variables that will be set for + updates environment variables that will be set for D-Bus session services dbus-update-activation-environment diff --git a/packages.ent b/packages.ent index 5f76f4633..b88852d20 100644 --- a/packages.ent +++ b/packages.ent @@ -114,12 +114,12 @@ - - + + - + - + @@ -421,10 +421,10 @@ - - + + - + From 93d4efbcd69be53e49219f5b96bb1f572554acbe Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 31 Dec 2024 13:54:22 -0600 Subject: [PATCH 50/89] Changelog: mark Jinja2 as a security update --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b5fb95d7e..c378309de 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -84,7 +84,7 @@ #5608. - [bdubbs] - Update to jinja2-3.1.5. Fixes + [bdubbs] - Update to jinja2-3.1.5 (Security Update). Fixes #5614. From 78226867526644f95be751bde15be2422ca453a0 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 31 Dec 2024 14:56:53 -0600 Subject: [PATCH 51/89] dbus: remove a duplicate ninja command --- chapter08/dbus.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 02bc434cb..086b30b93 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -51,8 +51,7 @@ mkdir build cd build -meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback .. -ninja +meson setup --prefix=/usr --buildtype=release --wrap-mode=nofallback .. The meaning of the meson options: From f1a5ce38602b29e28c8ff6e14b29e950021f41e1 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 31 Dec 2024 20:34:46 -0600 Subject: [PATCH 52/89] Update to shadow-4.17.1. --- chapter01/changelog.xml | 4 ++-- packages.ent | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index c378309de..8e43698fc 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -64,8 +64,8 @@ #5615. - [bdubbs] - Update to shadow-4.17.0. Fixes - #5617. + [bdubbs] - Update to shadow-4.17.1. Fixes + #5617. [bdubbs] - Update to procps-ng-4.0.5. Fixes diff --git a/packages.ent b/packages.ent index b88852d20..d5f69deab 100644 --- a/packages.ent +++ b/packages.ent @@ -645,10 +645,10 @@ - - + + - + From 8e8be5f129e67b01aff3c958aab56c48aa603101 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 26 Dec 2024 18:39:39 +0800 Subject: [PATCH 53/89] Use lfs-user entity in commands I still think it's cleaner for jhalfs to just use a different user name (for example "lfs1") if the user lfs already exists. This will allow jhalfs to easily use a different user name. --- chapter04/addinguser.xml | 12 ++++++------ chapter07/changingowner.xml | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml index e10a884b3..e33fbbf38 100644 --- a/chapter04/addinguser.xml +++ b/chapter04/addinguser.xml @@ -20,8 +20,8 @@ the installation process. As root, issue the following commands to add the new user: -groupadd lfs -useradd -s /bin/bash -g lfs -m -k /dev/null lfs +groupadd &lfs-user; +useradd -s /bin/bash -g &lfs-user; -m -k /dev/null &lfs-user; This is what the command line options mean: @@ -74,15 +74,15 @@ useradd -s /bin/bash -g lfs -m -k /dev/null lfs have a password), you need to set a password for &lfs-user;. Issue the following command as the &root; user to set the password: -passwd lfs +passwd &lfs-user; Grant lfs full access to all the directories under $LFS by making lfs the owner: -chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} +chown -v &lfs-user; $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} case $(uname -m) in - x86_64) chown -v lfs $LFS/lib64 ;; + x86_64) chown -v &lfs-user; $LFS/lib64 ;; esac In some host systems, the following su command does not complete @@ -94,7 +94,7 @@ esac logging in as &lfs-user; on a virtual console, or with the following substitute/switch user command: -su - lfs +su - &lfs-user; The - instructs su to start a login shell as opposed to a non-login shell. diff --git a/chapter07/changingowner.xml b/chapter07/changingowner.xml index 16c052b39..b2e0ad9d5 100644 --- a/chapter07/changingowner.xml +++ b/chapter07/changingowner.xml @@ -33,9 +33,9 @@ user root by running the following command: -chown --from lfs -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} +chown --from &lfs-user; -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} case $(uname -m) in - x86_64) chown --from lfs -R root:root $LFS/lib64 ;; + x86_64) chown --from &lfs-user; -R root:root $LFS/lib64 ;; esac From 6528f7572074201a9cd3152b4e028fc117e138e5 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sun, 29 Dec 2024 15:57:31 +0100 Subject: [PATCH 54/89] Use as elements for lfs user and group The preceding commit uses elements to mark the lfs user and group in commands. Unfortunately, this change the rendering in html, because now lfs appears in an italic font. Using or allows parsing the XML for jhalfs, but does not change the html rendering. --- chapter04/addinguser.xml | 12 ++++++------ chapter07/changingowner.xml | 4 ++-- general.ent | 2 ++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml index e33fbbf38..e1d130b95 100644 --- a/chapter04/addinguser.xml +++ b/chapter04/addinguser.xml @@ -20,8 +20,8 @@ the installation process. As root, issue the following commands to add the new user: -groupadd &lfs-user; -useradd -s /bin/bash -g &lfs-user; -m -k /dev/null &lfs-user; +groupadd &lfs-groupname; +useradd -s /bin/bash -g &lfs-groupname; -m -k /dev/null &lfs-username; This is what the command line options mean: @@ -74,15 +74,15 @@ useradd -s /bin/bash -g &lfs-user; -m -k /dev/null &lfs-user; -passwd &lfs-user; +passwd &lfs-username; Grant lfs full access to all the directories under $LFS by making lfs the owner: -chown -v &lfs-user; $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} +chown -v &lfs-username; $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} case $(uname -m) in - x86_64) chown -v &lfs-user; $LFS/lib64 ;; + x86_64) chown -v &lfs-username; $LFS/lib64 ;; esac In some host systems, the following su command does not complete @@ -94,7 +94,7 @@ esac logging in as &lfs-user; on a virtual console, or with the following substitute/switch user command: -su - &lfs-user; +su - &lfs-username; The - instructs su to start a login shell as opposed to a non-login shell. diff --git a/chapter07/changingowner.xml b/chapter07/changingowner.xml index b2e0ad9d5..178c7836e 100644 --- a/chapter07/changingowner.xml +++ b/chapter07/changingowner.xml @@ -33,9 +33,9 @@ user root by running the following command: -chown --from &lfs-user; -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} +chown --from &lfs-username; -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools} case $(uname -m) in - x86_64) chown --from &lfs-user; -R root:root $LFS/lib64 ;; + x86_64) chown --from &lfs-username; -R root:root $LFS/lib64 ;; esac diff --git a/general.ent b/general.ent index 4e1480324..b3bce5ae8 100644 --- a/general.ent +++ b/general.ent @@ -134,6 +134,8 @@ root"> lfs"> +lfs"> +lfs"> devtmpfs"> /etc/fstab"> /boot"> From d11e5762bc544e1934ba1fc7b662deb8055419c4 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Fri, 3 Jan 2025 12:21:11 +0100 Subject: [PATCH 55/89] pip3 wheel should be remap="make" --- chapter08/flit-core.xml | 2 +- chapter08/jinja2.xml | 2 +- chapter08/setuptools.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter08/flit-core.xml b/chapter08/flit-core.xml index 419efc30f..29194aa63 100644 --- a/chapter08/flit-core.xml +++ b/chapter08/flit-core.xml @@ -42,7 +42,7 @@ Build the package: -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install the package: diff --git a/chapter08/jinja2.xml b/chapter08/jinja2.xml index c06da9139..efa50a582 100644 --- a/chapter08/jinja2.xml +++ b/chapter08/jinja2.xml @@ -42,7 +42,7 @@ Build the package: -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install the package: diff --git a/chapter08/setuptools.xml b/chapter08/setuptools.xml index dfb31c5b8..8a404be73 100644 --- a/chapter08/setuptools.xml +++ b/chapter08/setuptools.xml @@ -42,7 +42,7 @@ Build the package: -pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install the package: From 389d8f53dbf434b948726e03b3c93031775bab04 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Fri, 3 Jan 2025 11:59:15 -0600 Subject: [PATCH 56/89] Changelog: mark Python 3.13.1 as a security update --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 8e43698fc..712ac923d 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -106,7 +106,7 @@ #5559. - [bdubbs] - Update to Python-3.13.1. Fixes + [bdubbs] - Update to Python-3.13.1 (Security Update). Fixes #5605. From cacb470c97dd29c34e70826c12326694cda6d900 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 11 Jan 2025 23:17:54 +0800 Subject: [PATCH 57/89] aboutlfs: Set umask to 022 I know some distros are using a different default and we are having reports of some mysterious permission issue via lfs-support those I highly suspect as some umask issue. Let's just explicitly set it (like setting $LFS) to protect us from such distros without changing every "mkdir -pv" to "install -vdm755". --- chapter02/aboutlfs.xml | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml index 4f3f6ba46..64229f114 100644 --- a/chapter02/aboutlfs.xml +++ b/chapter02/aboutlfs.xml @@ -8,7 +8,7 @@ - Setting The $LFS Variable + Setting the $LFS Variable and the Umask Throughout this book, the environment variable LFS will be used several times. You should ensure that this variable is always defined @@ -28,8 +28,14 @@ /mnt/lfs (or whatever value the variable was set to) when it processes the command line. + Now setting the file mode creation mask (umask) to + 022 in case the host distro uses a different + default: + +umask 022 - Do not forget to check that LFS is set whenever + Do not forget to check that LFS is set and the + umask is set to 022 whenever you leave and reenter the current working environment (such as when doing a su to root or another user). Check that the LFS variable is set up @@ -39,10 +45,17 @@ Make sure the output shows the path to your LFS system's build location, which is /mnt/lfs if the - provided example was followed. If the output is incorrect, use the command - given earlier on this page to set $LFS to the correct - directory name. - + provided example was followed. + + Check that the umask is set up properly with: + + umask + + The output should be 022. + + If any output of these two commands is incorrect, use the command + given earlier on this page to set $LFS to the correct + directory name and set umask to 022. One way to ensure that the LFS variable is always set is to edit the .bash_profile file in both your From 68b56a3c3303ceff24ac3373d17ac5401354527b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 11 Jan 2025 23:31:54 +0800 Subject: [PATCH 58/89] creatingminlayout: Set the owner and permission of $LFS The host distro may have an insane default for root_owner and/or root_perms in /etc/mke2fs.conf, so let's make it sane on our own. Note that MKE2FS_CONFIG=/dev/null makes mke2fs refuse to run so we cannot suppress the host mke2fs.conf. --- chapter04/creatingminlayout.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chapter04/creatingminlayout.xml b/chapter04/creatingminlayout.xml index d4bfe9af1..96f0c591a 100644 --- a/chapter04/creatingminlayout.xml +++ b/chapter04/creatingminlayout.xml @@ -18,6 +18,15 @@ location. We do this so those temporary programs will be overwritten when the final versions are built in . + At first, set the owner and permission mode of the + $LFS directory (i.e. the root + directory in the newly created file system for the LFS system) to + &root; and 755 in case the host distro has been + configured to use a different default for mkfs: + +chown root:root $LFS +chmod 755 $LFS + Create the required directory layout by issuing the following commands as root: From 625969c2de5402dce45ff0ae93c1b17ffe050e41 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 12 Jan 2025 11:43:36 +0800 Subject: [PATCH 59/89] aboutlfs: Also mention umask in addition to export LFS= for bash profiles --- chapter02/aboutlfs.xml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml index 64229f114..158f8f3a5 100644 --- a/chapter02/aboutlfs.xml +++ b/chapter02/aboutlfs.xml @@ -57,24 +57,26 @@ given earlier on this page to set $LFS to the correct directory name and set umask to 022. - One way to ensure that the LFS variable is always - set is to edit the .bash_profile file in both your - personal home directory and in /root/.bash_profile and - enter the export command above. In addition, the shell specified in the + One way to ensure that the LFS variable and the + umask are always set properly is to edit the + .bash_profile file in both your personal home + directory and in /root/.bash_profile and + enter the export and umask commands + above. In addition, the shell specified in the /etc/passwd file for all users that need the LFS variable must be bash to ensure that the - /root/.bash_profile file is incorporated as a part of + .bash_profile file is incorporated as a part of the login process. Another consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's .bash_profile is not normally used when - a virtual terminal is started. In this case, add the export command to + a virtual terminal is started. In this case, add the commands to the .bashrc file for the user and root. In addition, some distributions use an "if" test, and do not run the remaining .bashrc instructions for a non-interactive bash invocation. Be sure to place the - export command ahead of the test for non-interactive use. + commands ahead of the test for non-interactive use. From 39679232f7a6ebfcd5d9a410b26cf0e3c7cabe00 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 12 Jan 2025 11:55:59 +0800 Subject: [PATCH 60/89] Move the explanation of umask 022 from settingenviron to aboutlfs Explain it once we use it. Also fix an error in the text (we don't make files executable, we only make directories searchable). --- chapter02/aboutlfs.xml | 10 ++++++++++ chapter04/settingenviron.xml | 7 ++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml index 158f8f3a5..f46d4e3ba 100644 --- a/chapter02/aboutlfs.xml +++ b/chapter02/aboutlfs.xml @@ -33,6 +33,16 @@ default: umask 022 + + Setting the umask to 022 ensures that newly created files and + directories are only writable by their owner, but are readable and + searchable (only for directories) by anyone (assuming default modes are + used by the open(2) system + call, new files will end up with permission mode 644 and directories with + mode 755). An over-permissive default can leave security holes in the + LFS system, and an over-restrictive default can cause strange issues + building or using the LFS system. + Do not forget to check that LFS is set and the umask is set to 022 whenever diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml index b179bb0b3..564e29d84 100644 --- a/chapter04/settingenviron.xml +++ b/chapter04/settingenviron.xml @@ -76,11 +76,8 @@ EOF umask 022 - Setting the user file-creation mask (umask) to 022 ensures that newly - created files and directories are only writable by their owner, but are - readable and executable by anyone (assuming default modes are used by the - open(2) system call, new files - will end up with permission mode 644 and directories with mode 755). + Setting the umask as we've already explained in + From 016ba17be9c30b1a39718da471619706888dbea7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 12 Jan 2025 13:20:45 +0800 Subject: [PATCH 61/89] procps: Remove the systemd revision specific workaround The issue is fixed in procps-ng-4.0.5. --- chapter08/procps.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 8a4716ade..399d0cec7 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -67,8 +67,7 @@ Compile the package: -make -make src_w_LDADD='$(LDADD) -lsystemd' +make + + 2025-01-15 + + + [bdubbs] - Update to vim-9.1.1016. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20250108. Addresses + #5006. + + + [bdubbs] - Update to util-linux-2.40.4. Fixes + #5624. + + + [bdubbs] - Update to sysvinit-3.13. Fixes + #5621. + + + [bdubbs] - Update to sysklogd-2.7.0. Fixes + #5623. + + + [bdubbs] - Update to shadow-4.17.2. Fixes + #5625. + + + [bdubbs] - Update to setuptools-75.8.0. Fixes + #5622. + + + [bdubbs] - Update to linux-6.12.9. Fixes + #5620. + + + [bdubbs] - Update to gettext-0.23.1. Fixes + #5619. + + + + 2025-01-01 @@ -59,7 +101,7 @@ [bdubbs] - Update to texinfo-7.2. Fixes #5616. - + [bdubbs] - Update to sysvinit-3.12. Fixes #5615. diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 90afb8d16..269fd8ab7 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -260,9 +260,9 @@ Udev from Systemd-&systemd-version; - + Vim-&vim-version; diff --git a/chapter08/gettext.xml b/chapter08/gettext.xml index d8fbc8f20..c0829253a 100644 --- a/chapter08/gettext.xml +++ b/chapter08/gettext.xml @@ -42,7 +42,7 @@ Installation of Gettext - + Prepare Gettext for compilation: ./configure --prefix=/usr \ diff --git a/packages.ent b/packages.ent index d5f69deab..6ee85b754 100644 --- a/packages.ent +++ b/packages.ent @@ -245,10 +245,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - + + - + - + - + - + From 59cc122efa76b6e1ef013b2e853ca95b1806c5fd Mon Sep 17 00:00:00 2001 From: Zeckmathederg Date: Wed, 15 Jan 2025 23:56:42 -0700 Subject: [PATCH 65/89] changelog: Change ticket link to point to the right ticket. --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 66742354c..13865692e 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -65,7 +65,7 @@ [bdubbs] - Update to shadow-4.17.2. Fixes - #5625. + #5625. [bdubbs] - Update to setuptools-75.8.0. Fixes From 2aaea1389b19c7a05c2443e4014d54ad88745d76 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 18 Jan 2025 21:09:08 -0600 Subject: [PATCH 66/89] Make pip3 commands consistent. --- chapter08/flit-core.xml | 2 +- chapter08/jinja2.xml | 2 +- chapter08/markupsafe.xml | 2 +- chapter08/wheel.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter08/flit-core.xml b/chapter08/flit-core.xml index 29194aa63..55be940d4 100644 --- a/chapter08/flit-core.xml +++ b/chapter08/flit-core.xml @@ -46,7 +46,7 @@ Install the package: -pip3 install --no-index --no-user --find-links dist flit_core +pip3 install --no-index --find-links dist flit_core The meaning of the pip3 configuration options and commands: diff --git a/chapter08/jinja2.xml b/chapter08/jinja2.xml index efa50a582..0ddbf5ef5 100644 --- a/chapter08/jinja2.xml +++ b/chapter08/jinja2.xml @@ -46,7 +46,7 @@ Install the package: -pip3 install --no-index --no-user --find-links dist Jinja2 +pip3 install --no-index --find-links dist Jinja2 diff --git a/chapter08/markupsafe.xml b/chapter08/markupsafe.xml index 685b7b520..232cb317b 100644 --- a/chapter08/markupsafe.xml +++ b/chapter08/markupsafe.xml @@ -48,7 +48,7 @@ Install the package: -pip3 install --no-index --no-user --find-links dist Markupsafe +pip3 install --no-index --find-links dist Markupsafe diff --git a/chapter08/wheel.xml b/chapter08/wheel.xml index 605cda1be..41798157b 100644 --- a/chapter08/wheel.xml +++ b/chapter08/wheel.xml @@ -46,7 +46,7 @@ Install Wheel with the following command: -pip3 install --no-index --find-links=dist wheel +pip3 install --no-index --find-links dist wheel From ff4a32ec01eafa53ef4d1f628787afc1b18563ba Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 25 Jan 2025 22:12:05 +0800 Subject: [PATCH 67/89] aboutlfs: Fix umask expect output On a latest LFS system the output is 0022. It seems depending on host shell version. --- chapter02/aboutlfs.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml index a04b1c422..4eba82366 100644 --- a/chapter02/aboutlfs.xml +++ b/chapter02/aboutlfs.xml @@ -61,7 +61,9 @@ umask - The output should be 022. + The output may be 0022 or + 022 (the number of leading zeros depends + on the host distro). If any output of these two commands is incorrect, use the command given earlier on this page to set $LFS to the correct From 9eccb6170d9570473b796bb3017435b0fab10228 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 26 Jan 2025 00:55:43 +0800 Subject: [PATCH 68/89] glibc: Unset tz as well as ZONEINFO after installing tzdata --- chapter08/glibc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 1f12e915a..959c21038 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -496,7 +496,7 @@ done cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO zic -d $ZONEINFO -p America/New_York -unset ZONEINFO +unset ZONEINFO tz The meaning of the zic commands: From b05b2270d3e48fd546eb321f78e3069b8cd64ea7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 26 Jan 2025 12:13:11 +0800 Subject: [PATCH 69/89] libtool: Remove outdated known failures The test results seem clean in the LFS chroot now. --- chapter08/libtool.xml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/chapter08/libtool.xml b/chapter08/libtool.xml index cb550b5d6..be88fa169 100644 --- a/chapter08/libtool.xml +++ b/chapter08/libtool.xml @@ -52,13 +52,7 @@ To test the results, issue: -make -k check - - Five tests are known to fail in the LFS build environment due - to a circular dependency, but these tests pass if rechecked after - automake has been installed. Additionally, with grep-3.8 or newer, - two tests will trigger a warning for non-POSIX regular expressions and - fail. +make check Install the package: From 50a0916dea503c04dcdb3f7979e14afc568c4917 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 26 Jan 2025 17:30:01 +0800 Subject: [PATCH 70/89] vim: Remove tests requiring curl or vim Since vim-9.1.0859, some tests need curl or wget or they fail. --- chapter08/vim.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 2ed5cf238..3da3bc4b6 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -64,9 +64,11 @@ To prepare the tests, ensure that user tester can write - to the source tree: + to the source tree and exclude one file containing tests requiring + curl or wget: -chown -R tester . +chown -R tester . +sed '/test_glvs/d' -i src/testdir/Make_all.mak Now run the tests as user tester: From ce203670071d5d4ee277f84eb8a4e1934f8def63 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 1 Feb 2025 20:12:49 +0800 Subject: [PATCH 71/89] stages: "Changing Ownership" shouldn't be executed resuming an interrupted build Before we added "--from lfs", it'll break a half-baken LFS system. After we added "--from lfs", it has no effect. --- chapter02/stages.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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. From aef7c6efd65de51752da917b697caa7ee4d5b825 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 1 Feb 2025 23:48:59 +0800 Subject: [PATCH 72/89] acl: Run the test suite There's only one test failure due to the temporary coreutils, thus I don't think it's a reason strong enough to skip the entire test suite. --- chapter08/acl.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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: From 4f401fb372e0c3bc222e3e6165a5ecf5019c80f2 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 2 Feb 2025 20:02:39 -0600 Subject: [PATCH 73/89] Package updates. Update to vim-9.1.1071. Update to iana-etc-20250123. Update to binutils-2.44.0. Update to coreutils-9.6. Update to e2fsprogs-1.47.2. Update to glibc-2.41. Update to iproute2-6.13.0. Update to libxcrypt-4.4.38. Update to linux-6.13.1. Update to man-pages-6.10. Update to meson-1.7.0. Update to perl-5.40.1. Update to tcl8.6.16. Update to tzdata2025a. Update to xz-5.6.4. --- chapter01/changelog.xml | 66 ++++++++++++++++++++++++++ chapter01/whatsnew.xml | 24 +++++----- chapter03/patches.xml | 4 +- chapter06/binutils-pass2.xml | 2 +- chapter07/createfiles.xml | 4 +- chapter08/binutils.xml | 4 +- chapter08/coreutils.xml | 11 ++++- chapter08/perl.xml | 5 -- chapter08/tcl.xml | 4 +- packages.ent | 90 ++++++++++++++++++------------------ patches.ent | 7 +-- 11 files changed, 146 insertions(+), 75 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 13865692e..68977df08 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,72 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 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 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 269fd8ab7..0bdf95c70 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -44,9 +44,9 @@ Bc-&bc-version; - + @@ -56,9 +56,9 @@ - + @@ -68,9 +68,9 @@ - + Expat-&expat-version; @@ -101,9 +101,9 @@ Gettext-&gettext-version; - + @@ -182,9 +182,9 @@ Man-DB-&man-db-version; - + MarkupSafe-&markupsafe-version; @@ -209,9 +209,9 @@ - + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 1956d39f5..dd592f663 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/binutils.xml b/chapter08/binutils.xml index 2c28df6f1..6717543da 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -40,13 +40,13 @@ Installation of Binutils - + The Binutils documentation recommends building Binutils in a dedicated build directory: diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 181153d1d..70eb1e318 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -55,7 +55,8 @@ Now prepare Coreutils for compilation: -autoreconf -fiv +autoreconf -fv +automake -af FORCE_UNSAFE_CONFIGURE=1 ./configure \ --prefix=/usr \ --enable-no-install-program=kill,uptime @@ -72,6 +73,14 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ + + automake + + Work around a problem with an older versions of autotools. + + + + FORCE_UNSAFE_CONFIGURE=1 diff --git a/chapter08/perl.xml b/chapter08/perl.xml index df9489d37..0d2937e05 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -40,12 +40,7 @@ Installation of Perl - 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/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/packages.ent b/packages.ent index 6ee85b754..618fdbf01 100644 --- a/packages.ent +++ b/packages.ent @@ -65,10 +65,10 @@ - - + + - + @@ -104,10 +104,10 @@ - - + + - + @@ -140,10 +140,10 @@ - - + + - + @@ -255,10 +255,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -341,10 +341,10 @@ - - + + - + @@ -421,22 +421,22 @@ - + - + - - + + - + - + - + - + @@ -783,10 +783,10 @@ - - + + - + diff --git a/patches.ent b/patches.ent index 0c1b18d0c..c90d38120 100644 --- a/patches.ent +++ b/patches.ent @@ -7,16 +7,17 @@ --> + - - + + From 5112b5ee91ab704f654aa7df923419b51cd54d26 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 4 Feb 2025 13:36:03 +0800 Subject: [PATCH 74/89] glibc: upgrade: Note that "fixed" headers may need to be removed --- chapter08/glibc.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 959c21038..14f0f5a66 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -317,6 +317,15 @@ 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, + remove the stale fixed copies of the Glibc headers: + + + rm -rfv $(dirname $(gcc -print-libgcc-file-name))/include-fixed/* Install the package: From 40ca48d44fb8794633a466015ab5b34f978bf2c6 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 6 Feb 2025 10:44:28 +0800 Subject: [PATCH 75/89] binutils: Drop stale references to gold I'm surprised --enable-gold doesn't cause an error when the tarball does not contain gold. --- chapter08/binutils.xml | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 6717543da..70f6bd026 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -57,7 +57,6 @@ cd build ../configure --prefix=/usr \ --sysconfdir=/etc \ - --enable-gold \ --enable-ld=default \ --enable-plugins \ --enable-shared \ @@ -70,14 +69,6 @@ cd build The meaning of the new configure parameters: - - --enable-gold - - Build the gold linker and install it as ld.gold (alongside the - default linker). - - - --enable-ld=default @@ -142,12 +133,6 @@ cd build grep '^FAIL:' $(find -name '*.log') - Twelve tests fail in the gold test suite when the - and - options are passed to GCC. - - - Install the package: make tooldir=/usr install @@ -167,7 +152,7 @@ cd build Installed directory - addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, ld.gold, nm, + addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, nm, objcopy, objdump, ranlib, readelf, size, strings, and strip libbfd.so, libctf.so, libctf-nobfd.so, libgprofng.so, libopcodes.so, and libsframe.so @@ -277,17 +262,6 @@ cd build - - ld.gold - - A cut down version of ld that only supports the - elf object file format - - ld.gold - - - - ld.bfd From 94dc9c26d2ee84c7d81b785d2d9124d630e2ca17 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 8 Feb 2025 08:42:47 +0800 Subject: [PATCH 76/89] Revert "Fix cmds installing python docs (permissions)" This reverts commit dc8572f2413a4d25444bb1237ea2a01dfba60429. The permission issue seems fixed upstream: after I untar the tarball with --no-same-owner --no-same-permissions as root, all files are 644 and all directories are 755 (proven via find -type f -not -perm 644 and find -type d -not -perm 755). --- chapter08/python.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index 75f18945f..ebda61181 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -162,21 +162,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. From 3f2235c907b373df5ae9512e1e9ada97443d9427 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 8 Feb 2025 09:17:21 +0800 Subject: [PATCH 77/89] coreutils: Better explain the autoreconf and automake commands --- chapter08/coreutils.xml | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 70eb1e318..1acad31ca 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -62,22 +62,28 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ --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 + auxilary files, but for this package it does not work because + configure.ac specified an old gettext + version. - automake + automake -af - Work around a problem with an older versions of autotools. - + The automake auxilary files were not updated by + autoreconf due to the missing + -i option. This command updates them + to prevent a build failure. From cb1b56efce6ba83f916bcb5da854045f10054ad5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 8 Feb 2025 09:50:39 +0800 Subject: [PATCH 78/89] coreutils: Remove outdated known failures They seem fixed with 9.6. --- chapter08/coreutils.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 1acad31ca..dfe6d0da5 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -149,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 From 611c87328f72d70664664874cbc62b2ffecac8ce Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 10 Feb 2025 18:32:32 +0800 Subject: [PATCH 79/89] glibc: Update total test number for 2.41 release --- chapter08/glibc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 14f0f5a66..79137416f 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: From 581ee1a9e887d33fbb813fbb46d0ced30ffebcba Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 10 Feb 2025 21:29:48 +0800 Subject: [PATCH 80/89] ninja: Add --verbose Some user using a slow system complained (off-list) to me that the long no-output period seemed like a hang (esp. combined with the warning about missing re2c). Also explain the "basic functionality test" is already done, so no need to run "./ninja" again for testing. --- chapter08/ninja.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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. + + 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 @@ -414,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 0bdf95c70..481d326fd 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -65,9 +65,9 @@ D-Bus-&dbus-version; - + E2fsprogs-&e2fsprogs-version; @@ -155,9 +155,9 @@ Libelf from Elfutils-&elfutils-version; - + Libpipeline-&libpipeline-version; diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 70f6bd026..5ea6c1b41 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -40,13 +40,7 @@ Installation of Binutils - The Binutils documentation recommends building Binutils in a dedicated build directory: @@ -137,9 +131,10 @@ cd build 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/procps.xml b/chapter08/procps.xml index 8dccfd697..eb7d277dc 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -91,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/util-linux.xml b/chapter08/util-linux.xml index 648b204b5..8ea9132b9 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -128,6 +128,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/chapter08/vim.xml b/chapter08/vim.xml index 3da3bc4b6..6e018ac41 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -80,9 +80,11 @@ sed '/test_glvs/d' -i src/testdir/Make_all.mak cause issues with the settings of the current terminal (especially while we are overriding the TERM variable to satisfy some assumptions of the test suite). The problem can be - 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 at completion. + avoided by redirecting the output to a log file as shown above. + + Four tests related to GetLatestVimScripts are known to fail in + the chroot environment because wget or curl are not available to + download the required test scripts. Install the package: diff --git a/packages.ent b/packages.ent index 618fdbf01..6966b1653 100644 --- a/packages.ent +++ b/packages.ent @@ -18,7 +18,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -52,9 +52,9 @@ - + - + @@ -72,10 +72,10 @@ - + - - + + @@ -83,10 +83,10 @@ - + - + @@ -109,10 +109,10 @@ - + - - + + @@ -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 @@ - + @@ -394,13 +394,13 @@ - + - - + + - + @@ -410,7 +410,7 @@ - + @@ -418,8 +418,8 @@ - - + + @@ -431,12 +431,12 @@ - + - + - + - + - + - + - - - - + + + + - - + + @@ -642,7 +642,7 @@ - + @@ -650,7 +650,7 @@ - + @@ -658,7 +658,7 @@ - + @@ -676,15 +676,15 @@ - - + + - + - + - + @@ -695,7 +695,7 @@ - + @@ -707,16 +707,16 @@ - + - + - + @@ -725,14 +725,13 @@ - - - + + @@ -740,15 +739,15 @@ - + - + - + - + - + - - + + - + @@ -788,7 +787,7 @@ - + @@ -810,6 +809,6 @@ - + From df98180f354cd47fe9f56224c1498b4b049fb870 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 12 Feb 2025 16:36:17 -0600 Subject: [PATCH 83/89] Remove binutils patch on whatsnew. --- chapter01/whatsnew.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 481d326fd..dc748661e 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -295,9 +295,11 @@ Added: + From 4bc4b26d5a6fcd053175d984415ec0cfe673ac72 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 12 Feb 2025 19:05:22 -0600 Subject: [PATCH 84/89] Restrict tcl currency to version 8 for now. --- lfs-latest-git.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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.*$/" ); From dfd69d56e75e460713607ff87fed6764758931e6 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 13 Feb 2025 11:10:49 -0600 Subject: [PATCH 85/89] Speling --- chapter08/coreutils.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index dfe6d0da5..36d428981 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -71,7 +71,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ build system, so the configuration files must be regenerated. Normally we would use the -i option to update the standard - auxilary files, but for this package it does not work because + auxiliary files, but for this package it does not work because configure.ac specified an old gettext version. @@ -80,7 +80,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ automake -af - The automake auxilary files were not updated by + The automake auxiliary files were not updated by autoreconf due to the missing -i option. This command updates them to prevent a build failure. From 36f2a2dd532bff818cebfc1f1447a26a9ec95650 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 14 Feb 2025 04:11:11 +0800 Subject: [PATCH 86/89] kernel: Regenerate configuration with Linux 6.13.1 --- chapter10/kernel/kernel.version | 2 +- chapter10/kernel/systemd.xml | 3 ++- chapter10/kernel/sysv.xml | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) 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 0525fbd0a..d143f0578 100644 --- a/chapter10/kernel/systemd.xml +++ b/chapter10/kernel/systemd.xml @@ -49,7 +49,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 f90164d65..759c3aa49 100644 --- a/chapter10/kernel/sysv.xml +++ b/chapter10/kernel/sysv.xml @@ -36,7 +36,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 ---> From 34202ef44adcd00278d7f0f1054573c02291e0f1 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 14 Feb 2025 04:13:13 +0800 Subject: [PATCH 87/89] vim: The tests requiring wget/curl have been removed with sed --- chapter08/vim.xml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 6e018ac41..3da3bc4b6 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -80,11 +80,9 @@ sed '/test_glvs/d' -i src/testdir/Make_all.mak cause issues with the settings of the current terminal (especially while we are overriding the TERM variable to satisfy some assumptions of the test suite). The problem can be - avoided by redirecting the output to a log file as shown above. - - Four tests related to GetLatestVimScripts are known to fail in - the chroot environment because wget or curl are not available to - download the required test scripts. + 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 at completion. Install the package: From 5ba41a882b936b8858926cd3b29cb20be0bf1e43 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 14 Feb 2025 21:52:51 +0800 Subject: [PATCH 88/89] glibc: Fix another flaw in update process regarding "fixed" includes --- chapter08/glibc.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 79137416f..c803d0c07 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -322,10 +322,14 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib 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: - rm -rfv $(dirname $(gcc -print-libgcc-file-name))/include-fixed/* + 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: From 613790d1fa4a7ffdc156b4a4b33288d669e5a7d5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 16 Feb 2025 17:55:54 +0800 Subject: [PATCH 89/89] vim: Update curl/wget test removal They've renamed the test file at some time point between 9.1.1071 and 9.1.1106. --- chapter08/vim.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 3da3bc4b6..90d07972a 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -68,7 +68,7 @@ curl or wget: chown -R tester . -sed '/test_glvs/d' -i src/testdir/Make_all.mak +sed '/test_plugin_glvs/d' -i src/testdir/Make_all.mak Now run the tests as user tester: