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 @@
-
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+