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/chapter01/changelog.xml b/chapter01/changelog.xml
index f6ef99d3f..4764a728d 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,202 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 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
+
+
+ [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
+
+
+ [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
+
+
+ [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
+
+
+ [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
+
+
+ [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..aa8d41543 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -77,18 +77,18 @@
-
+
-
+
Gawk-&gawk-version;
@@ -98,9 +98,9 @@
-
+
@@ -137,24 +137,24 @@
-
+
-
+
-
-
+
@@ -182,9 +182,9 @@
-
+
Meson-&meson-version;
@@ -239,9 +239,9 @@
Systemd-&systemd-version;
-
+
@@ -263,15 +263,15 @@
Vim-&vim-version;
-
+
-
+
@@ -292,9 +292,9 @@
Added:
-
+
+ binutils-2.43.1-upstream_fix-1.patch
+
diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml
index 05488ecbc..645686311 100644
--- a/chapter03/introduction.xml
+++ b/chapter03/introduction.xml
@@ -22,8 +22,9 @@
For some packages, the release tarball and the (Git or SVN)
repository snapshot tarball for that release may be published with
- similar file names. A release tarball contains generated files (for
- example, a configure script generated by
+ similar or even identical file names. But the release tarball may contain
+ some files which are essential despite not stored in the repository
+ (for example, a configure script generated by
autoconf), in addition to the contents of the
corresponding repository snapshot. The book uses release tarballs
whenever possible. Using a repository snapshot instead of a release
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 33594f396..a98c6575f 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -39,11 +39,19 @@
Binutils LoongArch Fix Patch - &binutils-loongarch-patch-size;:
- Download:
+ Download:
MD5 sum: &binutils-loongarch-patch-md5;
+
+ Binutils Upstream Fixes Patch - &binutils-upstream-patch-size;:
+
+ Download:
+ MD5 sum: &binutils-upstream-patch-md5;
+
+
+
Bzip2 Documentation Patch - &bzip2-docs-patch-size;:
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index d924abca5..03530cf61 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -180,8 +180,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/chapter06/bash.xml b/chapter06/bash.xml
index 66c6ef3fc..54fa6f444 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -48,8 +48,7 @@
./configure --prefix=/usr \
--build=$(sh support/config.guess) \
--host=$LFS_TGT \
- --without-bash-malloc \
- bash_cv_strtold_broken=no
+ --without-bash-malloc
The meaning of the configure options:
diff --git a/chapter08/bash.xml b/chapter08/bash.xml
index 9dbcf7863..f07a692e7 100644
--- a/chapter08/bash.xml
+++ b/chapter08/bash.xml
@@ -45,7 +45,6 @@
./configure --prefix=/usr \
--without-bash-malloc \
--with-installed-readline \
- bash_cv_strtold_broken=no \
--docdir=/usr/share/doc/bash-&bash-version;
diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml
index 2716f4773..e06bafc4d 100644
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@ -41,8 +41,15 @@
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;
+
- At first, fix a bug which may cause some packages fail to build:
+ Then fix a bug which may cause some packages fail to build for
+ LoongArch:
patch -Np1 -i ../&binutils-loongarch-patch;
diff --git a/chapter08/e2fsprogs.xml b/chapter08/e2fsprogs.xml
index c5718c191..d99922610 100644
--- a/chapter08/e2fsprogs.xml
+++ b/chapter08/e2fsprogs.xml
@@ -146,7 +146,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info
/etc/mke2fs.conf contains the default value of
various command line options of mke2fs. You may
- edit the file to make the default values suitable for your need.
+ edit the file to make the default values suitable for your needs.
For example, some utilities (not in LFS or BLFS) cannot recognize a
ext4 file system with
metadata_csum_seed feature enabled.
diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml
index bc19acaaf..bc3717653 100644
--- a/chapter08/gawk.xml
+++ b/chapter08/gawk.xml
@@ -84,8 +84,7 @@ make install
If desired, install the documentation:
-mkdir -pv /usr/share/doc/gawk-&gawk-version;
-cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version;
+install -vDm644 doc/{awkforai.txt,*.{eps,pdf,jpg}} -t /usr/share/doc/gawk-&gawk-version;
diff --git a/chapter08/gettext.xml b/chapter08/gettext.xml
index f26d15536..d8fbc8f20 100644
--- a/chapter08/gettext.xml
+++ b/chapter08/gettext.xml
@@ -43,6 +43,14 @@
Installation of Gettext
+ At first, fix an issue causing the package fail to build with
+ libxml-2.12 or later. The fix is optional for building LFS, but
+ required if rebuilding this package in BLFS with libxml
+ installed:
+
+sed -e '/^structured/s/xmlError \*/typeof(xmlCtxtGetLastError(NULL)) /' \
+ -i gettext-tools/src/its.c
+
Prepare Gettext for compilation:
./configure --prefix=/usr \
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index 93fae530a..e83db8ca0 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -187,7 +187,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
diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml
index 8a6755f3d..bcf08858b 100644
--- a/chapter08/iproute2.xml
+++ b/chapter08/iproute2.xml
@@ -77,8 +77,7 @@ rm -fv man/man8/arpd.8
If desired, install the documentation:
-mkdir -pv /usr/share/doc/iproute2-&iproute2-version;
-cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;
+install -vDm644 COPYING README* -t /usr/share/doc/iproute2-&iproute2-version;
@@ -278,7 +277,7 @@ cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version;
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/chapter08/python.xml b/chapter08/python.xml
index 3dca716f6..0ed7c6c7c 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.
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:' \
-e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \
-i etc/login.defs
-
- 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
-
+
]]>
+
]]>
+
]]>
-
-
+
+
-
+
-
-
+
+
-
+
@@ -172,10 +172,10 @@
-
-
+
+
-
+
@@ -200,10 +200,10 @@
-
-
+
+
-
+
@@ -245,10 +245,10 @@
-
-
+
+
-
+
@@ -317,10 +317,10 @@
-
-
+
+
-
+
@@ -341,10 +341,10 @@
-
-
+
+
-
+
@@ -357,10 +357,10 @@
-
-
+
+
-
+
@@ -373,10 +373,10 @@
-
-
+
+
-
+
@@ -389,10 +389,10 @@
-
-
+
+
-
+
@@ -413,10 +413,10 @@
-
-
+
+
-
+
@@ -430,13 +430,13 @@
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
@@ -637,10 +637,10 @@
-
-
+
+
-
+
@@ -661,28 +661,28 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
@@ -745,10 +745,10 @@
-
+
-
+
-
+
-
-
+
+
-
+
@@ -783,10 +783,10 @@
-
-
+
+
-
+
diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml
index 3714596fc..1dad94103 100644
--- a/part3intro/toolchaintechnotes.xml
+++ b/part3intro/toolchaintechnotes.xml
@@ -360,7 +360,7 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ldNext comes glibc. The most important
considerations for building glibc are the compiler, binary tools, and
kernel headers. The compiler and binary tools are generally not an issue
- since glibc will always those relating to the --host
+ since glibc will always use those relating to the --host
parameter passed to its configure script; e.g., in our case, the compiler
will be $LFS_TGT-gcc and the readelf
tool will be $LFS_TGT-readelf. The kernel headers can
diff --git a/patches.ent b/patches.ent
index 814a88105..35c52c3d4 100644
--- a/patches.ent
+++ b/patches.ent
@@ -12,6 +12,10 @@
+
+
+
+