From 97aaa219af80ba0f9b8646c2366fed34b59248fd Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 15 Apr 2025 10:11:29 -0500 Subject: [PATCH 01/13] Update currency adding 'packaging.' --- lfs-latest-git.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index d8da03ef5..a6723e909 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -139,6 +139,7 @@ if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current"; if ( $package == "ncurses" ) $dirpath = "https://invisible-mirror.net/archives/ncurses"; if ( $package == "ninja" ) $dirpath = github("ninja-build/ninja"); if ( $package == "openssl" ) $dirpath = github("openssl/openssl"); +if ( $package == "packaging" ) $dirpath = "https://pypi.org/rss/project/packaging/releases.xml"; if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags"; if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags"; if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/"; @@ -262,6 +263,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); return find_max( $lines, "/wheel\/\d/", "/^.*wheel\/([\d\.]+).*$/" ); # End Python modules + if ( $package == "packaging" ) + return find_max( $lines, "/packaging/", "/^.*^.*packaging.([\d\.]+\d)\/.*$/" ); + if ( $package == "procps-ng" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); From 3d1e81b5a8397464f2ef0f54fb22b810c03c24c2 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 15 Apr 2025 22:53:28 -0500 Subject: [PATCH 02/13] Change stripping to use --strip-debug When we use -strip-unneeded it removes some symbols that are needed in static libraries that may be needed in addition to debugging symbols. Changing the stripping to the more conservative --strip-debug retains thise symbols. In the case of libc.a the unstripped file size is 22.4 MB. Using --strip-debug reduces the file size by 74 percent to 5.9 MB. Using --strip-unneeded only reduces the file further by 89 KB, so any gain is relatively trivial. --- chapter08/stripping.xml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 5ce0235d3..2839cfda7 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -24,10 +24,15 @@ backup of the LFS system in its current state. A strip command with the - --strip-unneeded option removes all debug symbols - from a binary or library. It also removes all symbol table entries not + --strip-unneeded option removes all debug symbols from + a binary or library. It also removes all symbol table entries not normally needed by the linker (for static libraries) or dynamic linker (for - dynamically linked binaries and shared libraries). + dynamically linked binaries and shared libraries). Using + --strip-debug does not remove symbol table entries + that may be needed by some applications. The difference between "unneeded" + and "debug" is very small. For example, an unstripped libc.a is 22.4 MB. + After stripping with --strip-debug it is 5.9 MB. Using --strip-unneeded only + reduces the size further to only 5.8 MB. + + 2025-05-01 + + + [bdubbs] - Update to vim-9.1.1353. Addresses + #4500. + + + [bdubbs] - Update to setuptools-80.0.1. Fixes + #5710. + + + [bdubbs] - Update to packaging-25.0. Fixes + #5706. + + + [bdubbs] - Update to meson-1.8.0. Fixes + #5713. + + + [bdubbs] - Update to linux-6.14.4. Fixes + #5709. + + + [bdubbs] - Update to iana-etc-20250407. Addresses + #5006. + + + [bdubbs] - Update to gperf-3.3. Fixes + #5708. + + + [bdubbs] - Update to elfutils-0.193. Fixes + #5711. + + + + 2025-04-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index d6d646f7b..61168b9dd 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -149,9 +149,9 @@ Libcap-&libcap-version; - + Libffi-&libffi-version; diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 117d0bd66..c2d44c837 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -58,6 +58,9 @@ make check + Two tests are known to fail, dwarf_srclang_check and + run-backtrace-native-core.sh. + Install only Libelf: make -C libelf install diff --git a/packages.ent b/packages.ent index 38982675a..adde037fb 100644 --- a/packages.ent +++ b/packages.ent @@ -140,10 +140,10 @@ - - + + - + @@ -265,10 +265,10 @@ - - + + - + @@ -309,10 +309,10 @@ - + - + @@ -423,12 +423,12 @@ - + - + - + - + - + From 7a6cafbe952b35a4d2de1f3c33ee90851fe74653 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 1 May 2025 21:34:32 +0800 Subject: [PATCH 08/13] stripping: Switch to zstd to compress debug info Now BLFS has valgrind-3.25.0 which supports zstd-compressed debug section. --- chapter08/stripping.xml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 2839cfda7..b1f88f33a 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -34,11 +34,8 @@ After stripping with --strip-debug it is 5.9 MB. Using --strip-unneeded only reduces the size further to only 5.8 MB. - The debugging symbols from selected libraries are compressed with - Zlib and preserved in separate files. That + Zstd and preserved in separate files. That debugging information is needed to run regression tests with valgrind or gdb later, in BLFS. @@ -86,7 +83,7 @@ cd /usr/lib for LIB in $save_usrlib; do - objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg + objcopy --only-keep-debug --compress-debug-sections=zstd $LIB $LIB.dbg cp $LIB /tmp/$LIB strip --strip-debug /tmp/$LIB objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB From cbdfdd32fdd7ead208c2bb0fb98b514746689fc0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 2 May 2025 12:41:33 +0800 Subject: [PATCH 09/13] stripping: Decorate with XML labels --- chapter08/stripping.xml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index b1f88f33a..45da34cda 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -29,10 +29,12 @@ needed by the linker (for static libraries) or dynamic linker (for dynamically linked binaries and shared libraries). Using --strip-debug does not remove symbol table entries - that may be needed by some applications. The difference between "unneeded" - and "debug" is very small. For example, an unstripped libc.a is 22.4 MB. - After stripping with --strip-debug it is 5.9 MB. Using --strip-unneeded only - reduces the size further to only 5.8 MB. + that may be needed by some applications. The difference between + unneeded and debug is very small. + For example, an unstripped libc.a + is 22.4 MB. After stripping with --strip-debug it + is 5.9 MB. Using --strip-unneeded only reduces the + size further to 5.8 MB. The debugging symbols from selected libraries are compressed with Zstd and preserved in separate files. That From 3dc11a77cfbf92555f971837fb3c54b07352eb3b Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 11 May 2025 23:38:57 -0500 Subject: [PATCH 10/13] Fix currency fo ropenssl. --- 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 a6723e909..d43431d29 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -279,7 +279,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); return find_max( $lines, "/tag_name/", '/^.*v([\d\.]+).*$/' ); if ( $package == "openssl" ) - return find_max( $lines, "/name.:/", "/^.*OpenSSL ([\d\.]+\d).*$/" ); + return find_max( $lines, "/name:/", "/^.*OpenSSL ([\d\.]+\d).*$/" ); if ( $package == "Python" ) return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\.]*\d) .*$/" ); From ac5a955c849d020c68935673de0b9d0ea05a56bd Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 12 May 2025 10:50:04 -0500 Subject: [PATCH 11/13] Restore openssl currency. --- 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 d43431d29..a6723e909 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -279,7 +279,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); return find_max( $lines, "/tag_name/", '/^.*v([\d\.]+).*$/' ); if ( $package == "openssl" ) - return find_max( $lines, "/name:/", "/^.*OpenSSL ([\d\.]+\d).*$/" ); + return find_max( $lines, "/name.:/", "/^.*OpenSSL ([\d\.]+\d).*$/" ); if ( $package == "Python" ) return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\.]*\d) .*$/" ); From de932d6de530a6ff8fd28446aee769fc34be7e0a Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 15 May 2025 08:20:18 -0500 Subject: [PATCH 12/13] Fix alignment. --- chapter08/systemd.xml | 2 +- chapter08/tcl.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 989082419..01730e235 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -243,7 +243,7 @@ ninja test tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \ - --no-same-owner --strip-components=1 \ + --no-same-owner --strip-components=1 \ -C /usr/share/man Create the /etc/machine-id file needed by diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index 0905af0d4..2cb10d72c 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -82,9 +82,9 @@ sed -e "s|$SRCDIR/unix|/usr/lib|" \ -i tclConfig.sh sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \ - -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \ + -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \ + -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \ + -e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \ -i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \ From fd694409776e1bf4ac5ac0d61f0adb9034179fcd Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 15 May 2025 09:42:51 -0500 Subject: [PATCH 13/13] Package updates. Update to setuptools-80.7.1. Update to man-pages-6.14. Update to man-db-2.13.1. Update to m4-1.4.20. Update to linux-6.14.6. Update to gettext-0.25. --- chapter01/changelog.xml | 30 ++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 12 ++++++------ packages.ent | 36 ++++++++++++++++++------------------ 3 files changed, 54 insertions(+), 24 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f15b55335..14f3cb970 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,36 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2025-05-15 + + + [bdubbs] - Update to setuptools-80.7.1. Fixes + #5715. + + + [bdubbs] - Update to man-pages-6.14. Fixes + #5720. + + + [bdubbs] - Update to man-db-2.13.1. Fixes + #5719. + + + [bdubbs] - Update to m4-1.4.20. Fixes + #5722. + + + [bdubbs] - Update to linux-6.14.6. Fixes + #5717. + + + [bdubbs] - Update to gettext-0.25. Fixes + #5718. + + + + 2025-05-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 61168b9dd..819b1f243 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -95,9 +95,9 @@ GDBM-&gdbm-version; - + @@ -170,15 +170,15 @@ - + - + Man-pages-&man-pages-version; diff --git a/packages.ent b/packages.ent index adde037fb..6e7985744 100644 --- a/packages.ent +++ b/packages.ent @@ -237,10 +237,10 @@ - - + + - + @@ -423,12 +423,12 @@ - + - + - +