diff --git a/Makefile b/Makefile
index 000fbebcb..aee4f9a61 100644
--- a/Makefile
+++ b/Makefile
@@ -164,9 +164,11 @@ profile-html:
stylesheets/lfs-xsl/profile.xsl \
$(RENDERTMP)/lfs-full.xml
+DOWNLOADS_DEP = chapter03/packages.xml chapter03/patches.xml \
+ packages.ent patches.ent general.ent
+
wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV)
-$(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
- packages.ent patches.ent general.ent
+$(BASEDIR)/wget-list: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
@echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..."
$(Q)mkdir -p $(BASEDIR)
$(Q)xsltproc --xinclude --nonet \
@@ -174,9 +176,7 @@ $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \
stylesheets/wget-list.xsl \
chapter03/chapter03.xml
-$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
- chapter03/chapter03.xml \
- packages.ent patches.ent general.ent
+$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
$(Q)xsltproc --nonet --xinclude \
--stringparam profile.revision $(REV) \
--output $(RENDERTMP)/wget-list.xml \
@@ -188,8 +188,7 @@ $(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \
$(RENDERTMP)/wget-list.xml
md5sums: $(BASEDIR)/md5sums
-$(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \
- packages.ent patches.ent
+$(BASEDIR)/md5sums: stylesheets/wget-list.xsl $(DOWNLOADS_DEP)
@echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..."
$(Q)mkdir -p $(BASEDIR)
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index d53235093..fd2f14e05 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,6 +40,72 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2024-01-21
+
+
+ [xry111] - Apply upstream fix for pkgconf-2.1.0 regression.
+ Fixes #5414.
+
+
+ [xry111] - Update to jinja2-3.1.3 (security fix). Fixes
+ #5411.
+
+
+ [xry111] - Update to bc-6.7.5. Fixes
+ #5408.
+
+
+ [xry111] - Update to attr-2.5.2. Fixes
+ #5412.
+
+
+ [xry111] - Update to ncurses-6.4-20230520 (security fix).
+ Fixes #5416.
+
+
+ [xry111] - Update to markupsafe-2.1.4. Fixes
+ #5418.
+
+
+ [xry111] - Update to linux-6.7.1. Fixes
+ #5406.
+
+
+ [xry111] - Update to iproute2-6.7.0. Fixes
+ #5410.
+
+
+ [xry111] - Update to vim-9.1.0041. Addresses
+ #4500.
+
+
+ [xry111] - Update to iana-etc-20240117. Addresses
+ #5006.
+
+
+ [xry111] - Update to shadow-4.14.3. Fixes
+ #5413.
+
+
+ [xry111] - Fix CVE-2024-0684 for coreutils-9.4. Fixes
+ #5417.
+
+
+
+
+
+ 2024-01-18
+
+
+ [xry111] - Edit a ncurses header to always use the
+ wide-character ABI compatible with libncursesw.so because we
+ are faking the 8-bit libncurses.so with it. Fixes
+ #5415.
+
+
+
+
2024-01-09
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index e0c77ed72..2dd0a8d02 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -29,9 +29,9 @@
-
+
Autoconf-&autoconf-version;
@@ -134,9 +134,9 @@
IPRoute2-&iproute2-version;
-
+
Kbd-&kbd-version;
@@ -179,9 +179,9 @@
-
+
Meson-&meson-version;
@@ -191,9 +191,9 @@
MPFR-&mpfr-version;
-
+
@@ -298,6 +298,10 @@
&glibc-upstream-fixes-patch;
+
+ &pkgconf-upstream-fix-patch;
+
+
&readline-fixes-patch;
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 263f3ec1b..50ff56a6f 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -117,15 +117,14 @@
-->
-
Readline Upstream Fix Patch - &readline-fixes-patch-size;:
diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml
index 28f983414..270ce53b1 100644
--- a/chapter06/ncurses.xml
+++ b/chapter06/ncurses.xml
@@ -156,7 +156,9 @@ popd
Install the package:
make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
-echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so
+ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
+sed -e 's/^#if.*XOPEN.*$/#if 1/' \
+ -i $LFS/usr/include/curses.h
-
+ Fix a security vulnerability in the split
+ utility:
+
+sed -e '/n_out += n_hold/,+4 s|.*bufsize.*|//&|' \
+ -i src/split.c
-sed '/if ( ! match/s/ed_checksums//' -i src/digest.c
--->
Now prepare Coreutils for compilation:
autoreconf -fiv
diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml
index e12c32381..bfe9f6c67 100644
--- a/chapter08/gcc.xml
+++ b/chapter08/gcc.xml
@@ -556,7 +556,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib
libcc1
- The C preprocessing library
+ A library that allows GDB to make use of GCC
libcc1
diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml
index 0b780190a..ecd4d52dd 100644
--- a/chapter08/ncurses.xml
+++ b/chapter08/ncurses.xml
@@ -99,9 +99,9 @@
--enable-widec
This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-version;)
+ class="libraryfile">libncursesw.so.&ncurses-release;)
to be built instead of normal ones (e.g., libncurses.so.&ncurses-version;).
+ class="libraryfile">libncurses.so.&ncurses-release;).
These wide-character libraries are usable in both multibyte and
traditional 8-bit locales, while normal libraries work properly
only in 8-bit locales. Wide-character and normal libraries are
@@ -127,34 +127,39 @@
make will spawn new shell processes during "make install". -->
The installation of this package will overwrite
- libncursesw.so.&ncurses-version;
+ libncursesw.so.&ncurses-release;
in-place. It may crash the shell process which is using code and data
from the library file. Install the package with
DESTDIR, and replace the library file correctly using
- install command:
+ install command (the header
+ curses.h is also edited to ensure the
+ wide-character ABI to be used as what we've done in
+ ):
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-release; /usr/lib
+rm -v dest/usr/lib/libncursesw.so.&ncurses-release;
+sed -e 's/^#if.*XOPEN.*$/#if 1/' \
+ -i dest/usr/include/curses.h
cp -av dest/* /
Many applications still expect the linker to be able to find
- non-wide-character Ncurses libraries. Trick such applications into linking with
- wide-character libraries by means of symlinks and linker scripts:
+ non-wide-character Ncurses libraries. Trick such applications into
+ linking with wide-character libraries by means of symlinks
+ (note that the .so links are
+ only safe with curses.h edited to always use the
+ wide-character ABI):
for lib in ncurses form panel menu ; do
- rm -vf /usr/lib/lib${lib}.so
- echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so
- ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc
+ ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so
+ ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc
done
Finally, make sure that old applications that look for
-lcurses at build time are still
buildable:
-rm -vf /usr/lib/libcursesw.so
-echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so
-ln -sfv libncurses.so /usr/lib/libcurses.so
+ln -sfv libncursesw.so /usr/lib/libcurses.so
If desired, install the Ncurses documentation:
@@ -298,13 +303,17 @@ rm -rf DESTDIR
tset
- libcursesw.so (symlink and linker script to libncursesw.so),
+ libcurses.so (symlink),
+ libform.so (symlink),
libformw.so,
+ libmenu.so (symlink),
libmenuw.so,
+ libncurses.so (symlink),
libncursesw.so,
libncurses++w.so,
- libpanelw.so, and their non-wide-character counterparts without "w"
- in the library names.
+ libpanel.so (symlink),
+ and libpanelw.so,
+
/usr/share/tabset,
/usr/share/terminfo, and
diff --git a/chapter08/pkgconf.xml b/chapter08/pkgconf.xml
index d55ec7490..16771fc03 100644
--- a/chapter08/pkgconf.xml
+++ b/chapter08/pkgconf.xml
@@ -45,9 +45,9 @@
Installation of Pkgconf
- Fix a regression in pkgconf-2.0.3 breaking BLFS packages:
+ Fix a regression in pkgconf-2.1.0 breaking BLFS packages:
- sed -i 's/str\(cmp.*package\)/strn\1, strlen(pkg->why)/' cli/main.c
+ patch -Np1 -i ../&pkgconf-upstream-fix-patch;
Prepare Pkgconf for compilation:
diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version
index e411592c2..06a765991 100644
--- a/chapter10/kernel/kernel.version
+++ b/chapter10/kernel/kernel.version
@@ -1 +1 @@
-6.6.3
+6.7.1
diff --git a/packages.ent b/packages.ent
index b85d9907a..a3d10250e 100644
--- a/packages.ent
+++ b/packages.ent
@@ -21,10 +21,10 @@
-
-
+
+
-
+
@@ -57,10 +57,10 @@
-
-
+
+
-
+
@@ -317,10 +317,10 @@
-
-
+
+
-
+
@@ -341,10 +341,10 @@
-
-
+
+
-
+
@@ -358,10 +358,10 @@
-
-
+
+
-
+
@@ -439,13 +439,13 @@
-
-
+
+
-
+
-
+
+
+
+
@@ -645,10 +648,10 @@
-
-
+
+
-
+
@@ -744,13 +747,13 @@
-
+
-
-
+
+
-
+
diff --git a/patches.ent b/patches.ent
index 1bcd45dc3..d27c717de 100644
--- a/patches.ent
+++ b/patches.ent
@@ -22,6 +22,10 @@
+
+
+
+