diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 14f3cb970..7e38d65d4 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. --> + 2025-06-01 + + + [bdubbs] - Update to iana-etc-20250519. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.1418. Addresses + #4500. + + + [bdubbs] - Update to kbd-2.8.0. Fixes + #5736. + + + [bdubbs] - Update to systemd-257.6. Fixes + #5674. + + + [bdubbs] - Update to setuptools-80.9.0. Fixes + #5728. + + + [bdubbs] - Update to meson-1.8.1. Fixes + #5731. + + + [bdubbs] - Update to automake-1.18. Fixes + #5734. + + + [bdubbs] - Update build instructions to accomodate + gcc-15 for bc, expect, ncurses, and gmp. + + + [bdubbs] - Update to gcc-15.1.0. Fixes + #5707. + + + [bdubbs] - Update to less-678. Fixes + #5724. + + + [bdubbs] - Update to readline-8.3-rc1. Fixes + #5726. + + + [bdubbs] - Update to bash-5.3-rc1. Fixes + #5714. + + + + + 2025-05-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 819b1f243..a1f05eea8 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -35,12 +35,12 @@ - - + @@ -89,9 +89,9 @@ Gawk-&gawk-version; - + GDBM-&gdbm-version; @@ -134,15 +134,15 @@ Jinja2-&jinja2-version; - + Kmod-&kmod-version; - + @@ -221,9 +221,9 @@ Python-&python-version; - + @@ -236,9 +236,9 @@ Sysklogd-&sysklogd-version; - + @@ -296,6 +296,18 @@ Packaging-&packaging-version; + + bash-5.3-rc1-cross_compile_fix-1.patch + + + coreutils-9.7-upstream_fix-1.patch + + + perl-5.40.2-upstream_fix-1.patch + + + Python-3.13.3-security_fixes-1.patch + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index dd592f663..435fa6acd 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -26,15 +26,15 @@ --> - + - - + SysVinit Consolidated Patch - &sysvinit-consolidated-patch-size;: diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 54fa6f444..ae33f9466 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -43,6 +43,10 @@ Installation of Bash + First, fix a problem related to cross compilation and gcc-15: + +patch -Np1 -i ../&bash-crosscompile-fix-patch; + Prepare Bash for compilation: ./configure --prefix=/usr \ diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index 1aedf4508..22f7eb77a 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -89,7 +89,6 @@ cd build --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 \ @@ -103,6 +102,7 @@ cd build --disable-libssp \ --disable-libvtv \ --enable-languages=c,c++ \ + LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \ $($LFS_TGT-gcc -v 2>&1 | grep -o ..with-nan=2008) diff --git a/chapter08/bc.xml b/chapter08/bc.xml index 3d8cd9983..7df13a963 100644 --- a/chapter08/bc.xml +++ b/chapter08/bc.xml @@ -43,15 +43,15 @@ Prepare Bc for compilation: -CC=gcc ./configure --prefix=/usr -G -O3 -r +CC='gcc -std=c99' ./configure --prefix=/usr -G -O3 -r The meaning of the configure options: - CC=gcc + CC=gcc -std=c99 - This parameter specifies the compiler to use. + This parameter specifies the compiler and C standard to use. diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 36d428981..abf5f7819 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -41,6 +41,10 @@ Installation of Coreutils + First apply a security patch identified upstream: + +patch -Np1 -i ../&coreutils-upstream-patch; + POSIX requires that programs from Coreutils recognize character boundaries correctly even in multibyte locales. The following patch fixes this non-compliance and other internationalization-related bugs. diff --git a/chapter08/expect.xml b/chapter08/expect.xml index d7c6341f4..f23e7d8c4 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -67,9 +67,9 @@ GDBM, and of course Expect itself) will fail catastrophically, and other subtle breakages may also happen. - Now, make some changes to allow the package with gcc-14.1 or later: + Now, make some changes to allow the package with gcc-15.1 or later: -patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch +patch -Np1 -i ../&expect-gcc15-patch; Prepare Expect for compilation: diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 2a840e2e5..f41479d89 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -348,7 +348,7 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib DIR=$(dirname $(gcc -print-libgcc-file-name)) -[ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h +[ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h [ -e $DIR/include/syslimits.h ] || mv $DIR/include{-fixed,}/syslimits.h rm -rfv $DIR/include-fixed/* unset DIR diff --git a/chapter08/gmp.xml b/chapter08/gmp.xml index 9740af142..bacd9de2c 100644 --- a/chapter08/gmp.xml +++ b/chapter08/gmp.xml @@ -62,6 +62,10 @@ CFLAGS is still automatically set to -march=something. --> + First, make an adjustment for compatibilty with gcc-15 and later: + +sed -i '/long long t1;/,+1s/()/(...)/' configure + Prepare GMP for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/kbd.xml b/chapter08/kbd.xml index 3239d6a21..06537f271 100644 --- a/chapter08/kbd.xml +++ b/chapter08/kbd.xml @@ -80,9 +80,14 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in make - To test the results, issue: - + The tests for this package will all fail in the chroot environment + because they require valgrind. In addition + on a full system with valgrind, several + tests still fail in a graphical environment. The tests pass in + a non-graphical environment. + Install the package: diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml index a825f63c9..84970f306 100644 --- a/chapter08/ncurses.xml +++ b/chapter08/ncurses.xml @@ -137,8 +137,8 @@ ): make DESTDIR=$PWD/dest install -install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib -rm -v dest/usr/lib/libncursesw.so.&ncurses-version; +install -vm755 dest/usr/lib/libncursesw.so.&ncurses-base-version; /usr/lib +rm -v dest/usr/lib/libncursesw.so.&ncurses-base-version; sed -e 's/^#if.*XOPEN.*$/#if 1/' \ -i dest/usr/include/curses.h cp -av dest/* / diff --git a/chapter08/perl.xml b/chapter08/perl.xml index 0c0cb7067..0721cbe8f 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -41,6 +41,10 @@ Installation of Perl + First, apply a security patch identified upstream: + +patch -Np1 -i ../&perl-upstream-fix-patch; + Workaround an building issue on MIPS: sed 's@/bin/mips@/bin/false@g' -i Configure diff --git a/chapter08/python.xml b/chapter08/python.xml index ebda61181..0cbce0b0c 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -43,12 +43,17 @@ Installation of Python 3 + First, apply a security patch to the current package: + + patch -Np1 -i ../&python-security-fixes-patch; + Prepare Python for compilation: -./configure --prefix=/usr \ - --enable-shared \ - --with-system-expat \ - --enable-optimizations +./configure --prefix=/usr \ + --enable-shared \ + --with-system-expat \ + --enable-optimizations \ + --without-static-libpython The meaning of the configure options: @@ -72,6 +77,14 @@ + + --without-static-libpython + + This switch prevents building a large, but unneeded, static + library. + + + Compile the package: diff --git a/packages.ent b/packages.ent index 6e7985744..dffe24262 100644 --- a/packages.ent +++ b/packages.ent @@ -38,19 +38,19 @@ - - + + - + - - + + - + @@ -210,10 +210,10 @@ - - + + - + @@ -309,10 +309,10 @@ - + - + @@ -349,10 +349,10 @@ - - + + - + @@ -365,10 +365,10 @@ - - + + - + @@ -495,10 +495,10 @@ - - + + - + @@ -519,10 +519,11 @@ - - - - + + + + + @@ -618,11 +619,11 @@ - - - + + + - + @@ -637,10 +638,10 @@ - - + + - + @@ -661,21 +662,21 @@ - + - + - + - - + + - + @@ -744,10 +745,10 @@ - + - + - + diff --git a/patches.ent b/patches.ent index c7b2ab19b..dc666134a 100644 --- a/patches.ent +++ b/patches.ent @@ -2,16 +2,16 @@ - + + + + + @@ -20,29 +20,40 @@ - - - + + + + + + + - + + + + + + + + + + + +