diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f2cf47245..ae58b466f 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,61 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2023-12-31
+
+
+ [xry111] - Add --enable-default-hash-style=gnu configuring
+ binutils. Fixes
+ #5401.
+
+
+ [xry111] - Fix CVE-2023-7008 for systemd-255. Fixes
+ #5405.
+
+
+ [xry111] - Update to iana-etc-20231205. Addresses
+ #5006.
+
+
+ [xry111] - Update to tzdata-2023d. Fixes
+ #5399.
+
+
+ [xry111] - Update to linux-6.6.8. Fixes
+ #5397.
+
+
+ [xry111] - Update to meson-1.3.1. Fixes
+ #5402.
+
+
+ [xry111] - Update to grub-2.12. Fixes
+ #5396.
+
+
+ [xry111] - Update to inetutils-2.5. Fixes
+ #5404.
+
+
+ [xry111] - Update to setuptools-69.0.3. Fixes
+ #5400.
+
+
+ [xry111] - Update to xml-parser-2.47. Fixes
+ #5403.
+
+
+ [xry111] - Update to vim-9.0.2189. Addresses
+ #4500.
+
+
+ [xry111] - Update to autoconf-2.72. Fixes
+ #5398.
+
+
+
+
2023-12-16
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index bd97a81f0..e8002fcf6 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -32,9 +32,9 @@
-
+
@@ -116,18 +116,18 @@
-
+
Gzip-&gzip-version;
Iana-Etc-&iana-etc-version;
-
+
@@ -248,9 +248,9 @@
Texinfo-&texinfo-version;
-
+
@@ -263,9 +263,9 @@
Wheel-&wheel-version;
-
+
Xz-&xz-version;
@@ -312,6 +312,10 @@
glibc-2.38-memalign_fix-1.patch
+
+ grub-2.06-upstream_fixes-1.patch
+
+
readline-8.2-upstream_fix-1.patch
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 00628bda7..2073638fc 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -93,14 +93,6 @@
-
- GRUB Upstream Fixes Patch - &grub-upstream-fixes-patch-size;:
-
- Download:
- MD5 sum: &grub-upstream-fixes-patch-md5;
-
-
-
Kbd Backspace/Delete Fix Patch - &kbd-backspace-patch-size;:
diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml
index 039d36145..1ddea43ed 100644
--- a/chapter05/binutils-pass1.xml
+++ b/chapter05/binutils-pass1.xml
@@ -75,13 +75,15 @@ cd build
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
- --disable-werror
+ --disable-werror \
+ --enable-default-hash-style=gnu
../configure --prefix=$LFS/tools \
--with-sysroot=$LFS \
--target=$LFS_TGT \
--disable-nls \
--enable-gprofng=no \
--disable-werror \
+ --enable-default-hash-style=gnu \
--enable-multilib
@@ -139,6 +141,22 @@ cd build
+
+ --enable-default-hash-style=gnu
+
+ By default, the linker would generate both the GNU-style
+ hash table and the classic ELF hash table for shared libraries and
+ dynamically linked executables. The hash tables are only intended
+ for a dynamic linker to perform symbol lookup. On LFS the dynamic
+ linker (provided by the Glibc package) will always use the
+ GNU-style hash table which is faster to query. So the classic
+ ELF hash table is completely useless. This makes the the linker
+ only generate the GNU-style hash table by default, so we can avoid
+ wasting time to generate the classic ELF hash table when we build
+ the packages, or wasting disk space to store it.
+
+
+
--enable-multilib
diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml
index 398af98a0..6070d4c09 100644
--- a/chapter06/binutils-pass2.xml
+++ b/chapter06/binutils-pass2.xml
@@ -72,7 +72,8 @@ cd build
--enable-shared \
--enable-gprofng=no \
--disable-werror \
- --enable-64-bit-bfd
+ --enable-64-bit-bfd \
+ --enable-default-hash-style=gnu
../configure \
--prefix=/usr \
--build=$(../config.guess) \
@@ -82,6 +83,7 @@ cd build
--enable-gprofng=no \
--disable-werror \
--enable-64-bit-bfd \
+ --enable-default-hash-style=gnu \
--enable-multilib
diff --git a/chapter08/autoconf.xml b/chapter08/autoconf.xml
index 8b2afb168..120f31632 100644
--- a/chapter08/autoconf.xml
+++ b/chapter08/autoconf.xml
@@ -41,12 +41,6 @@
Installation of Autoconf
- First, fix several problems with the tests caused by bash-5.2 and later:
-
- sed -e 's/SECONDS|/&SHLVL|/' \
- -e '/BASH_ARGV=/a\ /^SHLVL=/ d' \
- -i.orig tests/local.at
-
Prepare Autoconf for compilation:
./configure --prefix=/usr
diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml
index 8697853e3..8ad023f27 100644
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@ -57,7 +57,8 @@ cd build
--enable-shared \
--disable-werror \
--enable-64-bit-bfd \
- --with-system-zlib
+ --with-system-zlib \
+ --enable-default-hash-style=gnu
../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-gold \
@@ -67,10 +68,11 @@ cd build
--disable-werror \
--enable-64-bit-bfd \
--with-system-zlib \
+ --enable-default-hash-style=gnu \
--enable-multilib
- The meaning of the configure parameters:
+ The meaning of the new configure parameters:
--enable-gold
@@ -96,10 +98,10 @@ cd build
- --enable-64-bit-bfd
+ --with-system-zlib
- Enables 64-bit support (on hosts with narrower word sizes).
- May not be needed on 64-bit systems, but does no harm.
+ Use the installed zlib library instead of building the
+ included version.
@@ -110,14 +112,6 @@ cd build
-
- --with-system-zlib
-
- Use the installed zlib library instead of building the
- included version.
-
-
-
Compile the package:
diff --git a/chapter08/grub.xml b/chapter08/grub.xml
index 357036c34..a89963189 100644
--- a/chapter08/grub.xml
+++ b/chapter08/grub.xml
@@ -62,13 +62,10 @@
- Fix an issue causing grub-install to fail when the
- /boot partition (or the root
- partition if /boot is not a
- separate partition) is created by e2fsprogs-1.47.0 or later:
+ Add a file missing from the release tarball:
-patch -Np1 -i ../grub-&grub-version;-upstream_fixes-1.patch
+echo depends bli part_gpt > grub-core/extra_deps.lst
Prepare GRUB for compilation:
diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml
index 5f89813ee..024569484 100644
--- a/chapter08/systemd.xml
+++ b/chapter08/systemd.xml
@@ -48,6 +48,13 @@
sed -i -e 's/GROUP="render"/GROUP="video"/' \
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
+
+ Now fix a security vulnerability in the DNSSEC verification of
+ systemd-resolved:
+
+sed -e '/return FLAGS_SET.*AUTHENTICATED/s/(t/(dt/' \
+ -i src/resolve/resolved-dns-transaction.c
+
Prepare systemd for compilation:
mkdir -p build
diff --git a/gen-changelog.py b/gen-changelog.py
index e7ee1d7e7..3bf6bc064 100755
--- a/gen-changelog.py
+++ b/gen-changelog.py
@@ -76,6 +76,8 @@ for i in tsv:
security.add(pkg)
ticket[pkg] = tic
+hold_ticket = {'vim': '4500', 'iana-etc': '5006'}
+
print("Plain Text:")
for (s, act) in [(upd, "Update to "), (add, "Add ")]:
for i in s:
@@ -83,6 +85,8 @@ for (s, act) in [(upd, "Update to "), (add, "Add ")]:
out = act + pkgver
if pkgver in ticket:
out += ' (#' + ticket[pkgver] + ')'
+ elif i in hold_ticket:
+ out += ' (#' + hold_ticket[i] + ')'
print("-", out)
for i in rem:
print("-", "Remove", i)
@@ -99,10 +103,18 @@ for (s, act) in [(upd, "Update to "), (add, "Add ")]:
if pkgver in security:
out += " (security fix)"
out += "."
+
+ pkg_ticket = None
if pkgver in ticket:
out += " Fixes\n "
- out += "#"
- out += ticket[pkgver] + "."
+ pkg_ticket = ticket[pkgver]
+ elif i in hold_ticket:
+ out += " Addresses\n "
+ pkg_ticket = hold_ticket[i]
+
+ if pkg_ticket:
+ out += "#"
+ out += pkg_ticket + "."
out += ""
print(out)
print(' ')
diff --git a/packages.ent b/packages.ent
index bcc0fe359..7bf3d94ec 100644
--- a/packages.ent
+++ b/packages.ent
@@ -29,10 +29,10 @@
-
-
+
+
-
+
@@ -299,10 +299,10 @@
-
-
+
+
-
+
@@ -317,18 +317,18 @@
-
-
+
+
-
+
-
-
+
+
-
+
@@ -440,12 +440,12 @@
-
+
-
+
-
+
-
+
-
+
@@ -763,10 +763,10 @@
-
-
+
+
-
+
diff --git a/patches.ent b/patches.ent
index 13f291e0f..6c03b9728 100644
--- a/patches.ent
+++ b/patches.ent
@@ -18,10 +18,6 @@
-
-
-
-