diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index a8675a805..fa20d3688 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -828,7 +828,7 @@ &before; - Wheel + Packaging and Wheel @@ -1196,7 +1196,7 @@ &testsuites; - No test suite available + None @@ -1598,7 +1598,7 @@ &testsuites; - No test suite available + None @@ -2422,7 +2422,7 @@ &dependencies; - Python + Flit-core and Python @@ -2647,7 +2647,7 @@ &testsuites; - No test suite available + Expect diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 1ac0d51b7..14f3cb970 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,74 @@ 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 + + + [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..819b1f243 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -95,9 +95,9 @@ GDBM-&gdbm-version; - + @@ -149,9 +149,9 @@ Libcap-&libcap-version; - + Libffi-&libffi-version; @@ -170,15 +170,15 @@ - + - + Man-pages-&man-pages-version; diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index e16efdea9..c7020290d 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -60,13 +60,13 @@ cd build Prepare Libstdc++ for compilation: -../libstdc++-v3/configure \ - --host=$LFS_TGT \ - --build=$(../config.guess) \ - --prefix=/usr \ - --disable-multilib \ - --disable-nls \ - --disable-libstdcxx-pch \ +../libstdc++-v3/configure \ + --host=$LFS_TGT \ + --build=$(../config.guess) \ + --prefix=/usr \ + --disable-multilib \ + --disable-nls \ + --disable-libstdcxx-pch \ --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version; diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index 039310ce8..40afd8230 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -79,23 +79,23 @@ cd build Now prepare GCC for compilation: -../configure \ - --build=$(../config.guess) \ - --host=$LFS_TGT \ - --target=$LFS_TGT \ - LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \ - --prefix=/usr \ - --with-build-sysroot=$LFS \ - --enable-default-pie \ - --enable-default-ssp \ - --disable-nls \ - --disable-multilib \ - --disable-libatomic \ - --disable-libgomp \ - --disable-libquadmath \ - --disable-libsanitizer \ - --disable-libssp \ - --disable-libvtv \ +../configure \ + --build=$(../config.guess) \ + --host=$LFS_TGT \ + --target=$LFS_TGT \ + LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \ + --prefix=/usr \ + --with-build-sysroot=$LFS \ + --enable-default-pie \ + --enable-default-ssp \ + --disable-nls \ + --disable-multilib \ + --disable-libatomic \ + --disable-libgomp \ + --disable-libquadmath \ + --disable-libsanitizer \ + --disable-libssp \ + --disable-libvtv \ --enable-languages=c,c++ diff --git a/chapter06/tar.xml b/chapter06/tar.xml index 67bc22540..691094e12 100644 --- a/chapter06/tar.xml +++ b/chapter06/tar.xml @@ -45,8 +45,8 @@ Prepare Tar for compilation: -./configure --prefix=/usr \ - --host=$LFS_TGT \ +./configure --prefix=/usr \ + --host=$LFS_TGT \ --build=$(build-aux/config.guess) Compile the package: diff --git a/chapter08/acl.xml b/chapter08/acl.xml index 63892d68e..f122deda1 100644 --- a/chapter08/acl.xml +++ b/chapter08/acl.xml @@ -44,8 +44,8 @@ Prepare Acl for compilation: -./configure --prefix=/usr \ - --disable-static \ +./configure --prefix=/usr \ + --disable-static \ --docdir=/usr/share/doc/acl-&acl-version; Compile the package: diff --git a/chapter08/e2fsprogs.xml b/chapter08/e2fsprogs.xml index 6f93dc99e..89f1fadb3 100644 --- a/chapter08/e2fsprogs.xml +++ b/chapter08/e2fsprogs.xml @@ -52,12 +52,12 @@ cd build Prepare E2fsprogs for compilation: -../configure --prefix=/usr \ - --sysconfdir=/etc \ - --enable-elf-shlibs \ - --disable-libblkid \ - --disable-libuuid \ - --disable-uuidd \ +../configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-elf-shlibs \ + --disable-libblkid \ + --disable-libuuid \ + --disable-uuidd \ --disable-fsck diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 33a928466..2953415ed 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -68,12 +68,12 @@ cd build Prepare Glibc for compilation: -../configure --prefix=/usr \ - --disable-werror \ - --enable-kernel=&min-kernel; \ - --enable-stack-protector=strong \ - --disable-nscd \ - libc_cv_slibdir=/usr/lib +../configure --prefix=/usr \ + --disable-werror \ + --disable-nscd \ + --enable-kernel=&min-kernel;\ + libc_cv_slibdir=/usr/lib \ + --enable-stack-protector=strong The meaning of the configure options: diff --git a/chapter08/grub.xml b/chapter08/grub.xml index e83db8ca0..b38f5760b 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -81,9 +81,9 @@ Prepare GRUB for compilation: -./configure --prefix=/usr \ - --sysconfdir=/etc \ - --disable-efiemu \ +./configure --prefix=/usr \ + --sysconfdir=/etc \ + --disable-efiemu \ --disable-werror diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 68ccf2b42..c2d44c837 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -46,8 +46,8 @@ Prepare Libelf for compilation: - ./configure --prefix=/usr \ - --disable-debuginfod \ + ./configure --prefix=/usr \ + --disable-debuginfod \ --enable-libdebuginfod=dummy Compile the package: @@ -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/chapter08/libffi.xml b/chapter08/libffi.xml index 04f5fff2e..a5caf50ed 100644 --- a/chapter08/libffi.xml +++ b/chapter08/libffi.xml @@ -63,8 +63,8 @@ Prepare Libffi for compilation: - ./configure --prefix=/usr \ - --disable-static \ +./configure --prefix=/usr \ + --disable-static \ --with-gcc-arch=native diff --git a/chapter08/packaging.xml b/chapter08/packaging.xml index f1a6def9c..17891d65b 100644 --- a/chapter08/packaging.xml +++ b/chapter08/packaging.xml @@ -62,7 +62,6 @@ Installed directories - packaging /usr/lib/python&python-minor;/site-packages/packaging and /usr/lib/python&python-minor;/site-packages/packaging-&packaging-version;.dist-info diff --git a/chapter08/pkgconf.xml b/chapter08/pkgconf.xml index 3e7e737fa..d9f9c4da3 100644 --- a/chapter08/pkgconf.xml +++ b/chapter08/pkgconf.xml @@ -46,8 +46,8 @@ Prepare Pkgconf for compilation: -./configure --prefix=/usr \ - --disable-static \ +./configure --prefix=/usr \ + --disable-static \ --docdir=/usr/share/doc/pkgconf-&pkgconf-version; Compile the package: diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 5b27c8e96..aa3fe9042 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -24,16 +24,20 @@ 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 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. @@ -81,9 +85,9 @@ 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-unneeded /tmp/$LIB + strip --strip-debug /tmp/$LIB objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB install -vm755 /tmp/$LIB /usr/lib rm /tmp/$LIB @@ -102,14 +106,14 @@ online_usrlib="libbfd-&binutils-version;.so for BIN in $online_usrbin; do cp /usr/bin/$BIN /tmp/$BIN - strip --strip-unneeded /tmp/$BIN + strip --strip-debug /tmp/$BIN install -vm755 /tmp/$BIN /usr/bin rm /tmp/$BIN done for LIB in $online_usrlib; do cp /usr/lib/$LIB /tmp/$LIB - strip --strip-unneeded /tmp/$LIB + strip --strip-debug /tmp/$LIB install -vm755 /tmp/$LIB /usr/lib rm /tmp/$LIB done @@ -120,7 +124,7 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ case "$online_usrbin $online_usrlib $save_usrlib" in *$(basename $i)* ) ;; - * ) strip --strip-unneeded $i + * ) strip --strip-debug $i ;; esac done 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;|" \ 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\.]+)$/" ); diff --git a/packages.ent b/packages.ent index 38982675a..6e7985744 100644 --- a/packages.ent +++ b/packages.ent @@ -140,10 +140,10 @@ - - + + - + @@ -237,10 +237,10 @@ - - + + - + @@ -265,10 +265,10 @@ - - + + - + @@ -309,10 +309,10 @@ - + - + @@ -423,12 +423,12 @@ - + - + - + - + - +