From 313a035b106aba48949eff02c27d8701880d178c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 6 Sep 2023 12:05:04 +0800 Subject: dependencies: Zstd should be in binutils-rundeps too --- appendices/dependencies.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 0ab386dff..c84776374 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -294,7 +294,7 @@ &runtime; - Glibc and Zlib + Glibc, Zlib, and Zstd -- cgit v1.2.3-54-g00ecf From 26d11785ec231ac43c3ce8fb392991064a4c3acd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 6 Sep 2023 15:55:07 +0800 Subject: changelog: Fix typo --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 2debc0c0a..af1590611 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -45,7 +45,7 @@ [xry111] - Move pkgconf before binutils for binutils - building system to detect zstd properly. + building system to detect zstd properly. Fixes #5340. -- cgit v1.2.3-54-g00ecf From 7de7690181b6336fbbb9cad1307715e613bfe6fc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 7 Sep 2023 19:56:27 +0800 Subject: pkgconf: Hotfix for a regression breaking BLFS packages Link: https://github.com/pkgconf/pkgconf/issues/317 --- chapter08/pkgconf.xml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/chapter08/pkgconf.xml b/chapter08/pkgconf.xml index fd61b4d40..b95d7ab2c 100644 --- a/chapter08/pkgconf.xml +++ b/chapter08/pkgconf.xml @@ -43,15 +43,12 @@ Installation of Pkgconf - + + + Fix a regression in pkgconf-2.0.3 breaking BLFS packages: + + sed -i 's/str\(cmp.*package\)/strn\1, strlen(pkg->why)/' cli/main.c + Prepare Pkgconf for compilation: ./configure --prefix=/usr \ -- cgit v1.2.3-54-g00ecf From 6ad40199fc99428a8a26b5e53366c6c1086624fa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 7 Sep 2023 20:01:00 +0800 Subject: Add some missed whatsnew and changelog entries --- chapter01/changelog.xml | 11 +++++++++++ chapter01/whatsnew.xml | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index af1590611..07493ad16 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,17 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-07 + + + [xry111] - Fix an issue in pkgconf-2.0.3 causing + BLFS packages fail to build. Fixes + #5341. + + + + 2023-09-05 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index d7c391796..d78d35df0 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -62,9 +62,9 @@ - + @@ -167,9 +167,9 @@ - + -- cgit v1.2.3-54-g00ecf From 93f077212ef1a390dfcd092e667e02e46fcb4b16 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 15:52:08 +0800 Subject: packages: Add kmod home page --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 7827212da..fb514b77d 100644 --- a/packages.ent +++ b/packages.ent @@ -371,7 +371,7 @@ - + -- cgit v1.2.3-54-g00ecf From ae802cf97d91b780ca84c757057cfb30fc36a955 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 16:13:37 +0800 Subject: whatsnew: Align package names with s in package pages It makes the package names more consistent, and it reduces the number of different msgid's for translators. By the way, move Udev to keep alphabetic order. --- chapter01/whatsnew.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index d78d35df0..6f1291ad6 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -39,10 +39,10 @@ <para>Automake-&automake-version;</para> </listitem>--> <!--<listitem> - <para>Bash &bash-version;</para> + <para>Bash-&bash-version;</para> </listitem>--> <!--<listitem> - <para>Bc &bc-version;</para> + <para>Bc-&bc-version;</para> </listitem>--> <!--<listitem> <para>Binutils-&binutils-version;</para> @@ -71,9 +71,6 @@ <!--<listitem> <para>E2fsprogs-&e2fsprogs-version;</para> </listitem>--> - <!--<listitem revision="sysv"> - <para>Udev-&systemd-version; (from systemd)</para> - </listitem>--> <!--<listitem> <para>Expat-&expat-version;</para> </listitem>--> @@ -126,7 +123,7 @@ <para>Gzip-&gzip-version;</para> </listitem> <!--<listitem> - <para>IANA-Etc-&iana-etc-version;</para> + <para>Iana-Etc-&iana-etc-version;</para> </listitem>--> <!--<listitem> <para>Inetutils-&inetutils-version;</para> @@ -251,20 +248,23 @@ <!--<listitem> <para>Tzdata-&tzdata-version;</para> </listitem>--> + <!--<listitem revision="sysv"> + <para>Udev-&systemd-version; (from systemd)</para> + </listitem>--> <listitem> - <para>Util-Linux-&util-linux-version;</para> + <para>Util-linux-&util-linux-version;</para> </listitem> <listitem> <para>Vim-&vim-version;</para> </listitem> <listitem> - <para>wheel-&wheel-version;</para> + <para>Wheel-&wheel-version;</para> </listitem> <!--<listitem> - <para>XML-Parser-&xml-parser-version;</para> + <para>XML::Parser-&xml-parser-version;</para> </listitem>--> <!--<listitem> - <para>XZ-Utils-&xz-version;</para> + <para>Xz-&xz-version;</para> </listitem>--> <listitem> <para>Zlib-&zlib-version;</para> -- cgit v1.2.3-54-g00ecf From aa5fa04a5adb8502ecd6430fc6816ac59fe8e4b9 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Fri, 8 Sep 2023 17:10:14 +0800 Subject: coreutils: Drop gl_cv_macro_MB_CUR_MAX_good override It's not needed anymore with 9.4. --- chapter06/coreutils.xml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index d3afe3918..185f4a0c4 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -43,17 +43,13 @@ <sect2 role="installation"> <title>Installation of Coreutils - Prepare Coreutils for compilation: ./configure --prefix=/usr \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) \ --enable-install-program=hostname \ - --enable-no-install-program=kill,uptime \ - gl_cv_macro_MB_CUR_MAX_good=y + --enable-no-install-program=kill,uptime The meaning of the configure options: -- cgit v1.2.3-54-g00ecf From 9f9a9b495005f94f9fd6e0d7e1436e5a8b4916ef Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 21:45:15 +0800 Subject: binutils-pass2: Reword the paragraph about libtool workaround Well, I was blaming libtool too much. If the entire Binutils tree uses libtool this won't happen. The problem is Binutils building system is using libtool-style idiom on non-libtool components. And this issue is not related to cross compiling, at all. A native build can exploit the issue as well (see the updated comment). Maybe I'll submit a patch to GCC (yes, not a typo, GCC is the upstream of Binutils building system) to fix the issue when I have the mood... --- chapter06/binutils-pass2.xml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml index 7b0f1fc20..abe829a4c 100644 --- a/chapter06/binutils-pass2.xml +++ b/chapter06/binutils-pass2.xml @@ -43,11 +43,17 @@ Installation of Binutils - - Binutils ships an outdated copy of libtool in the tarball. It lacks - sysroot support, so the produced binaries will be mistakenly linked to - libraries from the host distro. Work around this issue: + + Binutils relies on an internal libtool copy to link against + internal static libraries, but the libiberty and zlib copies shipped + in the package do not use libtool. This inconsistency may cause + produced binaries mistakenly linked against libraries from the host + distro. Work around this issue: sed '6009s/$add_dir//' -i ltmain.sh -- cgit v1.2.3-54-g00ecf From c7df34cbc51739936cf0006ced0024a8ea8436e8 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 03:15:32 +0800 Subject: mpfr: 4.2.1 has 198 tests --- chapter08/mpfr.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/mpfr.xml b/chapter08/mpfr.xml index c9e7c1a7d..60181d6e9 100644 --- a/chapter08/mpfr.xml +++ b/chapter08/mpfr.xml @@ -58,7 +58,7 @@ make html Do not skip it under any circumstances. - Test the results and ensure that all 197 tests passed: + Test the results and ensure that all 198 tests passed: make check -- cgit v1.2.3-54-g00ecf From 1f20176cfb95061660c51225336f0c516fad64e0 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Sat, 9 Sep 2023 01:08:20 -0500 Subject: util-linux: minor grammar reword --- chapter08/util-linux.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index b49168396..a6d058aff 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -42,7 +42,7 @@ Installation of Util-linux - First, disable a problem test: + First, disable a problematic test: sed -i '/test_mkfds/s/^/#/' tests/helpers/Makemodule.am -- cgit v1.2.3-54-g00ecf From 6c51e5ce7b92227de7406efd5e5db131db8163ac Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 14:45:05 +0800 Subject: perl: Move some explanations from Chapter 8 to Chapter 7 Explain switches once they show up first time. --- chapter07/perl.xml | 32 +++++++++++++++++++++++++++++++- chapter08/perl.xml | 29 +---------------------------- 2 files changed, 32 insertions(+), 29 deletions(-) diff --git a/chapter07/perl.xml b/chapter07/perl.xml index ac0407087..c8e3d7c98 100644 --- a/chapter07/perl.xml +++ b/chapter07/perl.xml @@ -57,7 +57,8 @@ -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl - The meaning of the new Configure options: + The meaning of the Configure options: + -des @@ -67,6 +68,35 @@ + + -Dvendorprefix=/usr + + This ensures perl knows how to + tell packages where they should install their Perl modules. + + + + + -Duseshrplib + + Build libperl + needed by some Perl modules as a shared library, instead of + a static library. + + + + + -Dprivlib,-Darchlib,-Dsitelib,... + + These settings define where Perl looks for installed + modules. The LFS editors chose to put them in a directory structure + based on the MAJOR.MINOR version of Perl (&perl-version-min;) which + allows upgrading Perl to newer patch levels (the patch level is + the last dot separated part in the full version string like + &perl-version;) without reinstalling all of the modules. + + + Compile the package: diff --git a/chapter08/perl.xml b/chapter08/perl.xml index b56e0e5e2..d3159595c 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -76,15 +76,7 @@ export BUILD_BZIP2=0 -Dusethreads - The meaning of the configure options: - - - -Dvendorprefix=/usr - - This ensures perl knows how to - tell packages where they should install their Perl modules. - - + The meaning of the new Configure options: -Dpager="/usr/bin/less -isR" @@ -104,13 +96,6 @@ export BUILD_BZIP2=0 - - -Duseshrplib - - Build a shared libperl needed by some Perl modules. - - - -Dusethreads @@ -118,18 +103,6 @@ export BUILD_BZIP2=0 - - -Dprivlib,-Darchlib,-Dsitelib,... - - These settings define where Perl looks for installed - modules. The LFS editors chose to put them in a directory structure - based on the MAJOR.MINOR version of Perl (&perl-version-min;) which - allows upgrading Perl to newer patch levels (the patch level is - the last dot separated part in the full version string like - &perl-version;) without reinstalling all of the modules. - - - Compile the package: -- cgit v1.2.3-54-g00ecf From ab31b973c86b400b12d9f88e7087fd15ef693df3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 14:51:24 +0800 Subject: chapter08: Make Installed "program(s)/library(ies)/directory(ies)" consistently lowercase --- chapter08/gmp.xml | 2 +- chapter08/libelf.xml | 4 ++-- chapter08/mpc.xml | 4 ++-- chapter08/mpfr.xml | 2 +- chapter08/python.xml | 6 +++--- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/chapter08/gmp.xml b/chapter08/gmp.xml index de3f0ee8b..c2fd316f8 100644 --- a/chapter08/gmp.xml +++ b/chapter08/gmp.xml @@ -128,7 +128,7 @@ make install-html Contents of GMP - Installed Libraries + Installed libraries Installed directory diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 23b66222a..a17818274 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -70,8 +70,8 @@ rm /usr/lib/libelf.a Contents of Libelf - Installed Library - Installed Directory + Installed library + Installed directory diff --git a/chapter08/mpc.xml b/chapter08/mpc.xml index ad46b7e43..941ee041c 100644 --- a/chapter08/mpc.xml +++ b/chapter08/mpc.xml @@ -69,8 +69,8 @@ make install-html Contents of MPC - Installed Libraries - Installed Directory + Installed libraries + Installed directory libmpc.so diff --git a/chapter08/mpfr.xml b/chapter08/mpfr.xml index 60181d6e9..cba4a64aa 100644 --- a/chapter08/mpfr.xml +++ b/chapter08/mpfr.xml @@ -74,7 +74,7 @@ make install-html Contents of MPFR - Installed Libraries + Installed libraries Installed directory diff --git a/chapter08/python.xml b/chapter08/python.xml index 1ac1b538a..a4bfeaf91 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -191,9 +191,9 @@ tar --strip-components=1 \ Contents of Python 3 - Installed Programs - Installed Library - Installed Directories + Installed programs + Installed library + Installed directories -- cgit v1.2.3-54-g00ecf From cb6fcea9bf179795b704a26f44f9ec6951ae0342 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 10 Sep 2023 15:25:04 +0800 Subject: binutils-pass2: Minor reword --- chapter06/binutils-pass2.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter06/binutils-pass2.xml b/chapter06/binutils-pass2.xml index abe829a4c..983aaee2f 100644 --- a/chapter06/binutils-pass2.xml +++ b/chapter06/binutils-pass2.xml @@ -49,7 +49,7 @@ without-system-zlib. If the resulted libctf.so still links against libz.so (check with readelf -d) despite we are saying without-system-zlib, then the issue is still unresolved. --> - Binutils relies on an internal libtool copy to link against + Binutils building system relies on an shipped libtool copy to link against internal static libraries, but the libiberty and zlib copies shipped in the package do not use libtool. This inconsistency may cause produced binaries mistakenly linked against libraries from the host -- cgit v1.2.3-54-g00ecf From 0627fc2281ad4ef567ae49db6938a5c37bde712f Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 11 Sep 2023 11:26:10 +0200 Subject: Fix hardcoded copyright year --- git-version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-version.sh b/git-version.sh index 6dd3d90be..f6ff6d44a 100755 --- a/git-version.sh +++ b/git-version.sh @@ -24,7 +24,7 @@ if ! git status > /dev/null; then echo "" >> version.ent echo "]]>" >> version.ent echo "" >> version.ent - echo "" >> version.ent + echo "" >> version.ent exit 0 fi -- cgit v1.2.3-54-g00ecf From c5fe6ee346919cc7c33780d7b91350e4bf57b97b Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 11 Sep 2023 13:18:30 +0200 Subject: Do not retrieve yr from sysdate --- git-version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-version.sh b/git-version.sh index f6ff6d44a..db2ed62a1 100755 --- a/git-version.sh +++ b/git-version.sh @@ -24,7 +24,7 @@ if ! git status > /dev/null; then echo "" >> version.ent echo "]]>" >> version.ent echo "" >> version.ent - echo "" >> version.ent + echo "" >> version.ent exit 0 fi -- cgit v1.2.3-54-g00ecf From e0a942748e6c2d475cc86ccab752d0f0379d2665 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Tue, 12 Sep 2023 18:54:01 +0200 Subject: Make /dev/shm mount and umount verbose Almost all commands in lfs are verbose. Don't know why these ones were not. --- chapter07/kernfs.xml | 2 +- chapter11/reboot.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index b5b0762bb..4757b257d 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -109,7 +109,7 @@ mount -vt tmpfs tmpfs $LFS/run if [ -h $LFS/dev/shm ]; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) else - mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm + mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi diff --git a/chapter11/reboot.xml b/chapter11/reboot.xml index 6b2680ad0..90f7839b8 100644 --- a/chapter11/reboot.xml +++ b/chapter11/reboot.xml @@ -113,7 +113,7 @@ Then unmount the virtual file systems: umount -v $LFS/dev/pts -mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm +mountpoint -q $LFS/dev/shm && umount -v $LFS/dev/shm umount -v $LFS/dev umount -v $LFS/run umount -v $LFS/proc -- cgit v1.2.3-54-g00ecf From a9dc9724ae2a954405dd4dbc6a1593f1b469c3dd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 13:46:57 +0800 Subject: git-version: Make shebang #!/bin/bash There is some bash-ism in the script. --- git-version.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-version.sh b/git-version.sh index db2ed62a1..7a430fec3 100755 --- a/git-version.sh +++ b/git-version.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash if [ "$1" = sysv ]; then SYSV="INCLUDE" -- cgit v1.2.3-54-g00ecf From c858ba4e17a445591520ddcea8b288b8e3d6db42 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 14:08:06 +0800 Subject: build: Add "make dist" For creating a tarball without .git directory easier. The tarball will include version.ent and LFS-RELEASE files so the book rendered from it won't show "unknown" for all dates. --- .gitignore | 1 + Makefile | 11 ++++++++++- git-version.sh | 7 +++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f2a347215..9595dd32f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ lfs-bootscripts-*.tar.xz +lfs-*.tar.xz conditional.ent version.ent appendices/*.script diff --git a/Makefile b/Makefile index 13d0f52a8..1c23a55f5 100644 --- a/Makefile +++ b/Makefile @@ -209,5 +209,14 @@ dump-commands: validate all: book nochunks pdf dump-commands -.PHONY : all book dump-commands nochunks pdf profile-html tmpdir validate md5sums wget-list version +dist: + $(Q)DIST=/tmp/LFS-RELEASE ./git-version.sh $(REV) + $(Q)rm -f lfs-$$(" >> conditional.ent if ! git status > /dev/null; then # Either it's not a git repository, or git is unavaliable. # Just workaround. + + if [ -e LFS-RELEASE ]; then + exit 0 + fi + echo " version.ent echo "" >> version.ent echo "]]>" >> version.ent @@ -65,3 +70,5 @@ echo "" >> version.ent echo "]]>" >> version.ent echo "" >> version.ent echo "" >> version.ent + +[ -z "$DIST" ] || echo $version > "$DIST" -- cgit v1.2.3-54-g00ecf From 48d8f5a51d5dfe58ac6d205fa7430f364225fab2 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 14:31:39 +0800 Subject: glibc: Fix CVE-2023-4527 --- chapter08/glibc.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 3932a2147..c648fe129 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -55,6 +55,18 @@ patch -Np1 -i ../&glibc-memalign-patch; + + Then fix a security vulnerability exploitable when the + option is used in + /etc/resolv.conf: + +sed \ + -E "/__res_context_search/\ + {N;N;s/(search \(([^,]*,){6}[^,]*)NULL/\1\&alt_dns_packet_buffer/}" \ + -i resolv/nss_dns/dns-host.c + The Glibc documentation recommends building Glibc in a dedicated build directory: -- cgit v1.2.3-54-g00ecf From 80da60f0c070dee52f7add18aea74c0e124ed8f7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 15:39:25 +0800 Subject: stripping: Compress the kept debug info with Zlib --- chapter08/stripping.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 68e0f8da1..b7b983d73 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -29,9 +29,12 @@ needed by the linker (for static libraries) or dynamic linker (for dynamically linked binaries and shared libraries). - The debugging symbols from selected libraries are preserved - in separate files. That debugging information is needed to run - regression tests with + The debugging symbols from selected libraries are compressed with + Zlib and preserved in separate files. That + debugging information is needed to run regression tests with valgrind or gdb later, in BLFS. @@ -78,7 +81,7 @@ cd /usr/lib for LIB in $save_usrlib; do - objcopy --only-keep-debug $LIB $LIB.dbg + objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg cp $LIB /tmp/$LIB strip --strip-unneeded /tmp/$LIB objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB -- cgit v1.2.3-54-g00ecf From b91b12adf3d7926f570b900f758e4670de3d4ec1 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 16:07:33 +0800 Subject: git-version: Always skip creating version.ent if LFS-RELEASE exists --- git-version.sh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/git-version.sh b/git-version.sh index 4a3c6d1e4..5d8d32e5d 100755 --- a/git-version.sh +++ b/git-version.sh @@ -14,14 +14,13 @@ fi echo "" > conditional.ent echo "" >> conditional.ent +if [ -e LFS-RELEASE ]; then + exit 0 +fi + if ! git status > /dev/null; then # Either it's not a git repository, or git is unavaliable. # Just workaround. - - if [ -e LFS-RELEASE ]; then - exit 0 - fi - echo " version.ent echo "" >> version.ent echo "]]>" >> version.ent -- cgit v1.2.3-54-g00ecf From efd11134bb9bfa33f3c64aee634b2232bee571d3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Sep 2023 14:25:04 +0800 Subject: Glibc: Fix CVE-2023-4806 --- chapter01/changelog.xml | 20 ++++++++++++++++++++ chapter01/whatsnew.xml | 23 ++++------------------- chapter03/patches.xml | 6 +++--- chapter08/glibc.xml | 20 ++++---------------- patches.ent | 6 +++--- 5 files changed, 34 insertions(+), 41 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 07493ad16..5f2d4860f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,26 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-13 + + + [xry111] - Fix CVE-2023-4806 for Glibc-2.38. Fixes + #5347. + + + + + + 2023-09-12 + + + [xry111] - Fix CVE-2023-4527 for Glibc-2.38. Fixes + #5346. + + + + 2023-09-07 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6f1291ad6..e1fca225c 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -287,35 +287,20 @@ Added: - - - + + &glibc-upstream-fixes-patch; + - Removed: - diff --git a/chapter03/patches.xml b/chapter03/patches.xml index bbf09ae27..00628bda7 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -78,10 +78,10 @@ --> - Glibc Memalign Patch - &glibc-memalign-patch-size;: + Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;: - Download: - MD5 sum: &glibc-memalign-patch-md5; + Download: + MD5 sum: &glibc-upstream-fixes-patch-md5; diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index c648fe129..f48d95d09 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -50,22 +50,10 @@ patch -Np1 -i ../&glibc-fhs-patch; - Now fix a regression causing the posix_memalign() function - to be very slow in some conditions: - -patch -Np1 -i ../&glibc-memalign-patch; - - - Then fix a security vulnerability exploitable when the - option is used in - /etc/resolv.conf: - -sed \ - -E "/__res_context_search/\ - {N;N;s/(search \(([^,]*,){6}[^,]*)NULL/\1\&alt_dns_packet_buffer/}" \ - -i resolv/nss_dns/dns-host.c + Now fix two security vulnerabilities and a regression causing the + posix_memalign() function very slow in some conditions: + +patch -Np1 -i ../&glibc-upstream-fixes-patch; The Glibc documentation recommends building Glibc in a dedicated build directory: diff --git a/patches.ent b/patches.ent index 7bb34e656..6634d1f2f 100644 --- a/patches.ent +++ b/patches.ent @@ -14,9 +14,9 @@ - - - + + + -- cgit v1.2.3-54-g00ecf From ba40e325667d24c3988ae5c0395c79a7fe73e6ea Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Sep 2023 16:48:46 +0800 Subject: systemd: Use NSS modules provided by systemd in nsswitch.conf It allows a simplification to /etc/hosts. Also correct some info about FQDN in both sysv and systemd. --- chapter08/glibc.xml | 20 ++++++++++++++++++- chapter09/network.xml | 22 ++++++++++++++------- chapter09/networkd.xml | 53 +++++++++++++++++++++++--------------------------- 3 files changed, 58 insertions(+), 37 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index f48d95d09..cf1a4bd59 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -320,7 +320,7 @@ localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || trueCreate a new file /etc/nsswitch.conf by running the following: -cat > /etc/nsswitch.conf << "EOF" +cat > /etc/nsswitch.conf << "EOF" # Begin /etc/nsswitch.conf passwd: files @@ -335,6 +335,24 @@ services: files ethers: files rpc: files +# End /etc/nsswitch.conf +EOF + +cat > /etc/nsswitch.conf << "EOF" +# Begin /etc/nsswitch.conf + +passwd: files systemd +group: files systemd +shadow: files systemd + +hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + # End /etc/nsswitch.conf EOF diff --git a/chapter09/network.xml b/chapter09/network.xml index c86edf56a..541ece699 100644 --- a/chapter09/network.xml +++ b/chapter09/network.xml @@ -178,9 +178,10 @@ EOF /etc/hosts - Decide on the IP address, fully-qualified domain name (FQDN), and - possible aliases for use in the /etc/hosts file. The - syntax is: + Decide on a fully-qualified domain name (FQDN), and possible aliases + for use in the /etc/hosts file. If using static IP + addresses, you'll also need to decide on an IP address. The syntax + for a hosts file entry is: IP_address myhost.example.org aliases @@ -197,11 +198,18 @@ EOF x can be any number in the range 16-31. y can be any number in the range 0-255. - A valid private IP address could be 192.168.1.1. A valid FQDN for - this IP could be lfs.example.org. + A valid private IP address could be 192.168.1.1. - Even if not using a network card, a valid FQDN is still required. - This is necessary for certain programs to operate correctly. + If the computer is to be visible to the Internet, a valid FQDN + can be the domain name itself, or a string resulted by concatenating a + prefix (often the hostname) and the domain name with a . + character. And, you need to contact the domain provider to resolve the + FQDN to your public IP address. + + Even if the computer is not visible to the Internet, a FQDN is + still needed for certain programs, such as MTAs, to operate properly. + A special FQDN, localhost.localdomain, can be used + for this purpose. Create the /etc/hosts file by running: diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml index 43b7e7172..27f15e815 100644 --- a/chapter09/networkd.xml +++ b/chapter09/networkd.xml @@ -316,27 +316,18 @@ EOF x can be any number in the range 16-31. y can be any number in the range 0-255. - A valid private IP address could be 192.168.1.1. A valid FQDN for - this IP could be lfs.example.org. + A valid private IP address could be 192.168.1.1. - Even if not using a network card, a valid FQDN is still required. - This is necessary for certain programs, such as MTAs, to operate properly. + If the computer is to be visible to the Internet, a valid FQDN + can be the domain name itself, or a string resulted by concatenating a + prefix (often the hostname) and the domain name with a . + character. And, you need to contact the domain provider to resolve the + FQDN to your public IP address. - + Even if the computer is not visible to the Internet, a FQDN is + still needed for certain programs, such as MTAs, to operate properly. + A special FQDN, localhost.localdomain, can be used + for this purpose. Create the /etc/hosts file using the following command: @@ -344,28 +335,32 @@ EOF cat > /etc/hosts << "EOF" # Begin /etc/hosts -127.0.0.1 localhost.localdomain localhost -127.0.1.1 <FQDN> <HOSTNAME> -<192.168.0.2> <FQDN> <HOSTNAME> [alias1] [alias2] ... -::1 localhost ip6-localhost ip6-loopback +<192.168.0.2> <FQDN> [alias1] [alias2] ... +::1 ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters # End /etc/hosts EOF - The <192.168.0.2>, - <FQDN>, and - <HOSTNAME> values need to be + The <192.168.0.2> and + <FQDN> values need to be changed for specific uses or requirements (if assigned an IP address by a network/system administrator and the machine will be connected to an existing network). The optional alias name(s) can be omitted, and the <192.168.0.2> line can be omitted if you - are using a connection configured with DHCP or IPv6 Autoconfiguration. + are using a connection configured with DHCP or IPv6 Autoconfiguration, + or using localhost.localdomain as the FQDN. + + The /etc/hostname does not contain entries + for localhost, + localhost.localdomain, or the hostname (without a + domain) because they are handled by the + myhostname NSS module, read + the man page nss-myhostname(8) for details. The ::1 entry is the IPv6 counterpart of 127.0.0.1 and represents - the IPv6 loopback interface. 127.0.1.1 is a loopback entry reserved - specifically for the FQDN. + the IPv6 loopback interface. -- cgit v1.2.3-54-g00ecf From d269e20dcba1ea2dfb187b3099a72bf6dfa2611f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 15 Sep 2023 19:27:41 +0800 Subject: chapter05/libstdc++: Remove one more .la file --- chapter05/libstdc++.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index e0ea2e790..1dc4277ee 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -124,7 +124,7 @@ cd build Remove the libtool archive files because they are harmful for cross-compilation: -rm -v $LFS/usr/lib/lib{stdc++,stdc++fs,supc++}.la +rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la -- cgit v1.2.3-54-g00ecf From 808bc9406b6e5ccd33b1611831447a0e4eb28d6b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 19:54:22 +0800 Subject: hostreqs: Raise GCC minimal version to 5.2 Pass 1 GCC FTBFS with system GCC 5.1. Link: https://gcc.gnu.org/PR65801 Link: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2023-09/msg00005.html --- chapter02/hostreqs.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index 10c1bf16e..69533b9c7 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -72,7 +72,9 @@ - GCC-5.1 including the C++ + + GCC-5.2 including the C++ compiler, g++ (Versions greater than &gcc-version; are not recommended as they have not been tested). C and C++ standard libraries (with headers) must also be present so the C++ compiler can @@ -224,8 +226,8 @@ ver_check Bison bison 2.7 ver_check Diffutils diff 2.8.1 ver_check Findutils find 4.2.31 ver_check Gawk gawk 4.0.1 -ver_check GCC gcc 5.1 -ver_check "GCC (C++)" g++ 5.1 +ver_check GCC gcc 5.2 +ver_check "GCC (C++)" g++ 5.2 ver_check Grep grep 2.5.1a ver_check Gzip gzip 1.3.12 ver_check M4 m4 1.4.10 -- cgit v1.2.3-54-g00ecf From 490a50a520a02768aee11f027de0c6c7837adbbc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 23:45:09 +0800 Subject: Package updates - Update to linux-6.5.3 (#5343) - Update to iana-etc-20230912 (#5006) - Update to iproute2-6.5.0 (#5342) --- chapter01/changelog.xml | 18 ++++++++++++++++++ packages.ent | 16 ++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 5f2d4860f..ca85137f6 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,24 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-17 + + + [xry111] - Update to linux-6.5.3. Fixes + #5343. + + + [xry111] - Update to iana-etc-20230912. Addresses + #5006. + + + [xry111] - Update to iproute2-6.5.0. Fixes + #5342. + + + + 2023-09-13 diff --git a/packages.ent b/packages.ent index fb514b77d..efa473441 100644 --- a/packages.ent +++ b/packages.ent @@ -318,10 +318,10 @@ - + - + @@ -343,10 +343,10 @@ - - + + - + @@ -433,12 +433,12 @@ - + - + - + - - + + + -- cgit v1.2.3-54-g00ecf From 01332d3b2a039c4bcf808b5389cf41563be5d930 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 18 Sep 2023 10:58:00 -0500 Subject: Use GB for kernel build size --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 45c98e08e..861d48601 100644 --- a/packages.ent +++ b/packages.ent @@ -446,7 +446,7 @@ is the "daily use" config for the workstation measuring the min/max values. The disk usage is the sum of the size of linux-6.5.3 directory and the installed kernel image & modules. --> - + -- cgit v1.2.3-54-g00ecf From f510f26b2da527ccd3d3a630cff37a95dba2b442 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 19 Sep 2023 03:56:23 +0800 Subject: /etc/os-release: Add HOME_URL field It's used by AppStream in BLFS for calculating the ID of the operating system. --- chapter11/theend.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/chapter11/theend.xml b/chapter11/theend.xml index 6f5e7e401..e7bfc6ef8 100644 --- a/chapter11/theend.xml +++ b/chapter11/theend.xml @@ -58,6 +58,7 @@ VERSION="&version;" ID=lfs PRETTY_NAME="Linux From Scratch &version;" VERSION_CODENAME="<your name here>" +HOME_URL="&lfs-root;lfs/" EOF Be sure to customize the fields 'DISTRIB_CODENAME' and -- cgit v1.2.3-54-g00ecf From d48812dca9efb5cd5b8e8167f8f6f7b06e5ef1b4 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 24 Sep 2023 20:07:32 +0800 Subject: afterlfs: "Work remotely via SSH" does not strictly need wget --- chapter11/afterlfs.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/chapter11/afterlfs.xml b/chapter11/afterlfs.xml index dcd14fed5..c866903b5 100644 --- a/chapter11/afterlfs.xml +++ b/chapter11/afterlfs.xml @@ -184,8 +184,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login' This method also provides a full graphical environment, but first requires installing - sshd and - wget + sshd on the LFS system, usually in chroot. It also requires a second computer. This method has the advantage of being simple by not requiring the complexity of the chroot environment. It also uses your LFS built @@ -193,6 +192,17 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login' for installing packages. + + You may use the scp command to upload the package + sources to be built onto the LFS system. If you want to download + the sources onto the LFS system directly instead, install + libtasn1, + p11-kit, + make-ca, and + wget + in chroot (or upload their sources using scp + after booting the LFS system). + -- cgit v1.2.3-54-g00ecf From cb89eec135c24026f19b8d0c2bae2e7f8db4a337 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 25 Sep 2023 14:10:12 +0800 Subject: glibc: Update upstream fixes patch to plug a memory leak The CVE-2023-4806 fix unintentionally caused a memory leak, now update the patch to include the fix for the leak. --- chapter01/changelog.xml | 10 ++++++++++ patches.ent | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index ca85137f6..0a028e966 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,16 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-16 + + + [xry111] - Update Glibc upstream fixes patch to plug a + memory leak introduced by the security fix. + + + + 2023-09-17 diff --git a/patches.ent b/patches.ent index 6634d1f2f..3677f3e66 100644 --- a/patches.ent +++ b/patches.ent @@ -14,9 +14,9 @@ - - - + + + -- cgit v1.2.3-54-g00ecf From c873f0a1b3dadc40f74eec1e50fab046c6479afd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 25 Sep 2023 14:12:54 +0800 Subject: changelog: Fix a date --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0a028e966..448611067 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,7 +41,7 @@ --> - 2023-09-16 + 2023-09-24 [xry111] - Update Glibc upstream fixes patch to plug a -- cgit v1.2.3-54-g00ecf From 96f7f5ed58947bee58cae884d299df0a324d5034 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 25 Sep 2023 14:46:25 +0200 Subject: Remove textual description of an arg no loger in instructions --- chapter06/coreutils.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index 185f4a0c4..f6b6c6310 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -63,13 +63,6 @@ - - gl_cv_macro_MB_CUR_MAX_good=y - - This is needed to work around an issue in the gnulib copy - shipped by the package which would break cross compilation. - - Compile the package: -- cgit v1.2.3-54-g00ecf From 6e11fe27286d9202280771ad1a402657e67ee065 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 30 Sep 2023 16:11:57 +0800 Subject: createfiles: Add Y2038 info about the traditional {b,u,w}tmp and lastlog files And utmp does not exist on systemd-based LFS. --- chapter07/createfiles.xml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index 2b752b944..ec4b0eee2 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -215,8 +215,23 @@ chmod -v 600 /var/log/btmp failed login attempts. The /var/log/btmp file records the bad login attempts. - The /run/utmp file records the users that - are currently logged in. This file is created dynamically in the boot - scripts. + + The /run/utmp file + records the users that are currently logged in. This file is created + dynamically in the boot scripts. + + + + + The utmp, + wtmp, btmp, and + lastlog files use 32-bit integers for timestamp + and they'll be fundamentally broken after year 2038. Many packages + have stopped using them and other packages are going to stop using + them. Do not rely on the contents of them for anything. + + -- cgit v1.2.3-54-g00ecf From c7cd2c71e7f96bcc42f91399098f083beb757788 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 30 Sep 2023 16:14:17 +0800 Subject: shadow: Remove lastlog from contents It's deprecated because of Y2038 issue and no longer being built by default. --- chapter08/shadow.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index f88216a5b..315234c7f 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -276,7 +276,7 @@ useradd -D --gid 999 chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, - grpconv, grpunconv, lastlog, login, logoutd, newgidmap, newgrp, + grpconv, grpunconv, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), su, useradd, userdel, usermod, vigr (link to vipw), and vipw @@ -459,17 +459,6 @@ useradd -D --gid 999 - - lastlog - - Reports the most recent login of all users or of a - given user - - lastlog - - - - login -- cgit v1.2.3-54-g00ecf From 25b3c0f7209a18714be7489b84bbd0b4d20ee4ae Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 1 Oct 2023 13:37:57 -0500 Subject: Package updates and one fix. Disable building nscd in glibc. Update to iana-etc-20230929. Update to vim-9.0.1968. Update to openssl-3.1.3. Update to meson-1.2.2. Update to man-db-2.12.0. Update to linux-6.5.5. Update to kmod-31. Update to kbd-2.6.3. Update to gettext-0.22.2. Update to bc-6.7.0. --- chapter01/changelog.xml | 50 ++++++++++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 28 +++++++++++------------ chapter05/glibc.xml | 9 ++++++++ chapter07/createfiles.xml | 4 ++-- chapter08/glibc.xml | 13 +++++++++-- packages.ent | 58 +++++++++++++++++++++++------------------------ 6 files changed, 115 insertions(+), 47 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 448611067..956e208d5 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,56 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-10-01 + + + [bdubbs] - Disable building nscd in glibc. Fixes + #5349. + + + [bdubbs] - Update to iana-etc-20230929. Addresses + #5006. + + + [bdubbs] - Update to vim-9.0.1968. Addresses + #4500. + + + [bdubbs] - Update to openssl-3.1.3. Fixes + #5350. + + + [bdubbs] - Update to meson-1.2.2. Fixes + #5356. + + + [bdubbs] - Update to man-db-2.12.0. Fixes + #5354. + + + [bdubbs] - Update to linux-6.5.5. Fixes + #5352. + + + [bdubbs] - Update to kmod-31. Fixes + #5355. + + + [bdubbs] - Update to kbd-2.6.3. Fixes + #5361. + + + [bdubbs] - Update to gettext-0.22.2. Fixes + #5348. + + + [bdubbs] - Update to bc-6.7.0. Fixes + #5353. + + + + 2023-09-24 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index e1fca225c..f30678d8f 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -41,9 +41,9 @@ - + @@ -98,9 +98,9 @@ - + @@ -122,9 +122,9 @@ Gzip-&gzip-version; - + @@ -140,9 +140,9 @@ Kbd-&kbd-version; - + @@ -173,18 +173,18 @@ - + - + @@ -197,9 +197,9 @@ - + diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 14f1fac6c..da354551c 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -91,6 +91,7 @@ cd build --build=$(../scripts/config.guess) \ --enable-kernel=&min-kernel; \ --with-headers=$LFS/usr/include \ + --disable-nscd \ libc_cv_slibdir=/usr/lib @@ -132,6 +133,14 @@ cd build + + --disable-nscd + + Do not build the name service cache daemon which is no + longer used. + + + During this stage the following warning might appear: diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index ec4b0eee2..cfa2ee919 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -227,10 +227,10 @@ chmod -v 600 /var/log/btmp The utmp, wtmp, btmp, and - lastlog files use 32-bit integers for timestamp + lastlog files use 32-bit integers for timestamps and they'll be fundamentally broken after year 2038. Many packages have stopped using them and other packages are going to stop using - them. Do not rely on the contents of them for anything. + them. It is probably best to consider them deprecated.. diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index cf1a4bd59..3d7e7b97e 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -74,6 +74,7 @@ cd build --enable-kernel=&min-kernel; \ --enable-stack-protector=strong \ --with-headers=/usr/include \ + --disable-nscd \ libc_cv_slibdir=/usr/lib @@ -114,6 +115,14 @@ cd build + + --disable-nscd + + Do not build the name service cache daemon which is no + longer used. + + + libc_cv_slibdir=/usr/lib @@ -206,7 +215,7 @@ esac ldd script: sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd - + Next, install the locales that can make the system respond in a different language. None of these locales are required, but if some of them are missing, the test suites of some packages will skip important diff --git a/packages.ent b/packages.ent index 861d48601..255b45a98 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ - - + + - + @@ -246,10 +246,10 @@ - - + + - + @@ -318,10 +318,10 @@ - + - + @@ -359,18 +359,18 @@ - - + + - + - - + + - + @@ -433,12 +433,12 @@ - + - + - + - + - + -- cgit v1.2.3-54-g00ecf From 09d148dc283f0f66e49d2e09cf02fe3d516f4aca Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 2 Oct 2023 11:32:45 +0800 Subject: glibc: Remove nscd from contents --- chapter08/glibc.xml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 3d7e7b97e..c00d56d30 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -507,7 +507,7 @@ mkdir -pv /etc/ld.so.conf.d gencat, getconf, getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, ld.so (symlink to ld-linux-x86-64.so.2 or ld-linux.so.2), - locale, localedef, makedb, mtrace, nscd, + locale, localedef, makedb, mtrace, pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace, zdump, and zic ld-linux-x86-64.so.2, ld-linux.so.2, @@ -527,7 +527,7 @@ mkdir -pv /etc/ld.so.conf.d /usr/include/protocols, /usr/include/rpc, /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo, - /var/cache/nscd, and /var/lib/nss_db + and /var/lib/nss_db @@ -661,17 +661,6 @@ mkdir -pv /etc/ld.so.conf.d - - nscd - - A daemon that provides a cache for the most common name - service requests - - nscd - - - - pcprofiledump -- cgit v1.2.3-54-g00ecf From 370b0f548d8c29350f34f8f651359cb35800dcc2 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 2 Oct 2023 11:36:12 +0800 Subject: whatsnew: Align OpenSSL package name with the in its page --- chapter01/whatsnew.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index f30678d8f..56fd11d71 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -198,7 +198,7 @@ <para>Ninja-&ninja-version;</para> </listitem>--> <listitem> - <para>Openssl-&openssl-version;</para> + <para>OpenSSL-&openssl-version;</para> </listitem> <!--<listitem> <para>Patch-&patch-version;</para> -- cgit v1.2.3-54-g00ecf From 0d8322dbe62f0a5d4a86b03e155dbbb593a130ad Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Mon, 2 Oct 2023 11:44:21 +0800 Subject: createfiles: Remove doubled punctuation --- chapter07/createfiles.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index cfa2ee919..9047fa744 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -230,7 +230,7 @@ chmod -v 600 /var/log/btmp</userinput></screen> <filename>lastlog</filename> files use 32-bit integers for timestamps and they'll be fundamentally broken after year 2038. Many packages have stopped using them and other packages are going to stop using - them. It is probably best to consider them deprecated.. + them. It is probably best to consider them deprecated. </para> </note> -- cgit v1.2.3-54-g00ecf From 363fece4283164d114b330b430d9bb3d056c77b9 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Wed, 4 Oct 2023 13:39:03 +0800 Subject: glibc: Fix CVE-2023-4911 --- chapter01/changelog.xml | 10 ++++++++++ patches.ent | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 956e208d5..4a3bd21ae 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,16 @@ appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-10-03</para> + <itemizedlist> + <listitem> + <para>[xry111] - Update Glibc upstream fixes patch to fix + CVE-2023-4911.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-01</para> <itemizedlist> diff --git a/patches.ent b/patches.ent index 3677f3e66..4107b2dc2 100644 --- a/patches.ent +++ b/patches.ent @@ -14,8 +14,8 @@ <!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2"> <!ENTITY glibc-fhs-patch-size "2.8 KB"> -<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-2.patch"> -<!ENTITY glibc-upstream-fixes-patch-md5 "a5a06adb7f61dcc901f35d810ac8a1c0"> +<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch"> +<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2"> <!ENTITY glibc-upstream-fixes-patch-size "28 KB"> <!ENTITY grub-upstream-fixes-patch "grub-&grub-version;-upstream_fixes-1.patch"> -- cgit v1.2.3-54-g00ecf From 623081aa93df0ec73c93332103a2c31ec6d29ffa Mon Sep 17 00:00:00 2001 From: Pierre Labastie <pierre.labastie@neuf.fr> Date: Wed, 4 Oct 2023 15:50:38 +0200 Subject: bootscripts: change "halt stop" to "halt start" Commit 27d23b1d has changed the convention that scripts with Sxxx symlinks should be run with "stop" parameter in runlevels 0 and 6. They should now be called with the more intuitive "start" parameter. But a few scripts still call "/etc/init.d/halt stop". Fortunately, this occurs in code paths that are rarely run (unrecoverable errors). So it was not noticed until now. Anyway, this is fixed in this commit. --- bootscripts/ChangeLog | 7 ++++++- bootscripts/lfs/init.d/checkfs | 4 ++-- bootscripts/lfs/init.d/udev | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index aff30cb41..3853ff83a 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -1,3 +1,8 @@ +2023-10-04 Pierre Labastie <pierre.labastie@neuf.fr> + * After the changes done on 2022-03-24, several "halt stop" should + have been changed to "halt start". Done now. Fortunately, those + occur only when something wrong happens with disks or devices. + 2023-07-28 Xi Ruoyao <xry111@xry111.site> * In mountvirtfs, mount /sys/fs/cgroup for udev from systemd-254. @@ -24,7 +29,7 @@ * New semantics for K and S scripts: - S scripts only started if not already marked S in the previous runlevel - K scripts only started if not already marked K in the previous runlevel - - remove the convention of running S scripts ith "stop" in rl 0/6 + - remove the convention of running S scripts with "stop" in rl 0/6 2021-06-08 Bruce Dubbs <bdubbs@linuxfromscratch.org> * When shutting down the network, ignore invalid interfaces or interfaces that are not UP. diff --git a/bootscripts/lfs/init.d/checkfs b/bootscripts/lfs/init.d/checkfs index bbbae8d99..b7f6e3ff2 100644 --- a/bootscripts/lfs/init.d/checkfs +++ b/bootscripts/lfs/init.d/checkfs @@ -63,7 +63,7 @@ case "${1}" in log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start else log_success_msg2 fi @@ -127,7 +127,7 @@ case "${1}" in log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start fi if [ "${error_value}" -ge 16 ]; then diff --git a/bootscripts/lfs/init.d/udev b/bootscripts/lfs/init.d/udev index f3b07b022..a843e0c39 100644 --- a/bootscripts/lfs/init.d/udev +++ b/bootscripts/lfs/init.d/udev @@ -41,7 +41,7 @@ case "${1}" in log_info_msg "$msg" log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start fi # Start the udev daemon to continually watch for, and act on, -- cgit v1.2.3-54-g00ecf From 4d634048a11c1e7f9bdc6bc2cf79d3652e4bade0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Thu, 5 Oct 2023 14:33:02 +0800 Subject: pkgmgt: Reinstall the same version of Glibc should be safe --- chapter08/pkgmgt.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 7104d9cba..13d79cfdd 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -69,6 +69,17 @@ it. </para> </listitem> + <listitem> + <para>Reinstalling the same version of Glibc (&glibc-version; for + this release of LFS) with patches should be safe when these patches + do not change ABI and API. When a security vulnerability is found + in Glibc, we often need to apply such a patch to fix the + vulnerability and reinstall Glibc. Consult + <ulink url='&lfs-root;lfs/advisories/'>LFS security + advisories</ulink> if you are alerted for a published Glibc security + vulnerability but unsure about the action to take.</para> + </listitem> + <listitem> <para>If a package containing a shared library is updated, and if the name of the library changes, then any packages dynamically linked to the library must be recompiled, to link against the -- cgit v1.2.3-54-g00ecf From 02837798dae56c2cc33f036cfea21f5bf2d0881f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Thu, 5 Oct 2023 16:00:48 +0800 Subject: man-db: Remove outdated test failure notice --- chapter08/man-db.xml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/chapter08/man-db.xml b/chapter08/man-db.xml index 88c811d33..229111131 100644 --- a/chapter08/man-db.xml +++ b/chapter08/man-db.xml @@ -113,11 +113,7 @@ <para>To test the results, issue:</para> -<screen><userinput remap="test">make -k check</userinput></screen> - - <!-- https://gitlab.com/man-db/man-db/-/issues/25 --> - <para>One test named <filename>man1/lexgrog.1</filename> is known - to fail.</para> +<screen><userinput remap="test">make check</userinput></screen> <para>Install the package:</para> -- cgit v1.2.3-54-g00ecf From d42ea8f08def207bae0c4941df98a9ff4b285b16 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sat, 7 Oct 2023 18:48:41 +0800 Subject: packages: Remove empty sha256 fields --- chapter03/packages.xml | 2 -- packages.ent | 2 -- 2 files changed, 4 deletions(-) diff --git a/chapter03/packages.xml b/chapter03/packages.xml index dba151cac..101ab994a 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -242,7 +242,6 @@ <para>Home page: <ulink url="&gcc-home;"/></para> <para>Download: <ulink url="&gcc-url;"/></para> <para>MD5 sum: <literal>&gcc-md5;</literal></para> - <para>SHA256 sum: <literal>&gcc-sha256;</literal></para> </listitem> </varlistentry> @@ -356,7 +355,6 @@ <para>Home page: <ulink url="&inetutils-home;"/></para> <para>Download: <ulink url="&inetutils-url;"/></para> <para>MD5 sum: <literal>&inetutils-md5;</literal></para> - <para>SHA256 sum: <literal>&inetutils-sha256;</literal></para> </listitem> </varlistentry> diff --git a/packages.ent b/packages.ent index 255b45a98..dc44a1e22 100644 --- a/packages.ent +++ b/packages.ent @@ -222,7 +222,6 @@ <!ENTITY gcc-size "85,800 KB"> <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz"> <!ENTITY gcc-md5 "e0e48554cc6e4f261d55ddee9ab69075"> -<!ENTITY gcc-sha256 ""> <!ENTITY gcc-home "https://gcc.gnu.org/"> <!ENTITY gcc-tmpp1-du "4.2 GB"> <!ENTITY gcc-tmpp1-sbu "3.5 SBU"> @@ -330,7 +329,6 @@ <!ENTITY inetutils-size "1,522 KB"> <!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz"> <!ENTITY inetutils-md5 "319d65bb5a6f1847c4810651f3b4ba74"> -<!ENTITY inetutils-sha256 ""> <!ENTITY inetutils-home "&gnu-software;inetutils/"> <!ENTITY inetutils-fin-du "31 MB"> <!ENTITY inetutils-fin-sbu "0.2 SBU"> -- cgit v1.2.3-54-g00ecf From c39bfe9b33f371f9623b5eaa5e030ec2ebedad11 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 8 Oct 2023 16:04:48 +0800 Subject: currency: Do not run strip_tags on api.github.com output The output of api.github.com is JSON, thus we should not remove every <...> for it. For example, strip_tags had trimmed the JSON for shadow-4.14.1, leading to "Attempt to read property "tag_name" on null". --- lfs-latest-git.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index c0c7aaea3..6894b4a9e 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -85,8 +85,9 @@ function http_get_file( $url ) exec( "curl --location --silent --max-time 30 $url", $dir ); - $s = implode( "\n", $dir ); - $dir = strip_tags( $s ); + $dir = implode( "\n", $dir ); + if ( !preg_match( "/api.github.com/", $url) ) + $dir = strip_tags( $dir ); return explode( "\n", $dir ); } -- cgit v1.2.3-54-g00ecf From 91c6e9b2fb5cb5af3d3dce74dd52891161adf2ff Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Wed, 11 Oct 2023 19:15:07 +0800 Subject: dependencies: MarkupSafe and Jinja2 dependencies should be rendered for sysv too --- appendices/dependencies.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index c84776374..2bec3dd93 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1496,37 +1496,37 @@ </segmentedlist> <!-- Begin Jinja2 dependency info --> - <bridgehead revision='systemd' renderas="sect2" id="jinja2-dep">Jinja2</bridgehead> + <bridgehead renderas="sect2" id="jinja2-dep">Jinja2</bridgehead> - <segmentedlist id="jinja2-depends" revision='systemd'> + <segmentedlist id="jinja2-depends"> <segtitle>&dependencies;</segtitle> <seglistitem> <seg>MarkupSafe and Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-rundeps" revision='systemd'> + <segmentedlist id="jinja2-rundeps"> <segtitle>&runtime;</segtitle> <seglistitem> <seg>MarkupSafe and Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-testdeps" revision='systemd'> + <segmentedlist id="jinja2-testdeps"> <segtitle>&testsuites;</segtitle> <seglistitem> <seg>No test suite available</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-before" revision='systemd'> + <segmentedlist id="jinja2-before"> <segtitle>&before;</segtitle> <seglistitem> <seg>&systemd-udev;</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-optdeps" revision='systemd'> + <segmentedlist id="jinja2-optdeps"> <segtitle>&external;</segtitle> <seglistitem> <seg>None</seg> @@ -2136,37 +2136,37 @@ </segmentedlist> <!-- Begin MarkupSafe dependency info --> - <bridgehead renderas="sect2" id="markupsafe-dep" revision='systemd'>MarkupSafe</bridgehead> + <bridgehead renderas="sect2" id="markupsafe-dep">MarkupSafe</bridgehead> - <segmentedlist id="markupsafe-depends" revision='systemd'> + <segmentedlist id="markupsafe-depends"> <segtitle>&dependencies;</segtitle> <seglistitem> <seg>Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-rundeps" revision='systemd'> + <segmentedlist id="markupsafe-rundeps"> <segtitle>&runtime;</segtitle> <seglistitem> <seg>Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-testdeps" revision='systemd'> + <segmentedlist id="markupsafe-testdeps"> <segtitle>&testsuites;</segtitle> <seglistitem> <seg>No test suite available</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-before" revision='systemd'> + <segmentedlist id="markupsafe-before"> <segtitle>&before;</segtitle> <seglistitem> <seg>Jinja2</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-optdeps" revision='systemd'> + <segmentedlist id="markupsafe-optdeps"> <segtitle>&external;</segtitle> <seglistitem> <seg>None</seg> -- cgit v1.2.3-54-g00ecf From 2c3487d37de87f0ef499aa69b79ef319efddf083 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Sun, 15 Oct 2023 13:54:19 -0500 Subject: PAckage updates. Update to linux-6.5.7. Update to shadow-4.14.1. Update to gettext-0.22.3. --- chapter01/changelog.xml | 18 ++++++++++++++++++ packages.ent | 18 +++++++++--------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 4a3bd21ae..10cae0af0 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,24 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-10-15</para> + <itemizedlist> + <listitem> + <para>[bdubbs] - Update to linux-6.5.7. Fixes + <ulink url='&lfs-ticket-root;5362'>#5362</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to shadow-4.14.1. Fixes + <ulink url='&lfs-ticket-root;5361'>#5361</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to gettext-0.22.3. Fixes + <ulink url='&lfs-ticket-root;5359'>#5359</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-03</para> diff --git a/packages.ent b/packages.ent index dc44a1e22..fb56e8b1f 100644 --- a/packages.ent +++ b/packages.ent @@ -245,10 +245,10 @@ <!ENTITY gdbm-fin-du "13 MB"> <!ENTITY gdbm-fin-sbu "less than 0.1 SBU"> -<!ENTITY gettext-version "0.22.2"> -<!ENTITY gettext-size "9,999 KB"> +<!ENTITY gettext-version "0.22.3"> +<!ENTITY gettext-size "9,997 KB"> <!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz"> -<!ENTITY gettext-md5 "34531a35dd19370e86847bcf33148098"> +<!ENTITY gettext-md5 "460b38ae5e520253dcd06165dd3e281f"> <!ENTITY gettext-home "&gnu-software;gettext/"> <!ENTITY gettext-tmp-du "306 MB"> <!ENTITY gettext-tmp-sbu "1.1 SBU"> @@ -431,12 +431,12 @@ <!ENTITY linux-major-version "6"> <!ENTITY linux-minor-version "5"> -<!ENTITY linux-patch-version "5"> +<!ENTITY linux-patch-version "7"> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> -<!ENTITY linux-size "135,734 KB"> +<!ENTITY linux-size "135,699 KB"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> -<!ENTITY linux-md5 "dc420e354d2b98e8a962969e6b85898f"> +<!ENTITY linux-md5 "0323da8de9d6aaa017b20d403cc3505a"> <!ENTITY linux-home "https://www.kernel.org/"> <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is allnoconfig + some configs we recommend for the users, rounded down to @@ -628,10 +628,10 @@ <!ENTITY sed-fin-du "30 MB"> <!ENTITY sed-fin-sbu "0.3 SBU"> -<!ENTITY shadow-version "4.14.0"> -<!ENTITY shadow-size "1,746 KB"> +<!ENTITY shadow-version "4.14.1"> +<!ENTITY shadow-size "1,759 KB"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> -<!ENTITY shadow-md5 "bb0166bebc24db9003bb77bfd1359042"> +<!ENTITY shadow-md5 "674950d5545fb29463af51c244ce2121"> <!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> <!ENTITY shadow-fin-du "46 MB"> <!ENTITY shadow-fin-sbu "0.1 SBU"> -- cgit v1.2.3-54-g00ecf From 6f090ad2b7ed6f4bdaef100157c33b3c8a46a47c Mon Sep 17 00:00:00 2001 From: Pierre Labastie <pierre.labastie@neuf.fr> Date: Wed, 18 Oct 2023 23:54:57 +0200 Subject: pdf book: fix page numbering in part III By default page numbering in <preface> is in roman numeral. This is ok for the book preface, but not for the part III preface. So copy the page.number.format template from docbook stylesheets to stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl, and modify it. Reported by: Vladimir Pertsev on lfs-dev list --- stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl b/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl index 49337d0ef..787a0e8c1 100644 --- a/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl +++ b/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl @@ -241,4 +241,22 @@ </fo:block> </xsl:template> + <!-- page.number.format + We want roman numerals only in book's preface, not parts prefaces + (if any). The original template is in {docbook-xsl}/fo/pagesetup.xsl --> + <xsl:template name="page.number.format"> + <xsl:param name="element" select="local-name(.)"/> + <xsl:param name="master-reference" select="''"/> + + <xsl:choose> + <xsl:when test="$element = 'toc' and self::book">i</xsl:when> + <xsl:when test="$element = 'set'">i</xsl:when> + <xsl:when test="$element = 'book'">i</xsl:when> + <xsl:when test="$element = 'preface' and not(ancestor::part)">i</xsl:when> + <xsl:when test="$element = 'dedication'">i</xsl:when> + <xsl:when test="$element = 'acknowledgements'">i</xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:template> + </xsl:stylesheet> -- cgit v1.2.3-54-g00ecf From 7f36b16e7262b9023d1b5a54709d6f636b5b6733 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Tue, 24 Oct 2023 21:09:41 +0800 Subject: pkgmgt: Sync the naming of SpiderMonkey with BLFS --- chapter08/pkgmgt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 13d79cfdd..794fe1259 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -163,7 +163,7 @@ provided by <application>coreutils</application> has already implemented this, and most packages use that command to install binary files and libraries. This means that you won't be troubled by this issue most of the time. - However, the install process of some packages (notably Mozilla JS + However, the install process of some packages (notably SpiderMonkey in BLFS) just overwrites the file if it exists; this causes a crash. So it's safer to save your work and close unneeded running processes before updating a package.</para> <!-- binary is an adjective, not a noun. --> -- cgit v1.2.3-54-g00ecf From a5de784d1413fb25085fb496af02f30b9848a46a Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Tue, 31 Oct 2023 14:10:03 -0500 Subject: PAckage updates. Update to iana-etc-20231019. Update to wheel-0.41.3. Update to shadow-4.14.2. Update to openssl-3.1.4. Update to texinfo-7.1. Update to meson-1.2.3. Update to bc-6.7.2. Update to linux-6.5.9. Update to Python-3.12.0. Add setuptools-68.2.2. --- chapter01/changelog.xml | 47 ++++++++++++++++++++++++++++++++- chapter01/whatsnew.xml | 11 ++++++-- chapter03/packages.xml | 9 +++++++ chapter08/chapter08.xml | 1 + chapter08/setuptools.xml | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ packages.ent | 64 ++++++++++++++++++++++++-------------------- 6 files changed, 170 insertions(+), 31 deletions(-) create mode 100644 chapter08/setuptools.xml diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 10cae0af0..82a3d85be 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,52 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-11-01</para> + <itemizedlist> + <listitem> + <para>[bdubbs] - Update to iana-etc-20231019. Addresses + <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to wheel-0.41.3. Fixes + <ulink url='&lfs-ticket-root;5370'>#5370</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to shadow-4.14.2. Fixes + <ulink url='&lfs-ticket-root;5368'>#5368</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to openssl-3.1.4. Fixes + <ulink url='&lfs-ticket-root;5367'>#5367</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to texinfo-7.1. Fixes + <ulink url='&lfs-ticket-root;5364'>#5364</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to meson-1.2.3. Fixes + <ulink url='&lfs-ticket-root;5366'>#5366</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to bc-6.7.2. Fixes + <ulink url='&lfs-ticket-root;5363'>#5363</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to linux-6.5.9. Fixes + <ulink url='&lfs-ticket-root;5365'>#5365</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to Python-3.12.0. Fixes + <ulink url='&lfs-ticket-root;5357'>#5357</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Add setuptools-68.2.2. Fixes + <ulink url='&lfs-ticket-root;5358'>#5358</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-15</para> <itemizedlist> @@ -57,7 +103,6 @@ </itemizedlist> </listitem> - <listitem> <para>2023-10-03</para> <itemizedlist> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 56fd11d71..896d4904e 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -224,6 +224,9 @@ <!--<listitem> <para>Sed-&sed-version;</para> </listitem>--> + <!--<listitem> After version 12.1 release - see Added + <para>Setuptools-&setuptools-version;</para> + </listitem>--> <listitem> <para>Shadow-&shadow-version;</para> </listitem> @@ -242,9 +245,9 @@ <!--<listitem> <para>Tcl-&tcl-version;</para> </listitem>--> - <!--<listitem> + <listitem> <para>Texinfo-&texinfo-version;</para> - </listitem>--> + </listitem> <!--<listitem> <para>Tzdata-&tzdata-version;</para> </listitem>--> @@ -287,6 +290,10 @@ <title>Added: + + setuptools-&setuptools-version; + + &glibc-upstream-fixes-patch; diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 101ab994a..deae31301 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -668,6 +668,15 @@ + + Setuptools (&setuptools-version;) - &setuptools-size;: + + Home page: + Download: + MD5 sum: &setuptools-md5; + + + Shadow (&shadow-version;) - &shadow-size;: diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 8ab81d2f8..2fccb6139 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -65,6 +65,7 @@ + diff --git a/chapter08/setuptools.xml b/chapter08/setuptools.xml new file mode 100644 index 000000000..dac35c5ef --- /dev/null +++ b/chapter08/setuptools.xml @@ -0,0 +1,69 @@ + + + %general-entities; +]> + + + + + + setuptools + &setuptools-version; +
&setuptools-url;
+
+ + Setuptools-&setuptools-version; + + + Setuptools + + + + + + <para>Setuptools is a tool used to download, build, install, upgrade, + and uninstall Python packages.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + <seglistitem> + <seg>&setuptools-fin-sbu;</seg> + <seg>&setuptools-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Setuptools + + Build the package: + +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD + + Install the package: + +pip3 install --no-index --find-links dist setuptools + + + + Contents of Setuptools + + + Installed directory + + + + /usr/lib/python&python-minor;/site-packages/flit_core and + /usr/lib/python&python-minor;/site-packages/flit_core-&setuptools-version;.dist-info + + + + + + +
+ diff --git a/packages.ent b/packages.ent index fb56e8b1f..558ca79f0 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ - + - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - - - + + + - + - - + + @@ -628,10 +628,18 @@ - - + + + + + + + + + + - + @@ -691,10 +699,10 @@ - - + + - + @@ -738,10 +746,10 @@ - - + + - + -- cgit v1.2.3-54-g00ecf From 72d1cda89787e3cc71b0b4a5e46b62146446b004 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 31 Oct 2023 18:49:43 -0500 Subject: Update shadow home page --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 558ca79f0..9e0b0db2d 100644 --- a/packages.ent +++ b/packages.ent @@ -640,7 +640,7 @@ - + -- cgit v1.2.3-54-g00ecf From 8223937f4c12139f9209fe79e23a5d28383c448f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 16:18:43 +0800 Subject: setuptools: Fix installed directory list --- chapter08/setuptools.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chapter08/setuptools.xml b/chapter08/setuptools.xml index dac35c5ef..257a50328 100644 --- a/chapter08/setuptools.xml +++ b/chapter08/setuptools.xml @@ -57,8 +57,10 @@ - /usr/lib/python&python-minor;/site-packages/flit_core and - /usr/lib/python&python-minor;/site-packages/flit_core-&setuptools-version;.dist-info + /usr/lib/python&python-minor;/site-packages/_distutils_hack, + /usr/lib/python&python-minor;/site-packages/pkg_resources, + /usr/lib/python&python-minor;/site-packages/setuptools, and + /usr/lib/python&python-minor;/site-packages/setuptools-&setuptools-version;.dist-info -- cgit v1.2.3-54-g00ecf From fe2791d41951ef7ec790a458de6c07ebf3fef029 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 16:33:36 +0800 Subject: dependencies: Add Setuptools By the way, complete the dependencies on Wheel too. --- appendices/dependencies.xml | 49 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 2bec3dd93..9ed06a9b7 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1501,7 +1501,7 @@ &dependencies; - MarkupSafe and Python + MarkupSafe, Python, Setuptools, and Wheel @@ -2141,7 +2141,7 @@ &dependencies; - Python + Python, Setuptools, and Wheel @@ -2179,7 +2179,7 @@ &dependencies; - Ninja and Python + Ninja, Python, Setuptools, and Wheel @@ -2741,6 +2741,44 @@ + + Setuptools + + + &dependencies; + + Python and Wheel + + + + + &runtime; + + Python + + + + + &testsuites; + + No test suite available + + + + + &before; + + Jinja2, MarkupSafe, and Meson + + + + + &external; + + None + + + Shadow @@ -3216,7 +3254,7 @@ - wheel + Wheel &dependencies; @@ -3243,8 +3281,7 @@ &before; - None - Jinja2 + Jinja2, MarkupSafe, Meson, and Setuptools -- cgit v1.2.3-54-g00ecf From c62883bd83304032893b8a98a5e6c1792352628c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 17:30:18 +0800 Subject: dependencies: Remove useless --- appendices/dependencies.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 9ed06a9b7..73194612c 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -3281,7 +3281,7 @@ &before; - Jinja2, MarkupSafe, Meson, and Setuptools + Jinja2, MarkupSafe, Meson, and Setuptools -- cgit v1.2.3-54-g00ecf From 23d67d844b95075f27ee04dcebb7e87c8655092c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 21:34:44 +0800 Subject: python: Remove --with-system-ffi This option is removed by upstream in 3.12. Link: https://github.com/python/cpython/pull/100544 --- chapter08/python.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index a4bfeaf91..f7bc19d47 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -48,7 +48,6 @@ ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ - --with-system-ffi \ --enable-optimizations @@ -62,14 +61,6 @@
- - --with-system-ffi - - This switch enables linking against the system version of - libffi.so. - - - --enable-optimizations -- cgit v1.2.3-54-g00ecf From 6b1661a6374a52230e81bca1476aefe0aa3b0290 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 1 Nov 2023 11:10:45 -0500 Subject: Update currency for setuptools --- lfs-latest-git.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 6894b4a9e..162d8d6c8 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -128,6 +128,7 @@ if ( $package == "expect" ) $dirpath = "https://sourceforge.net/projects/exp if ( $package == "file" ) $dirpath = "https://github.com/file/file/tags"; if ( $package == "flex" ) $dirpath = github("westes/flex"); if ( $package == "flit_core" ) $dirpath = "https://pypi.org/project/flit-core/"; +if ( $package == "setuptools" ) $dirpath = "https://pypi.org/project/setuptools/"; if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); if ( $package == "iana-etc" ) $dirpath = github("Mic92/iana-etc"); if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk"; @@ -294,6 +295,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "flit_core" ) return find_max( $lines, "/flit-core /", "/^.*flit-core ([\d\.]+)$/" ); + if ( $package == "setuptools" ) + return find_max( $lines, "/setuptools /", "/^.*setuptools ([\d\.]+)$/" ); + if ( $package == "procps-ng" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); -- cgit v1.2.3-54-g00ecf From 5f8327e63312e2cc4811e91da9e2eb47be79502d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 Nov 2023 14:31:32 +0800 Subject: gawk: Fix "gawk-&gawk-version; is a remnant from Chapter 7" again We'd fixed #5180 by forcing LN='ln -f'. But this has stopped to work with gawk-5.2.2 (and 5.3.0) because now the building system explicitly checks the existence of gawk-&gawk-version; and refuses to update it if it exists. Now removing the file before "make install" seems the easiest solution. Link: https://git.savannah.gnu.org/cgit/gawk.git/commit/?id=11762f4c0685 --- chapter08/gawk.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index cc9348d90..71e295652 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -59,15 +59,18 @@ su tester -c "PATH=$PATH make check" Install the package: -make LN='ln -f' install +rm -f /usr/bin/gawk-&gawk-version; +make install - The meaning of the overridden make variable: + The meaning of the command: - LN='ln -f' + rm -f /usr/bin/gawk-&gawk-version; - This variable ensures that the previous hard link installed + The building system will not recreate the hard link + gawk-&gawk-version; if it already exists. + Remove it to ensure that the previous hard link installed in is updated here. -- cgit v1.2.3-54-g00ecf From 93311f4abb72c8e053970ff6122d90c75ce5a3d7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 Nov 2023 14:38:55 +0800 Subject: gawk: "rm -f ..." is a command, not an envar --- chapter08/gawk.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index 71e295652..d8984b58e 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -66,7 +66,7 @@ make install The meaning of the command: - rm -f /usr/bin/gawk-&gawk-version; + rm -f /usr/bin/gawk-&gawk-version; The building system will not recreate the hard link gawk-&gawk-version; if it already exists. -- cgit v1.2.3-54-g00ecf From d11686c6f0d1ef2d7c739e06ef151155b19e3469 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 8 Nov 2023 17:27:10 +0800 Subject: pkgmgt: Update the desc for "separate directories" There seems some guy overusing this method so we should add more caveats. - Use /opt/foo-x.y instead of /usr/pkg/foo-x.y. /opt/foo-x.y is used in BLFS for Rustc, Qt5, etc. and /usr/pkg is not FHS-compliant. - Use /etc/ld.so.conf and LDFLAGS instead of LD_LIBRARY_PATH. Relying on LD_LIBRARY_PATH is generally a bad idea, and we also don't use it in BLFS for /opt packages. - Discourage this method for general use, mention it may not work for vital packages like Glibc. --- chapter08/pkgmgt.xml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 794fe1259..185538796 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -196,19 +196,29 @@ This is a simplistic package management technique that does not need a special program to manage the packages. Each package is installed in a separate directory. For example, package foo-1.1 is installed in - /usr/pkg/foo-1.1 - and a symlink is made from /usr/pkg/foo to - /usr/pkg/foo-1.1. When + /opt/foo-1.1 + and a symlink is made from /opt/foo to + /opt/foo-1.1. When a new version foo-1.2 comes along, it is installed in - /usr/pkg/foo-1.2 and the previous + /opt/foo-1.2 and the previous symlink is replaced by a symlink to the new version. Environment variables such as PATH, - LD_LIBRARY_PATH, MANPATH, - INFOPATH and CPPFLAGS need to be expanded to - include /usr/pkg/foo. If you install more than a few packages, - this scheme becomes unmanageable. + MANPATH, INFOPATH, + PKG_CONFIG_PATH, CPPFLAGS, + LDFLAGS, and the configuration file + /etc/ld.so.conf may need to be expanded to + include the corresponding subdirectories in + /opt/foo-x.y. + + This scheme is used by the BLFS book to install some very large + packages to make it easier to upgrade them. If you install more + than a few packages, this scheme becomes unmanageable. And some + packages (for example Linux API headers and Glibc) may not work well + with this scheme. + Never use this scheme system-wide. + -- cgit v1.2.3-54-g00ecf From f6bf77de74bb81eff72cef18f75b9335b94dcdd5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 11 Nov 2023 18:07:05 +0800 Subject: udev: Remove four udev rules belonging to logind They are not really useful without logind. BLFS elogind package will provide them too, so we should remove them and avoid a package manager conflict. --- chapter08/udev.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 35bb12f46..acc23172f 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -117,9 +117,12 @@ meson setup \ $(realpath libudev.so --relative-to .) Remove one udev rule file requiring a full Systemd - installation: + installation and four udev rule files for the login manager (if you need + a login manager, install the BLFS elogind package after finishing LFS; + the elogind package will install these udev rules as well): -rm rules.d/90-vconsole.rules +rm rules.d/{70-uaccess,71-seat,73-seat-late,90-vconsole}.rules +rm ../rules.d/70-power-switch.rules Install the package: -- cgit v1.2.3-54-g00ecf From 5196daeb4e36b321e42a8bec8302cad31c6ff690 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 19:27:23 +0800 Subject: udev: Adjust some command Set -Dlogind=false -Dvconsole=false to disable out-of-scope udev rules. Use "ninja -n" to list the targets, so the disabled udev rules won't show up then we can remove some "rm" commands. Do not remove 70-power-switch.rules from the source directory so we won't break multilib. --- chapter08/udev.xml | 49 +++++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index acc23172f..3c7d7d25c 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -66,6 +66,8 @@ meson setup \ -Dmode=release \ -Ddev-kvm-mode=0660 \ -Dlink-udev-shared=false \ + -Dlogind=false \ + -Dvconsole=false \ .. @@ -107,38 +109,41 @@ meson setup \ and it's too overkill for a udev-only installation. + + + -Dlogind=false -Dvconsole=false + + These options prevent the generation of several udev rule + files belonging to the other Systemd components that we won't + install. + + Only build the components needed for udev: - ninja udevadm systemd-hwdb \ - $(grep -o -E "^build (src/libudev|src/udev|rules.d|hwdb.d)[^:]*" \ - build.ninja | awk '{ print $2 }') \ + ninja udevadm systemd-hwdb \ + $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \ $(realpath libudev.so --relative-to .) - Remove one udev rule file requiring a full Systemd - installation and four udev rule files for the login manager (if you need - a login manager, install the BLFS elogind package after finishing LFS; - the elogind package will install these udev rules as well): - -rm rules.d/{70-uaccess,71-seat,73-seat-late,90-vconsole}.rules -rm ../rules.d/70-power-switch.rules - Install the package: install -vm755 -d {/usr/lib,/etc}/udev/{hwdb,rules}.d install -vm755 -d /usr/{lib,share}/pkgconfig -install -vm755 udevadm /usr/bin/ -install -vm755 systemd-hwdb /usr/bin/udev-hwdb -ln -svfn ../bin/udevadm /usr/sbin/udevd -cp -av libudev.so{,*[0-9]} /usr/lib/ -install -vm644 ../src/libudev/libudev.h /usr/include/ -install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ -install -vm644 src/udev/*.pc /usr/share/pkgconfig/ -install -vm644 ../src/udev/udev.conf /etc/udev/ -install -vm644 rules.d/* ../rules.d/{*.rules,README} /usr/lib/udev/rules.d/ -install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ -install -vm755 $(find src/udev -type f | grep -F -v ".") /usr/lib/udev +install -vm755 udevadm /usr/bin/ +install -vm755 systemd-hwdb /usr/bin/udev-hwdb +ln -svfn ../bin/udevadm /usr/sbin/udevd +cp -av libudev.so{,*[0-9]} /usr/lib/ +install -vm644 ../src/libudev/libudev.h /usr/include/ +install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ +install -vm644 src/udev/*.pc /usr/share/pkgconfig/ +install -vm644 ../src/udev/udev.conf /etc/udev/ +install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ +install -vm644 $(echo ../rules.d/*.rules | + sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ +install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ +install -vm755 $(find src/udev -type f \ + -not -name '*.*') /usr/lib/udev Install some custom rules and support files useful in an LFS environment: -- cgit v1.2.3-54-g00ecf From e70bf8f4f487b56276db09390949cd865bfca43e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 21:00:03 +0800 Subject: hostreqs: Bump Coreutils minimal version to 8.1 and check for nproc We'll use nproc for setting MAKEFLAGS and TESTSUITEFLAGS. And if nproc is not available, we'll end up with "MAKEFLAGS=-j" which is very dangerous because it allows make to spawn infinite number of jobs. Check it early. The nproc program is added in Coreutils 8.1 so we need to bump the minimal version. --- chapter02/hostreqs.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index 69533b9c7..63dcd943f 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -54,8 +54,9 @@ should be a link to bison or a small script that executes bison) + - Coreutils-7.0 + Coreutils-8.1 @@ -218,8 +219,8 @@ ver_kernel() fi } -# Coreutils first because-sort needs Coreutils >= 7.0 -ver_check Coreutils sort 7.0 || bail "--version-sort unsupported" +# Coreutils first because --version-sort needs Coreutils >= 7.0 +ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop" ver_check Bash bash 3.2 ver_check Binutils ld 2.13.1 ver_check Bison bison 2.7 @@ -259,7 +260,13 @@ echo "Compiler check:" if printf "int main(){}" | g++ -x c++ - then echo "OK: g++ works"; else echo "ERROR: g++ does NOT work"; fi -rm -f a.out +rm -f a.out + +if [ "$(nproc)" = "" ]; then + echo "ERROR: nproc is not available or it produces empty output" +else + echo "OK: nproc reports $(nproc) logical cores are available" +fi EOF bash version-check.sh -- cgit v1.2.3-54-g00ecf From a0a803c0b053dd9b4867690d8bc25fc0b97fa486 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 14:42:06 +0800 Subject: settingenviron: Set MAKEFLAGS for parallelism in ~lfs/.bashrc --- chapter04/aboutsbus.xml | 12 ----------- chapter04/settingenviron.xml | 49 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/chapter04/aboutsbus.xml b/chapter04/aboutsbus.xml index f88db24f6..42a523fa1 100644 --- a/chapter04/aboutsbus.xml +++ b/chapter04/aboutsbus.xml @@ -37,18 +37,6 @@ numbers can vary by as much as dozens of minutes in some cases. - For many modern systems with multiple processors (or cores) the - compilation time for a package can be reduced by performing a "parallel - make" by either setting an environment variable or telling the - make program how many processors are available. For - instance, an Intel i5-6500 CPU can support four simultaneous processes with: - - export MAKEFLAGS='-j4' - - or by building with: - - make -j4 - When multiple processors are used in this way, the SBU units in the book will vary even more than they normally would. In some cases, the make step will simply fail. Analyzing the output of the build process will also diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml index b255a4b45..2d8d6045f 100644 --- a/chapter04/settingenviron.xml +++ b/chapter04/settingenviron.xml @@ -195,6 +195,55 @@ EOF completed LFS system. + + For many modern systems with multiple processors (or cores) the + compilation time for a package can be reduced by performing a "parallel + make" by telling the make program how many processors are available via + a command line option or an environment variable. For instance, an Intel + Core i9-13900K processor has 8 P (performance) cores and + 16 E (efficiency) cores, and a P core can simultaneously run two threads + so each P core are modeled as two logical cores by the Linux kernel. + As the result there are 32 logical cores in total. One obvious way to + use all these logical cores is allowing make to spawn + up to 32 build jobs. This can be done by passing the + -j32 option to make: + + + make -j32 + + + Or set the MAKEFLAGS environment variable and its + content will be automatically used by make as + command line options: + + + export MAKEFLAGS=-j32 + + + + Never pass a -j option without a number to + make or set such an option in + MAKEFLAGS. Doing so will allow make + to spawn infinite build jobs and cause system stability issue. + + + + + To use all logical cores available for building packages in + and + , set MAKEFLAGS + now in .bashrc: + + +cat >> ~/.bashrc << "EOF" +export MAKEFLAGS=-j$(nproc) +EOF + + + Replace $(nproc) with the number of logical + cores you want to use if you don't want to use all the logical cores. + + Finally, to ensure the environment is fully prepared for building the temporary tools, force the bash shell to read the new user profile: -- cgit v1.2.3-54-g00ecf From 95ebbb42b7eda5114e7ea751030916f9c9eaa5fb Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 14:42:45 +0800 Subject: chroot: Set MAKEFLAGS and TESTSUITEFLAGS for parallelism --- chapter07/chroot.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index b8de03dc2..a8cd5f878 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -23,8 +23,21 @@ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin \ + MAKEFLAGS="-j$(nproc)" \ + TESTSUITEFLAGS="-j$(nproc)" \ /bin/bash --login + + Again, replace $(nproc) with the number + of logical cores you want to use for building packages in this chapter + and the following chapters if you don't want to use all available + logical cores. The test suites of some packages (notably Autoconf, + Libtool, and Tar) in &ch-final; are not affected by + MAKEFLAGS, they use a TESTSUITEFLAGS + environment variable instead. So we set it here as well for running + these test suites with multiple cores. + + The -i option given to the env command will clear all the variables in the chroot environment. After that, only the HOME, TERM, PS1, and -- cgit v1.2.3-54-g00ecf From c17a77452a184025e6577e8cdf1315905acaa6bf Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 16:07:26 +0800 Subject: automake: Do not use only 4 cores for testing if we have more --- chapter08/automake.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/chapter08/automake.xml b/chapter08/automake.xml index 4fc1bd277..5d7541049 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -53,11 +53,14 @@ make - Using the -j4 make option speeds up the tests, even on systems with - only one processor, due to internal delays in individual tests. To test + Using four parallel jobs speeds up the tests, even on systems with + less logical cores, due to internal delays in individual tests. To test the results, issue: -make -j4 check +make -j$(($(nproc)>4?$(nproc):4)) check + + Replace $((...)) with the number of + logical cores you want to use if you don't want to use all. The test t/subobj.sh is known to fail. -- cgit v1.2.3-54-g00ecf From 3a8d1825cc7dcb9cc8a7c01f5e98d672723bbe6a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 19:41:56 +0800 Subject: openssl: Add HARNESS_JOBS=$(nproc) --- chapter08/openssl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml index 6a4441552..25295f056 100644 --- a/chapter08/openssl.xml +++ b/chapter08/openssl.xml @@ -63,7 +63,7 @@ To test the results, issue: -make test +HARNESS_JOBS=$(nproc) make test One test, 30-test_afalg.t, is known to fail if the host kernel does not have enabled, -- cgit v1.2.3-54-g00ecf From d490056b64d0b55df01096871647a76574a142fc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 19:48:55 +0800 Subject: perl: Use TEST_JOBS=$(nproc) make test_harness for test suite --- chapter08/perl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/perl.xml b/chapter08/perl.xml index d3159595c..2bb849645 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -111,7 +111,7 @@ export BUILD_BZIP2=0 To test the results (approximately 11 SBU), issue: -make test +TEST_JOBS=$(nproc) make test_harness Install the package and clean up: -- cgit v1.2.3-54-g00ecf From e07c41946983e891b283482c294ed748494c2578 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 21:32:40 +0800 Subject: Package updates - Update to elfutils-0.190 (#5373) - Update to vim-9.0.2103 - Update to linux-6.6.1 (#5369) - Update to xz-5.4.5 (#5371) - Update to iana-etc-20231107 - Update to gawk-5.3.0 (#5372) - Update to bash-5.2.21 (#5375) - Update to iproute2-6.6.0 (#5374) --- chapter01/changelog.xml | 38 ++++++++++++++++++++++++++++++++++++ packages.ent | 52 ++++++++++++++++++++++++------------------------- 2 files changed, 64 insertions(+), 26 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 82a3d85be..8ad5949fb 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,44 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2023-11-13 + + + [xry111] - Update to elfutils-0.190. Fixes + #5373. + + + [xry111] - Update to vim-9.0.2103. Addresses + #4500. + + + [xry111] - Update to linux-6.6.1. Fixes + #5369. + + + [xry111] - Update to xz-5.4.5. Fixes + #5371. + + + [xry111] - Update to iana-etc-20231107. Addresses + #5006. + + + [xry111] - Update to gawk-5.3.0. Fixes + #5372. + + + [xry111] - Update to bash-5.2.21. Fixes + #5375. + + + [xry111] - Update to iproute2-6.6.0. Fixes + #5374. + + + + 2023-11-01 diff --git a/packages.ent b/packages.ent index 9e0b0db2d..fbb39bc31 100644 --- a/packages.ent +++ b/packages.ent @@ -47,10 +47,10 @@ - - + + - + @@ -148,10 +148,10 @@ - - + + - + @@ -208,10 +208,10 @@ - - + + - + @@ -317,10 +317,10 @@ - - + + - + @@ -341,10 +341,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - + - - + + @@ -762,10 +762,10 @@ - - + + - + -- cgit v1.2.3-54-g00ecf From 1780e72d8d14621ffe3aaea89678d2eb93a63bf1 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 13 Nov 2023 16:24:47 +0100 Subject: udev: Fix a small typo in command --- chapter08/udev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 3c7d7d25c..5eb719e07 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -139,7 +139,7 @@ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ install -vm644 src/udev/*.pc /usr/share/pkgconfig/ install -vm644 ../src/udev/udev.conf /etc/udev/ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ -install -vm644 $(echo ../rules.d/*.rules | +install -vm644 $(echo ../rules.d/*.rules | \ sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ install -vm755 $(find src/udev -type f \ -- cgit v1.2.3-54-g00ecf From 798e18b09fd0d0554c8b333e76f43051cc2f5086 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 13 Nov 2023 09:44:05 -0600 Subject: Minor grammar corrections. Mistakenly removed the remote WIP branch while it's not fully merged yet. Cherry-pick the discarded commit. (cherry picked from commit 2f3f0e9e813f60a88e9f557842a7b9a50cdec50b) --- chapter07/chroot.xml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index a8cd5f878..d7367c8ca 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -28,14 +28,13 @@ /bin/bash --login - Again, replace $(nproc) with the number - of logical cores you want to use for building packages in this chapter - and the following chapters if you don't want to use all available - logical cores. The test suites of some packages (notably Autoconf, - Libtool, and Tar) in &ch-final; are not affected by - MAKEFLAGS, they use a TESTSUITEFLAGS - environment variable instead. So we set it here as well for running - these test suites with multiple cores. + If you don't want to use all available logical cores, replace + $(nproc) with the number of logical cores you + want to use for building packages in this chapter and the following + chapters. The test suites of some packages (notably Autoconf, Libtool, + and Tar) in &ch-final; are not affected by MAKEFLAGS, they + use a TESTSUITEFLAGS environment variable instead. We + set set that here as well for running these test suites with multiple cores. The -i option given to the env @@ -60,7 +59,7 @@ in the PATH. This means that the cross toolchain will no longer be used. - Note that the bash prompt will say + Also note that the bash prompt will say I have no name! This is normal because the /etc/passwd file has not been created yet. -- cgit v1.2.3-54-g00ecf From 4bc51b9067c985017046a1adc9bfab019a8389e0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 14 Nov 2023 02:35:51 +0800 Subject: udev: Fix install command for ../rules.d/*.rules The sed command has changed ../rules.d/70-power-switch.rules to "../rules.d", causing the install command to fail. Change the command enumerating ../rules.d/*.rules but 70-power-switch.rules to a "find" command. Edit another "find" command so the styles of them are the same. --- chapter08/udev.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 5eb719e07..46ab88cff 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -139,11 +139,11 @@ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ install -vm644 src/udev/*.pc /usr/share/pkgconfig/ install -vm644 ../src/udev/udev.conf /etc/udev/ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ -install -vm644 $(echo ../rules.d/*.rules | \ - sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ +install -vm644 $(find ../rules.d/*.rules \ + -not -name '*power-switch*') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ -install -vm755 $(find src/udev -type f \ - -not -name '*.*') /usr/lib/udev +install -vm755 $(find src/udev \ + -type f -not -name '*.*') /usr/lib/udev Install some custom rules and support files useful in an LFS environment: -- cgit v1.2.3-54-g00ecf From e3ae0675026ae010f2aabaab6725915b203081fa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 14 Nov 2023 03:05:23 +0800 Subject: whatsnew: Uncomment updated packages --- chapter01/whatsnew.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 896d4904e..0586b3d02 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -38,9 +38,9 @@ - + Bc-&bc-version; @@ -89,9 +89,9 @@ - + @@ -131,9 +131,9 @@ - + @@ -152,9 +152,9 @@ - + @@ -266,9 +266,9 @@ - + Zlib-&zlib-version; -- cgit v1.2.3-54-g00ecf From f16cc36c29a7236852af50166ff8920543681a65 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Wed, 15 Nov 2023 15:25:51 -0600 Subject: Typo fix --- chapter07/chroot.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index d7367c8ca..70f5717dd 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -34,7 +34,7 @@ chapters. The test suites of some packages (notably Autoconf, Libtool, and Tar) in &ch-final; are not affected by MAKEFLAGS, they use a TESTSUITEFLAGS environment variable instead. We - set set that here as well for running these test suites with multiple cores. + set that here as well for running these test suites with multiple cores. The -i option given to the env -- cgit v1.2.3-54-g00ecf From 01247ac90a16aa37dc31dec1d743d77d09194234 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 20 Nov 2023 07:18:26 +0800 Subject: kernfs: Revise command creating the link target in case /dev/shm is a symlink When /dev/shm is a symlink we need to create its target or some tests will fail and Python 3 will be misconfigured. We wrote it as: mkdir -pv $LFS/$(readlink $LFS/dev/shm) But if $LFS/dev/shm is a relative symlink (say ../run/shm), we end up: mkdir -pv /mnt/lfs/../run/shm This command will create /mnt/run/shm, not $LFS/mnt/shm as we expected. Twist it a little to make it work for both absolute symlinks and relative symlinks. --- chapter07/kernfs.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index 4757b257d..049f6e804 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -107,7 +107,7 @@ mount -vt tmpfs tmpfs $LFS/run we must explicitly mount a tmpfs: if [ -h $LFS/dev/shm ]; then - mkdir -pv $LFS/$(readlink $LFS/dev/shm) + (cd $LFS/dev; mkdir $(readlink shm)) else mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi -- cgit v1.2.3-54-g00ecf From 655450075cab63368fa61997ab9acf9621f2a799 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Wed, 22 Nov 2023 16:08:30 -0600 Subject: Setting Environment: minor tweak --- chapter04/settingenviron.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml index 2d8d6045f..61a655655 100644 --- a/chapter04/settingenviron.xml +++ b/chapter04/settingenviron.xml @@ -224,7 +224,7 @@ EOF Never pass a -j option without a number to make or set such an option in MAKEFLAGS. Doing so will allow make - to spawn infinite build jobs and cause system stability issue. + to spawn infinite build jobs and cause system stability problems. -- cgit v1.2.3-54-g00ecf From 5e8bab73a16e31200f9540879c7b87d54341806e Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Wed, 22 Nov 2023 19:18:51 -0600 Subject: Chapter 6 Ncurses: minor text tweaks --- chapter06/ncurses.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 9e7764ecf..8d7c8b1fe 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -78,7 +78,7 @@ popd --with-manpage-format=normal - This prevents Ncurses installing compressed manual + This prevents Ncurses from installing compressed manual pages, which may happen if the host distribution itself has compressed manual pages. @@ -94,7 +94,7 @@ popd --without-normal - This prevents Ncurses building and installing static C + This prevents Ncurses from building and installing static C libraries. @@ -102,7 +102,7 @@ popd --without-debug - This prevents Ncurses building and installing debug + This prevents Ncurses from building and installing debug libraries. -- cgit v1.2.3-54-g00ecf From 1fdbce2c4e24f96ed836db069778806eaa6d9849 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Thu, 23 Nov 2023 20:59:52 +0100 Subject: Generate utf-8 encoded html This removes several problems with wrong encodings... The sed for © is not needed anymore tidy.conf has to be changed to remove specification of latin1 as input and output encodings. --- Makefile | 1 - stylesheets/lfs-xsl/chunk-slave.xsl | 3 --- tidy.conf | 2 -- 3 files changed, 6 deletions(-) diff --git a/Makefile b/Makefile index 1c23a55f5..71b82d0c6 100644 --- a/Makefile +++ b/Makefile @@ -57,7 +57,6 @@ book: validate profile-html true; \ /bin/bash obfuscate.sh $$filename; \ sed -e "s@text/html@application/xhtml+xml@g" \ - -e "s/\xa9/\©/ " \ -i $$filename; \ done; diff --git a/stylesheets/lfs-xsl/chunk-slave.xsl b/stylesheets/lfs-xsl/chunk-slave.xsl index dab359d1d..1482ae351 100644 --- a/stylesheets/lfs-xsl/chunk-slave.xsl +++ b/stylesheets/lfs-xsl/chunk-slave.xsl @@ -10,9 +10,6 @@ - - - diff --git a/tidy.conf b/tidy.conf index 9db8e5f92..fc3672899 100644 --- a/tidy.conf +++ b/tidy.conf @@ -1,8 +1,6 @@ indent-spaces: 2 wrap: 78 tab-size: 8 -input-encoding: latin1 -output-encoding: latin1 write-back: yes markup: yes indent: yes -- cgit v1.2.3-54-g00ecf From 8e8554895452ed8062bbf650ffd5dc47ca58cb66 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 24 Nov 2023 11:53:54 +0800 Subject: whatsnew: Use the of the page for packages as package names This is more consistent, and it reduces the number of different translatable strings for translators. Most of the package names in whatsnew has already been aligned with <title>s, now make these two "from ..." packages so. --- chapter01/whatsnew.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 0586b3d02..73b3d77df 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -153,7 +153,7 @@ <para>Libcap-&libcap-version;</para> </listitem>--> <listitem> - <para>Libelf-&elfutils-version; (from elfutils)</para> + <para>Libelf from Elfutils-&elfutils-version;</para> </listitem> <!--<listitem> <para>Libffi-&libffi-version;</para> @@ -252,7 +252,7 @@ <para>Tzdata-&tzdata-version;</para> </listitem>--> <!--<listitem revision="sysv"> - <para>Udev-&systemd-version; (from systemd)</para> + <para>Udev from Systemd-&systemd-version;</para> </listitem>--> <listitem> <para>Util-linux-&util-linux-version;</para> -- cgit v1.2.3-54-g00ecf From a19dadfd2f0fd641b5e75e1c47f67094f95de01f Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" <renodr@linuxfromscratch.org> Date: Fri, 24 Nov 2023 18:39:41 -0600 Subject: dbus: minor spacing adjustment --- chapter08/dbus.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 8ab4744ad..309e5b2e9 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -56,7 +56,7 @@ --disable-static \ --disable-doxygen-docs \ --disable-xml-docs \ - --docdir=/usr/share/doc/dbus-&dbus-version; \ + --docdir=/usr/share/doc/dbus-&dbus-version; \ --with-system-socket=/run/dbus/system_bus_socket</userinput></screen> <variablelist> -- cgit v1.2.3-54-g00ecf From 1dbc435c8283eec3bea709d082d74b26259cc553 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 26 Nov 2023 21:02:59 +0800 Subject: iproute2: Remove the reference to BLFS Berkeley DB page Berkeley DB has been archived in BLFS. --- chapter08/iproute2.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index bfc25331a..cd3e5a658 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -45,9 +45,6 @@ be built since it depends on Berkeley DB, which is not installed in LFS. However, a directory and a man page for <command>arpd</command> will still be installed. Prevent this by running the commands shown below. - (If the <command>arpd</command> program is needed, - instructions for compiling Berkeley DB can be found in the BLFS book at - <ulink url="&blfs-book;server/db.html"/>.) </para> <screen><userinput remap="pre">sed -i /ARPD/d Makefile -- cgit v1.2.3-54-g00ecf From 2f82ad1e163c228162a30d402bde64b7fa53ca45 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 26 Nov 2023 21:09:30 +0800 Subject: dependencies: Replace the references to BLFS Berkeley DB page Berkeley DB has been archived in BLFS, refer to the Oracle product page for it instead. --- appendices/dependencies.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 73194612c..55c6110ff 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -6,6 +6,7 @@ <!-- Convenient entity for "Systemd" or "Udev" --> <!ENTITY systemd-udev "<phrase revision='systemd'>Systemd</phrase> <phrase revision='sysv'>Udev</phrase>"> + <!ENTITY bdb "<ulink url='https://www.oracle.com/database/technologies/related/berkeleydb.html'>Berkeley DB</ulink>"> ]> <appendix id="appendixc" xreflabel="Appendix C"> @@ -1486,7 +1487,7 @@ <segtitle>&external;</segtitle> <seglistitem> <seg> - <ulink url="&blfs-book;server/db.html">Berkeley DB</ulink>, + &bdb;, <ulink url="&blfs-book;postlfs/iptables.html">iptables</ulink>, <ulink url="&github;/libbpf/libbpf">libbpf</ulink>, <ulink url="&blfs-book;basicnet/libmnl.html">libmnl</ulink>, and @@ -2486,7 +2487,7 @@ <segtitle>&external;</segtitle> <seglistitem> <seg> - <ulink url="&blfs-book;server/db.html">Berkeley DB</ulink> + &bdb; </seg> </seglistitem> </segmentedlist> @@ -2655,7 +2656,7 @@ <segtitle>&external;</segtitle> <seglistitem> <seg> - <ulink url="&blfs-book;server/db.html">Berkeley DB</ulink>, + &bdb;, <ulink url="&blfs-book;basicnet/libnsl.html">libnsl</ulink>, <ulink url="&blfs-book;server/sqlite.html">SQLite</ulink>, and <ulink url="&blfs-book;general/tk.html">Tk</ulink> -- cgit v1.2.3-54-g00ecf From 15f7b58b4cf33fb1688918c13571ac2d783bc7cd Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Thu, 30 Nov 2023 13:00:51 -0600 Subject: Package updates. Update to vim-9.0.2136. Update to iana-etc-20231117. Update to bc-6.7.3. Update to wheel-0.42.0 (Python Module). Update to perl-5.38.2. Update to pkgconf-2.1.0. Update to readline patches 002 through 007. Update to openssl-3.2.0. Update to setuptools-69.0.2. Update to linux-6.6.3. Update to meson-1.3.0. --- chapter01/changelog.xml | 54 +++++++++++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 14 ++++++++--- packages.ent | 64 ++++++++++++++++++++++++------------------------- patches.ent | 6 ++--- 4 files changed, 100 insertions(+), 38 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 8ad5949fb..9694954cd 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,60 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-11-30</para> + <itemizedlist> + <listitem> + <para>[bdubbs] - Update to vim-9.0.2136. Addresses + <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to iana-etc-20231117. Addresses + <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to bc-6.7.3. Fixes + <ulink url='&lfs-ticket-root;5385'>#5385</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to wheel-0.42.0 (Python Module). Fixes + <ulink url='&lfs-ticket-root;5384'>#5384</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to perl-5.38.2. Fixes + <ulink url='&lfs-ticket-root;5383'>#5383</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to pkgconf-2.1.0. Fixes + <ulink url='&lfs-ticket-root;5382'>#5382</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to readline patches 002 through 007. Fixes + <ulink url='&lfs-ticket-root;5381'>#5381</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to openssl-3.2.0. Fixes + <ulink url='&lfs-ticket-root;5380'>#5380</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to setuptools-69.0.2. Fixes + <ulink url='&lfs-ticket-root;5379'>#5379</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to linux-6.6.3. Fixes + <ulink url='&lfs-ticket-root;5378'>#5378</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to meson-1.3.0. Fixes + <ulink url='&lfs-ticket-root;5377'>#5377</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to gettext-0.22.4. Fixes + <ulink url='&lfs-ticket-root;5376'>#5376</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-11-13</para> <itemizedlist> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 73b3d77df..bd97a81f0 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -203,12 +203,12 @@ <!--<listitem> <para>Patch-&patch-version;</para> </listitem>--> + <listitem> + <para>Perl-&perl-version;</para> + </listitem> <listitem> <para>Pkgconf-&pkgconf-version;</para> </listitem> - <!--<listitem> - <para>Perl-&perl-version;</para> - </listitem>--> <listitem> <para>Procps-ng-&procps-ng-version;</para> </listitem> @@ -298,6 +298,10 @@ <para>&glibc-upstream-fixes-patch;</para> </listitem> + <listitem> + <para>&readline-fixes-patch;</para> + </listitem> + </itemizedlist> <itemizedlist> @@ -308,6 +312,10 @@ <para>glibc-2.38-memalign_fix-1.patch</para> </listitem> + <listitem> + <para>readline-8.2-upstream_fix-1.patch</para> + </listitem> + </itemizedlist> </sect1> diff --git a/packages.ent b/packages.ent index fbb39bc31..5093b8aa1 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ <!ENTITY bash-fin-du "52 MB"> <!ENTITY bash-fin-sbu "1.1 SBU"> -<!ENTITY bc-version "6.7.2"> +<!ENTITY bc-version "6.7.3"> <!ENTITY bc-size "456 KB"> <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> -<!ENTITY bc-md5 "27c217ea495f73758f548eb2c6e10244"> +<!ENTITY bc-md5 "a2e39a5be32330bc2166b0e501668178"> <!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc"> <!ENTITY bc-fin-du "7.7 MB"> <!ENTITY bc-fin-sbu "less than 0.1 SBU"> @@ -245,10 +245,10 @@ <!ENTITY gdbm-fin-du "13 MB"> <!ENTITY gdbm-fin-sbu "less than 0.1 SBU"> -<!ENTITY gettext-version "0.22.3"> -<!ENTITY gettext-size "9,997 KB"> +<!ENTITY gettext-version "0.22.4"> +<!ENTITY gettext-size "10,016 KB"> <!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz"> -<!ENTITY gettext-md5 "460b38ae5e520253dcd06165dd3e281f"> +<!ENTITY gettext-md5 "2d8507d003ef3ddd1c172707ffa97ed8"> <!ENTITY gettext-home "&gnu-software;gettext/"> <!ENTITY gettext-tmp-du "306 MB"> <!ENTITY gettext-tmp-sbu "1.1 SBU"> @@ -317,10 +317,10 @@ <!ENTITY gzip-fin-du "21 MB"> <!ENTITY gzip-fin-sbu "0.3 SBU"> -<!ENTITY iana-etc-version "20231107"> -<!ENTITY iana-etc-size "589 KB"> +<!ENTITY iana-etc-version "20231117"> +<!ENTITY iana-etc-size "588 KB"> <!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz"> -<!ENTITY iana-etc-md5 "01331998d26d5beb592c12b06b2eeb24"> +<!ENTITY iana-etc-md5 "f26b37a03a211ddd4e9c7189191e2772"> <!ENTITY iana-etc-home "https://www.iana.org/protocols"> <!ENTITY iana-etc-fin-du "4.8 MB"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> @@ -431,12 +431,12 @@ <!ENTITY linux-major-version "6"> <!ENTITY linux-minor-version "6"> -<!ENTITY linux-patch-version "1"> +<!ENTITY linux-patch-version "3"> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> -<!ENTITY linux-size "136,730 KB"> +<!ENTITY linux-size "136,763 KB"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> -<!ENTITY linux-md5 "90291279ca684fb8cfa59b2ae75b6fe0"> +<!ENTITY linux-md5 "3a760f5ac7d37b62dda9a4ca89f5fd96"> <!ENTITY linux-home "https://www.kernel.org/"> <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is allnoconfig + some configs we recommend for the users, rounded down to @@ -494,10 +494,10 @@ <!ENTITY markupsafe-fin-du "548 KB"> <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> -<!ENTITY meson-version "1.2.3"> -<!ENTITY meson-size "2,134 KB"> +<!ENTITY meson-version "1.3.0"> +<!ENTITY meson-size "2,171 KB"> <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> -<!ENTITY meson-md5 "69da4c63ef06c9d3bcc00ce89abb306f"> +<!ENTITY meson-md5 "35dc15e4f94ca5fd30dbe2d88a672254"> <!ENTITY meson-home "https://mesonbuild.com"> <!ENTITY meson-fin-du "42 MB"> <!ENTITY meson-fin-sbu "less than 0.1 SBU"> @@ -536,10 +536,10 @@ <!ENTITY ninja-fin-du "75 MB"> <!ENTITY ninja-fin-sbu "0.3 SBU"> -<!ENTITY openssl-version "3.1.4"> -<!ENTITY openssl-size "15,205 KB"> +<!ENTITY openssl-version "3.2.0"> +<!ENTITY openssl-size "17,284 KB"> <!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz"> -<!ENTITY openssl-md5 "653ad58812c751b887e8ec37e02bba70"> +<!ENTITY openssl-md5 "7903549a14abebc5c323ce4e85f2cbb2"> <!ENTITY openssl-home "https://www.openssl.org/"> <!ENTITY openssl-fin-du "587 MB"> <!ENTITY openssl-fin-sbu "3.0 SBU"> @@ -556,22 +556,22 @@ <!ENTITY perl-version-major "5"> <!ENTITY perl-version-minor "38"> -<!ENTITY perl-version-patch "0"> +<!ENTITY perl-version-patch "2"> <!ENTITY perl-version-min "&perl-version-major;.&perl-version-minor;"> <!ENTITY perl-version "&perl-version-major;.&perl-version-minor;.&perl-version-patch;"> -<!ENTITY perl-size "13,248 KB"> +<!ENTITY perl-size "13,359 KB"> <!ENTITY perl-url "https://www.cpan.org/src/5.0/perl-&perl-version;.tar.xz"> -<!ENTITY perl-md5 "e1c8aaec897dd386c741f97eef9f2e87"> +<!ENTITY perl-md5 "d3957d75042918a23ec0abac4a2b7e0a"> <!ENTITY perl-home "https://www.perl.org/"> <!ENTITY perl-tmp-du "280 MB"> <!ENTITY perl-tmp-sbu "0.6 SBU"> <!ENTITY perl-fin-du "239 MB"> <!ENTITY perl-fin-sbu "7.1 SBU"> -<!ENTITY pkgconf-version "2.0.3"> -<!ENTITY pkgconf-size "304 KB"> +<!ENTITY pkgconf-version "2.1.0"> +<!ENTITY pkgconf-size "305 KB"> <!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz"> -<!ENTITY pkgconf-md5 "b82ca48ed3097adfa007ee71489b6719"> +<!ENTITY pkgconf-md5 "0f2eadbb9dea5aed95147272ae1592cc"> <!ENTITY pkgconf-home "http://pkgconf.org/"> <!ENTITY pkgconf-fin-du "4.6 MB"> <!ENTITY pkgconf-fin-sbu "less than 0.1 SBU"> @@ -628,10 +628,10 @@ <!ENTITY sed-fin-du "30 MB"> <!ENTITY sed-fin-sbu "0.3 SBU"> -<!ENTITY setuptools-version "68.2.2"> -<!ENTITY setuptools-size "2,152 KB"> +<!ENTITY setuptools-version "69.0.2"> +<!ENTITY setuptools-size "2,168 KB"> <!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz"> -<!ENTITY setuptools-md5 "d967ca2ba7f46db887daee2d5c9bd6a2"> +<!ENTITY setuptools-md5 "32bcc14eb830a13fbf33e053286f1081"> <!ENTITY setuptools-home "&pypi-home;/setuptools/"> <!ENTITY setuptools-fin-du "30 MB"> <!ENTITY setuptools-fin-sbu "0.1 SBU"> @@ -735,21 +735,21 @@ <!ENTITY util-linux-fin-du "310 MB"> <!ENTITY util-linux-fin-sbu "0.5 SBU"> -<!ENTITY vim-version "9.0.2103"> +<!ENTITY vim-version "9.0.2136"> <!-- <!ENTITY vim-majmin "90"> --> <!ENTITY vim-docdir "vim/vim90"> -<!ENTITY vim-size "11,193 KB"> +<!ENTITY vim-size "16,989 KB"> <!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">--> -<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.xz"> -<!ENTITY vim-md5 "1af1d018026234d085a82348703461ce"> +<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz"> +<!ENTITY vim-md5 "8dcf113cb690bcdd13d75a4e7c2e3a62"> <!ENTITY vim-home "https://www.vim.org"> <!ENTITY vim-fin-du "229 MB"> <!ENTITY vim-fin-sbu "2.3 SBU"> -<!ENTITY wheel-version "0.41.3"> +<!ENTITY wheel-version "0.42.0"> <!ENTITY wheel-size "97 KB"> <!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz"> -<!ENTITY wheel-md5 "c66db2f3a50d5659994fa974138d4002"> +<!ENTITY wheel-md5 "802ad6e5f9336fcb1c76b7593f0cd22d"> <!ENTITY wheel-home "&pypi-home;/wheel/"> <!ENTITY wheel-fin-du "1.5 MB"> <!ENTITY wheel-fin-sbu "less than 0.1 SBU"> diff --git a/patches.ent b/patches.ent index 4107b2dc2..13f291e0f 100644 --- a/patches.ent +++ b/patches.ent @@ -26,9 +26,9 @@ <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895"> <!ENTITY kbd-backspace-patch-size "12 KB"> -<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fix-1.patch"> -<!ENTITY readline-fixes-patch-md5 "dd1764b84cfca6b677f44978218a75da"> -<!ENTITY readline-fixes-patch-size "1.3 KB"> +<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-2.patch"> +<!ENTITY readline-fixes-patch-md5 "d2477ebe908cc99763d90dde7fd9549a"> +<!ENTITY readline-fixes-patch-size "5.7 KB"> <!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch"> <!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475"> -- cgit v1.2.3-54-g00ecf From 4ca831a42f44353e1aa573eff9ff5eab75824efa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Fri, 1 Dec 2023 16:03:59 +0800 Subject: Use GitHub for vim download I don't see a reason to upload vim tarball onto anduin. And now anduin does not have vim-9.0.2136.tar.gz. I tried downloading vim-8.0.0586 (shipped by LFS 8.2) from GitHub and it worked fine. So it seems the GitHub storage is stable enough. --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 5093b8aa1..50b140bf2 100644 --- a/packages.ent +++ b/packages.ent @@ -739,8 +739,8 @@ <!-- <!ENTITY vim-majmin "90"> --> <!ENTITY vim-docdir "vim/vim90"> <!ENTITY vim-size "16,989 KB"> -<!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">--> -<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz"> +<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz"> +<!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">--> <!ENTITY vim-md5 "8dcf113cb690bcdd13d75a4e7c2e3a62"> <!ENTITY vim-home "https://www.vim.org"> <!ENTITY vim-fin-du "229 MB"> -- cgit v1.2.3-54-g00ecf From 823fbde93f0325443d648ef93ba5ceeea8be33ff Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Fri, 1 Dec 2023 14:45:50 +0800 Subject: udev: Adjust the paths to search .link files and install 99-default.link Tested in QEMU and the virtio NIC is now named "enp0s3". Fixes #5386. --- chapter01/changelog.xml | 11 +++++++++++ chapter08/udev.xml | 20 +++++++++++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 9694954cd..c049903fc 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,17 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem revision='sysv'> + <para>2023-12-01</para> + <itemizedlist> + <listitem> + <para>[xry111] - Restore NIC naming based on physical system + characteristics. Fixes + <ulink url='&lfs-ticket-root;5386'>#5386</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-11-30</para> <itemizedlist> diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 46ab88cff..dd686f489 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -55,6 +55,11 @@ <screen><userinput remap="pre">sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in</userinput></screen> + <para>Adjust the hardcoded paths to network configuration files for the + standalone udev installation:</para> + + <screen><userinput remap="pre">sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h</userinput></screen> + <para>Prepare Udev for compilation:</para> <screen><userinput remap="configure">mkdir -p build @@ -128,7 +133,7 @@ meson setup \ <para>Install the package:</para> - <screen><userinput remap="install">install -vm755 -d {/usr/lib,/etc}/udev/{hwdb,rules}.d + <screen><userinput remap="install">install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network} install -vm755 -d /usr/{lib,share}/pkgconfig install -vm755 udevadm /usr/bin/ install -vm755 systemd-hwdb /usr/bin/udev-hwdb @@ -143,7 +148,8 @@ install -vm644 $(find ../rules.d/*.rules \ -not -name '*power-switch*') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ install -vm755 $(find src/udev \ - -type f -not -name '*.*') /usr/lib/udev</userinput></screen> + -type f -not -name '*.*') /usr/lib/udev +install -vm644 ../network/99-default.link /usr/lib/udev/network</userinput></screen> <para>Install some custom rules and support files useful in an LFS environment:</para> @@ -158,13 +164,21 @@ make -f &udev-lfs-version;/Makefile.lfs install</userinput></screen> <screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \ --no-same-owner --strip-components=1 \ -C /usr/share/man --wildcards '*/udev*' '*/libudev*' \ + '*/systemd.link.5' \ '*/systemd-'{hwdb,udevd.service}.8 + +sed 's|systemd/network|udev/network|' \ + /usr/share/man/man5/systemd.link.5 \ + > /usr/share/man/man5/udev.link.5 + sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \ > /usr/share/man/man8/udev-hwdb.8 + sed 's|lib.*udevd|sbin/udevd|' \ /usr/share/man/man8/systemd-udevd.service.8 \ > /usr/share/man/man8/udevd.8 -rm /usr/share/man/man8/systemd-*.8</userinput></screen> + +rm /usr/share/man/man*/systemd*</userinput></screen> </sect2> -- cgit v1.2.3-54-g00ecf From a851a78ded9d5f530fe9a2374797a0018110f666 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Sat, 2 Dec 2023 14:41:09 -0600 Subject: Formatting --- chapter06/gcc-pass2.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index b342ae484..c9281052a 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -62,7 +62,8 @@ mv -v mpc-&mpc-version; mpc</userinput></screen> <screen><userinput remap="pre">case $(uname -m) in x86_64) - sed -e '/m64=/s/lib64/lib/' -i.orig gcc/config/i386/t-linux64 +sed -e '/m64=/s/lib64/lib/' \ + -i.orig gcc/config/i386/t-linux64 ;; esac</userinput></screen> -- cgit v1.2.3-54-g00ecf From 642f779f64fb521295a1aa4133c28ecbde1b3bb0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 3 Dec 2023 12:42:28 +0800 Subject: gcc-pass2: Fix the indent of the sed command in case --- chapter06/gcc-pass2.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index c9281052a..ae88a41f0 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -62,8 +62,8 @@ mv -v mpc-&mpc-version; mpc</userinput></screen> <screen><userinput remap="pre">case $(uname -m) in x86_64) -sed -e '/m64=/s/lib64/lib/' \ - -i.orig gcc/config/i386/t-linux64 + sed -e '/m64=/s/lib64/lib/' \ + -i.orig gcc/config/i386/t-linux64 ;; esac</userinput></screen> -- cgit v1.2.3-54-g00ecf From 7fb4eb866878d439dc948af6eb2e94eb2d18edf9 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Mon, 4 Dec 2023 21:47:24 +0800 Subject: dependencies: Remove outdated sentence This sentence has been untrue since LFS 10.0. --- appendices/dependencies.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 55c6110ff..ed44374ea 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -30,10 +30,7 @@ in addition to those on the first list, need to be available in order to run the test suites. The fourth list of dependencies are packages that require this package to be built and installed in its final location before they are - built and installed. In most cases, this is because these packages will hard - code paths to binaries within their scripts. If not built in a certain order, - this could result in paths of /tools/bin/[binary] being placed inside scripts - installed to the final system. This is obviously not desirable.</para> + built and installed.</para> <para>The last list of dependencies are optional packages that are not addressed in LFS, but could be useful to the user. These packages may have -- cgit v1.2.3-54-g00ecf From dc8572f2413a4d25444bb1237ea2a01dfba60429 Mon Sep 17 00:00:00 2001 From: Thomas Trepl <thomas@linuxfromscratch.org> Date: Mon, 4 Dec 2023 19:15:01 +0100 Subject: Fix cmds installing python docs (permissions) --- chapter01/changelog.xml | 11 +++++++++++ chapter08/python.xml | 14 +++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index c049903fc..11df22160 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,17 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + + <listitem> + <para>2023-12-04</para> + <itemizedlist> + <listitem> + <para>[thomas] - Modify commands for install Python docs to avoid + too restrictive permissions on the files and dirs.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem revision='sysv'> <para>2023-12-01</para> <itemizedlist> diff --git a/chapter08/python.xml b/chapter08/python.xml index f7bc19d47..62279880d 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -155,21 +155,21 @@ EOF <screen><userinput remap="install">install -v -dm755 /usr/share/doc/python-&python-version;/html -tar --strip-components=1 \ - --no-same-owner \ - --no-same-permissions \ - -C /usr/share/doc/python-&python-version;/html \ - -xvf ../python-&python-version;-docs-html.tar.bz2</userinput></screen> +tar --no-same-owner \ + -xvf ../python-&python-version;-docs-html.tar.bz2 +cp -R --no-preserve=mode python-&python-version;-docs-html/* \ + /usr/share/doc/python-&python-version;/html</userinput></screen> <variablelist> <title>The meaning of the documentation install commands: - and + (tar) and (cp) Ensure the installed files have the correct ownership and permissions. Without these options, tar - will install the package files with the upstream creator's values. + will install the package files with the upstream creator's values + and files would have restrictive permissions. -- cgit v1.2.3-54-g00ecf