From 3182685f702025eacd6a437cf1dd0ade7e732742 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Sep 2023 04:03:50 +0800 Subject: [PATCH 01/44] dependencies: Fix stupid typo in BLFS elogind page URL :( --- appendices/dependencies.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 81f11a2c8..31796da9b 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -2567,7 +2567,7 @@ None - elogind + elogind From 1ebfa8e664dfa4f2425036f37d7c563d1674b249 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Sep 2023 14:17:17 +0800 Subject: [PATCH 02/44] pdf: Allow breaking pages in version-check and kernel configuration They are very long or . By default they are attributed "keep-together.within-column = always", override it to allow line break. Fixes #5336. Link: http://www.sagehill.net/docbookxsl/PageBreaking.html --- chapter02/hostreqs.xml | 2 +- chapter10/kernel.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index e2fbce07b..10c1bf16e 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -173,7 +173,7 @@ To see whether your host system has all the appropriate versions, and the ability to compile programs, run the following commands: -cat > version-check.sh << "EOF" +cat > version-check.sh << "EOF" #!/bin/bash # A script to list version numbers of critical development tools diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 8609b1474..52b2a3c39 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -122,6 +122,7 @@ + A good starting place for setting up the kernel configuration is to run make defconfig. This will set the base configuration to a good state that takes your current system architecture From fd409751bf218dab1399088dbf0c6edee2506b10 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Sep 2023 17:23:27 +0800 Subject: [PATCH 03/44] Revert "openssl: Add a warning about minor version bump and OpenSSH" This reverts commit ad09ba40a1d521857bf440b093167d91e5172f04. This reverts commit bbaf00d41541380665f0b146d60d12afb44cc62b. No longer needed with OpenSSH-9.4 or later. --- chapter08/openssl.xml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml index 40a769311..6a4441552 100644 --- a/chapter08/openssl.xml +++ b/chapter08/openssl.xml @@ -101,21 +101,6 @@ make MANSUFFIX=ssl install number. - - - If OpenSSH is installed, it will be an - exception of the general rule above. It contains an - over-restrictive OpenSSL version check, so both SSH client and SSH - server will refuse to start if OpenSSL - is updated with MAJOR version number unchanged but MINOR version - number changed. You need to rebuild - OpenSSH after such an upgrade. - If OpenSSH is being - used to access the system, you must rebuild and reinstall it - after upgrading OpenSSL to a new MINOR version number before logout - or you won't be able to login via SSH anymore. - - However, any running programs linked to those libraries need to be stopped and restarted. Read the related entries in From 3864d235cfd3623f6a4765d9acd13caee62c6629 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 2 Sep 2023 08:54:55 -0500 Subject: [PATCH 04/44] Package updates and misc upates/typos. Update to vim-1837.$ Update to zlib-1.3.$ Update to wheel-0.41.2 (Python Module).$ Update to util-linux-2.39.2.$ Update to sysvinit-3.08.$ Update to shadow-4.14.0.$ Update to Python-3.11.5.$ Update to procps-ng-4.0.4.$ Update to pkgconf-2.0.2.$ Update to mpfr-4.2.1.$ Update to kbd-2.6.2.$ Update to gzip-1.13.$ Update to coreutils-9.4.$ Specify the 'nobody-group' for systemd.$ Remove unused usb group.$ --- bootscripts/lfs/init.d/checkfs | 2 +- chapter01/changelog.xml | 66 ++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 52 +++++++++++------------ chapter07/createfiles.xml | 2 - chapter08/autoconf.xml | 2 +- chapter08/mpfr.xml | 14 ------ chapter08/procps.xml | 13 +----- chapter08/shadow.xml | 9 ++++ chapter08/systemd.xml | 9 ++++ chapter10/kernel.xml | 4 +- packages.ent | 78 +++++++++++++++++----------------- patches.ent | 76 +-------------------------------- 12 files changed, 156 insertions(+), 171 deletions(-) diff --git a/bootscripts/lfs/init.d/checkfs b/bootscripts/lfs/init.d/checkfs index 0903a0111..bbbae8d99 100644 --- a/bootscripts/lfs/init.d/checkfs +++ b/bootscripts/lfs/init.d/checkfs @@ -101,7 +101,7 @@ case "${1}" in if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then msg="\nWARNING:\n\nFile system errors " - msg="${msg}were found and have been been " + msg="${msg}were found and have been " msg="${msg}corrected, but the nature of the " msg="${msg}errors require this system to be rebooted.\n\n" msg="${msg}After you press enter, " diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index c3e6b7640..d7e9c544f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,72 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-02 + + + [bdubbs] - Update to vim-1837. Addresses + #4500. + + + [bdubbs] - Update to zlib-1.3. Fixes + #5324. + + + [bdubbs] - Update to wheel-0.41.2 (Python Module). Fixes + #5328. + + + [bdubbs] - Update to util-linux-2.39.2. Fixes + #5322. + + + [bdubbs] - Update to sysvinit-3.08. Fixes + #5321. + + + [bdubbs] - Update to shadow-4.14.0. Fixes + #5319. + + + [bdubbs] - Update to Python-3.11.5. Fixes + #5330. + + + [bdubbs] - Update to procps-ng-4.0.4. Fixes + #5335. + + + [bdubbs] - Update to pkgconf-2.0.2. Fixes + #5323. + + + [bdubbs] - Update to mpfr-4.2.1. Fixes + #5326. + + + [bdubbs] - Update to kbd-2.6.2. Fixes + #5318. + + + [bdubbs] - Update to gzip-1.13. Fixes + #5325. + + + [bdubbs] - Update to coreutils-9.4. Fixes + #5334. + + + [bdubbs] - Specify the 'nobody-group' for systemd. Fixes + #5333. + + + [bdubbs] - Remove unused usb group. Fixes + #5331. + + + + 2023-09-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 3b9d5fd1e..0f72bd434 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -83,9 +83,9 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - + @@ -149,9 +149,9 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - + @@ -167,9 +167,9 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - + @@ -218,9 +218,9 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - + @@ -233,39 +233,39 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - + - + - + - + - + @@ -278,24 +278,24 @@ Perhaps a new page - somthing like 'Upgrading an Existing LFS System'. - - - + - + diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index 2434a6b17..2b752b944 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -107,7 +107,6 @@ dialout:x:10: audio:x:11: video:x:12: utmp:x:13: -usb:x:14: cdrom:x:15: adm:x:16: messagebus:x:18: @@ -135,7 +134,6 @@ dialout:x:10: audio:x:11: video:x:12: utmp:x:13: -usb:x:14: cdrom:x:15: adm:x:16: messagebus:x:18: diff --git a/chapter08/autoconf.xml b/chapter08/autoconf.xml index 7925e44ea..38375665f 100644 --- a/chapter08/autoconf.xml +++ b/chapter08/autoconf.xml @@ -153,7 +153,7 @@ Helps to create a configure.in file for a software package; it examines the source files in a directory tree, searching them for common portability issues, and creates a - configure.scan file that serves as as a + configure.scan file that serves as a preliminary configure.in file for the package diff --git a/chapter08/mpfr.xml b/chapter08/mpfr.xml index 2d16053de..c9e7c1a7d 100644 --- a/chapter08/mpfr.xml +++ b/chapter08/mpfr.xml @@ -41,20 +41,6 @@ Installation of MPFR - - Fix a test case based on a bug of old Glibc releases: - -sed -e 's/+01,234,567/+1,234,567 /' \ - -e 's/13.10Pd/13Pd/' \ - -i tests/tsprintf.c - Prepare MPFR for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 20a6be096..7fc74f587 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -67,18 +67,9 @@ Compile the package: -make - To run the test suite, run: make check diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index 0f34d70ac..f88216a5b 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -107,6 +107,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; @@ -144,6 +145,14 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; + + --without-libbsd + + Do not use the readpassphrase function from libbsd which + is not in LFS. Use the internal copy instead. + + + Compile the package: diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 63003ac68..b5b50e623 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -68,6 +68,7 @@ meson setup \ -Dmode=release \ -Dpamconfdir=no \ -Ddev-kvm-mode=0660 \ + -Dnobody-group=nogroup \ -Ddocdir=/usr/share/doc/systemd-&systemd-version; \ .. @@ -178,6 +179,14 @@ meson setup \ consider it dangerous. This option overrides it. + + + -Dnobody-group=nogroup + + Tell the package what group name to use for + the 'nobody-group'. + + Compile the package: diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 52b2a3c39..5c7a9d703 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -140,7 +140,7 @@ - + Enable some additional features if you are building a 64-bit system. If you are using menuconfig, enable them in the order of CONFIG_PCI_MSI first, then @@ -292,7 +292,7 @@ Support running the interrupt controller of 64-bit x86 processors in x2APIC mode. x2APIC may be enabled by firmware on 64-bit x86 systems, and a kernel without this option enabled will - panic on boot if x2APIC is enabled by firmware. This option has + panic on boot if x2APIC is enabled by firmware. This option has no effect, but also does no harm if x2APIC is disabled by the firmware. diff --git a/packages.ent b/packages.ent index 67ad4012c..e93984a98 100644 --- a/packages.ent +++ b/packages.ent @@ -104,10 +104,10 @@ - - + + - + @@ -308,10 +308,10 @@ - - + + - + @@ -359,10 +359,10 @@ - - + + - + @@ -509,10 +509,10 @@ - - + + - + @@ -567,18 +567,18 @@ - + - + - - + + - + @@ -594,19 +594,19 @@ - + - + - + - - + + @@ -627,10 +627,10 @@ - - + + - + @@ -660,10 +660,10 @@ - - + + - + @@ -716,31 +716,31 @@ - - + + - + - + - + - + - + - + @@ -763,10 +763,10 @@ - - + + - + diff --git a/patches.ent b/patches.ent index c3b6dfb18..7bb34e656 100644 --- a/patches.ent +++ b/patches.ent @@ -2,50 +2,14 @@ - - - - - + - - - - @@ -62,49 +26,11 @@ - - - - - - From 1b807632f6f1aa8a67680b34bac95b300952e624 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 3 Sep 2023 00:45:13 +0800 Subject: [PATCH 05/44] Add --no-cache-dir into pip3 wheel commands for Python modules --- chapter01/changelog.xml | 5 +++++ chapter08/flit-core.xml | 11 ++++++++++- chapter08/jinja2.xml | 2 +- chapter08/markupsafe.xml | 2 +- chapter08/meson.xml | 2 +- chapter08/wheel.xml | 2 +- general.ent | 1 + 7 files changed, 20 insertions(+), 5 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index d7e9c544f..e5ff7b4b8 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -43,6 +43,11 @@ 2023-09-02 + + [xry111] - Add --no-cache-dir option for pip3 wheel + commands. Addresses + BLFS #18466. + [bdubbs] - Update to vim-1837. Addresses #4500. diff --git a/chapter08/flit-core.xml b/chapter08/flit-core.xml index 641ff73b7..661a02684 100644 --- a/chapter08/flit-core.xml +++ b/chapter08/flit-core.xml @@ -42,7 +42,7 @@ Build the package: -pip3 wheel -w dist --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install the package: @@ -66,6 +66,15 @@ + + --no-cache-dir + + Prevents pip from copying the created wheel into the + /root/.cache/pip + directory. + + + install diff --git a/chapter08/jinja2.xml b/chapter08/jinja2.xml index ca614ecdc..59a01e26c 100644 --- a/chapter08/jinja2.xml +++ b/chapter08/jinja2.xml @@ -42,7 +42,7 @@ Build the package: -pip3 wheel -w dist --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install the package: diff --git a/chapter08/markupsafe.xml b/chapter08/markupsafe.xml index b4a0cbc58..c09b9a64c 100644 --- a/chapter08/markupsafe.xml +++ b/chapter08/markupsafe.xml @@ -42,7 +42,7 @@ Compile MarkupSafe with the following command: -pip3 wheel -w dist --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD This package does not come with a test suite. diff --git a/chapter08/meson.xml b/chapter08/meson.xml index a53a88c3c..8cf308237 100644 --- a/chapter08/meson.xml +++ b/chapter08/meson.xml @@ -46,7 +46,7 @@ --> Compile Meson with the following command: -pip3 wheel -w dist --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD The test suite requires some packages outside the scope of LFS. diff --git a/chapter08/wheel.xml b/chapter08/wheel.xml index 88e47d556..0f3a1c99e 100644 --- a/chapter08/wheel.xml +++ b/chapter08/wheel.xml @@ -42,7 +42,7 @@ Compile Wheel with the following command: -pip3 wheel -w dist --no-build-isolation --no-deps $PWD +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD Install Wheel with the following command: diff --git a/general.ent b/general.ent index a222812e9..0540ac6c2 100644 --- a/general.ent +++ b/general.ent @@ -103,6 +103,7 @@ --> + From eae99efe05983aa27903d9ab24f510e7823692d4 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 3 Sep 2023 00:49:07 +0800 Subject: [PATCH 06/44] changelog: Fix vim version string --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index e5ff7b4b8..3677af3d9 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -49,7 +49,7 @@ BLFS #18466. - [bdubbs] - Update to vim-1837. Addresses + [bdubbs] - Update to vim-9.0.1837. Addresses #4500. From 1a77fa6eddb8db236ec37a0f8c0c7d95f2741d5f Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sat, 2 Sep 2023 19:33:50 +0200 Subject: [PATCH 07/44] Fix zlib download url We may want to use either archive or github. But right now, use directly zlib.net... --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index e93984a98..087deb3a1 100644 --- a/packages.ent +++ b/packages.ent @@ -765,7 +765,7 @@ - + From 815b4a786d2abba6047dac9b164c92a530627aa3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 3 Sep 2023 03:25:07 +0800 Subject: [PATCH 08/44] zlib: Switch to https://zlib.net/fossils See added comment for rationale. I've "diff -Naur"ed extracted zlib-1.3.tar.xz and zlib-1.3.tar.gz and there is no difference. --- packages.ent | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages.ent b/packages.ent index 087deb3a1..92bc3082a 100644 --- a/packages.ent +++ b/packages.ent @@ -764,10 +764,14 @@ - - - - + + + + + From 62a4fea4be6e0aeecea3063ebfd99f71a8c24cb7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 3 Sep 2023 03:30:43 +0800 Subject: [PATCH 09/44] currency: Remove stale lfs-latest.php and symlink lfs-latest-git.php to it It just does not make sense to keep a completely useless script here... --- lfs-latest.php | 482 +------------------------------------------------ 1 file changed, 1 insertion(+), 481 deletions(-) mode change 100644 => 120000 lfs-latest.php diff --git a/lfs-latest.php b/lfs-latest.php deleted file mode 100644 index 3a4df9243..000000000 --- a/lfs-latest.php +++ /dev/null @@ -1,481 +0,0 @@ -#! /usr/bin/php - 80 - list( $major, $minor, $rest ) = explode( ".", $slice . ".0" ); - if ( $minor % 2 == 1 ) continue; - if ( $minor > 80 ) continue; - array_push( $a, $slice ); - } - - rsort( $a, SORT_NATURAL ); // Max version is at the top - return ( isset( $a[0] ) ) ? $a[0] : -2; -} - -function http_get_file( $url ) -{ - if ( ! preg_match( "/sourceforge/", $url ) && - ! preg_match( "/psmisc/", $url ) ) - { - exec( "curl --location --silent --max-time 30 $url", $dir ); - - $s = implode( "\n", $dir ); - $dir = strip_tags( $s ); - return explode( "\n", $dir ); - } - else - { - exec( "links -dump $url 2>/dev/null", $lines ); - return $lines; - } -} - -function max_parent( $dirpath, $prefix ) -{ - // First, remove a directory - $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash - $position = strrpos( $dirpath, "/" ); - $dirpath = substr ( $dirpath, 0, $position ); - - $lines = http_get_file( $dirpath ); - - $regex_match = "#${prefix}[\d\.]+/#"; - $regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#"; - $max = find_max( $lines, $regex_match, $regex_replace ); - - return "$dirpath/$max"; -} - -function get_packages( $package, $dirpath ) -{ - global $exceptions; - global $regex; - -//if ( $package != "psmisc" ) return 0; // Debug - -if ( $package == "bc" ) $dirpath = "https://github.com/gavinhoward/bc/releases"; -if ( $package == "check" ) $dirpath = "https://github.com/libcheck/check/releases"; -if ( $package == "e2fsprogs" ) $dirpath = "http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs"; -if ( $package == "expat" ) $dirpath = "http://sourceforge.net/projects/expat/files"; -if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; -if ( $package == "expect" ) $dirpath = "http://sourceforge.net/projects/expect/files"; -if ( $package == "file" ) $dirpath = "https://github.com/file/file/releases"; -if ( $package == "flex" ) $dirpath = "https://github.com/westes/flex/releases"; -if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); -if ( $package == "iana-etc" ) $dirpath = "https://github.com/Mic92/iana-etc/releases"; -if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk"; -if ( $package == "meson" ) $dirpath = "https://github.com/mesonbuild/meson/releases"; -if ( $package == "mpc" ) $dirpath = "https://ftp.gnu.org/gnu/mpc"; -if ( $package == "mpfr" ) $dirpath = "http://mpfr.loria.fr/mpfr-current"; -if ( $package == "ninja" ) $dirpath = "https://github.com/ninja-build/ninja/releases"; -if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags"; -if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags"; -if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/"; -if ( $package == "shadow" ) $dirpath = "https://github.com/shadow-maint/shadow/releases"; -if ( $package == "systemd" ) $dirpath = "https://github.com/systemd/systemd/releases"; -if ( $package == "tcl" ) $dirpath = "http://sourceforge.net/projects/tcl/files"; -if ( $package == "util-linux" ) $dirpath = max_parent( $dirpath, "v." ); -if ( $package == "vim" ) $dirpath = "https://github.com/vim/vim/releases"; -if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/releases"; -//if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; - - // Check for ftp - if ( preg_match( "/^ftp/", $dirpath ) ) - { - $dirpath = substr( $dirpath, 6 ); // Remove ftp:// - $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash - $position = strpos( $dirpath, "/" ); // Divide at first slash - $server = substr( $dirpath, 0, $position ); - $path = substr( $dirpath, $position ); - - $conn = ftp_connect( $server ); - ftp_login( $conn, "anonymous", "" ); - - // See if we need special handling - if ( isset( $exceptions[ $package ] ) ) - { - $specials = explode( ":", $exceptions[ $package ] ); - - foreach ( $specials as $i ) - { - list( $op, $regexp ) = explode( "=", $i ); - - switch ($op) - { - case "UPDIR": - // Remove last dir from $path - $position = strrpos( $path, "/" ); - $path = substr( $path, 0, $position ); - - // Get dir listing - $lines = ftp_rawlist ($conn, $path); - $max = find_max( $lines, $regexp, $regexp ); - break; - - case "DOWNDIR": - // Append found directory - $path .= "/$max"; - break; - - default: - echo "Error in specials array for $package\n"; - return -5; - break; - } - } - } - - $lines = ftp_rawlist ($conn, $path); - ftp_close( $conn ); - } - else // http - { - // Customize http directories as needed - if ( $package == "tzdata" ) - { - // Remove two directories - $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash - $position = strrpos( $dirpath, "/" ); - $dirpath = substr ( $dirpath, 0, $position ); - $position = strrpos( $dirpath, "/" ); - $dirpath = substr ( $dirpath, 0, $position ); - } - - //if ( $package == "bzip2" ) - //{ - // // Remove one directory - // $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash - // $position = strrpos( $dirpath, "/" ); - // $dirpath = substr ( $dirpath, 0, $position ); - //} - - $lines = http_get_file( $dirpath ); - if ( ! is_array( $lines ) ) return -6; - } // End fetch -//print_r($lines); - if ( isset( $regex[ $package ] ) ) - { - // Custom search for latest package name - foreach ( $lines as $l ) - { - $ver = preg_replace( $regex[ $package ], "$1", $l ); - if ( $ver == $l ) continue; - return $ver; // Return first match of regex - } - - return -7; // This is an error - } - - if ( $package == "perl" ) // Custom for perl - { - $tmp = array(); - - foreach ( $lines as $l ) - { - if ( preg_match( "/sperl/", $l ) ) continue; // Don't want this - $ver = preg_replace( "/^.*perl-([\d\.]+\d)\.tar.*$/", "$1", $l ); - if ( $ver == $l ) continue; - list( $s1, $s2, $rest ) = explode( ".", $ver ); - if ( $s2 % 2 == 1 ) continue; // Remove odd minor versions - array_push( $tmp, $l ); - } - - $lines = $tmp; - } - - if ( $package == "attr" || - $package == "acl" ) - { - return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d).tar.*$/" ); - } - - if ( $package == "e2fsprogs" ) - return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]+\d).*$/" ); - - if ( $package == "expect" ) - return find_max( $lines, "/expect/", "/^.*expect(\d[\d\.]+\d).tar.*$/" ); - - if ( $package == "elfutils" ) - return find_max( $lines, "/^\d/", "/^(\d[\d\.]+\d)\/.*$/" ); - - if ( $package == "XML-Parser" ) - { - $max = find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d).tar.*$/" ); - # 2.44_01 is a developer release - if ( $max == "2.44_01" ) { return "2.44"; } - return $max; - } - - if ( $package == "tcl" ) - return find_max( $lines, "/tcl/", "/^.*tcl(\d[\d\.]*\d)-src.*$/" ); - - if ( $package == "ninja" ) - return find_max( $lines, "/v\d/", "/^.*v(\d[\d\.]*\d).*$/" ); - - if ( $package == "gmp" ) - return find_max( $lines, "/$package/", "/^.*$package-([\d\._]*\d[a-z]?).tar.*$/" ); - - if ( $package == "dbus" ) - return find_even_max( $lines, "/$package/", "/^.*$package-([\d\.]+).tar.*$/" ); - - if ( $package == "file" ) - { - $max = find_max( $lines, "/FILE5/", "/^.*FILE(5_\d+)*$/" ); - return str_replace( "_", ".", $max ); - } - - if ( $package == "procps-ng" ) - return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); - - if ( $package == "psmisc" ) - return find_max( $lines, "/v\d/", "/^.*v([\d\.]+) .*$/" ); - - if ( $package == "grub" ) - return find_max( $lines, "/grub/", "/^.*grub-(\d\..*).tar.xz.*$/" ); - - if ( $package == "openssl" ) - return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" ); - - if ( $package == "vim" ) - return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" ); - - if ( $package == "zstd" ) - return find_max( $lines, "/Zstandard v/", "/^.*v([\d\.]+).*$/" ); - - // Most packages are in the form $package-n.n.n - // Occasionally there are dashes (e.g. 201-1) - return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d)\.tar.*$/" ); -} - -function get_current() -{ - global $dirs; - global $vers; - - // Fetech from svn and get wget-list - $current = array(); - $lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk"; - - $tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" ); - $cdir = getcwd(); - chdir( $tmpdir ); - exec ( "svn --quiet export $lfssvn LFS" ); - chdir( $cdir ); - - $PAGE = "$tmpdir/LFS/BOOK/chapter03/chapter03.xml"; - $STYLESHEET = "$tmpdir/LFS/BOOK/stylesheets/wget-list.xsl"; - - exec( "xsltproc --xinclude --nonet $STYLESHEET $PAGE", $current ); - exec( "rm -rf $tmpdir" ); - - foreach ( $current as $line ) - { - $file = basename( $line ) . "\n"; - if ( preg_match( "/patch$/", $file ) ) { continue; } // Skip patches - - $file = preg_replace( "/bz2/", '', $file ); // The 2 confusses the regex - - $file = rtrim( $file ); - $pkg_pattern = "/(\D*).*/"; - //$pattern = "/\D*(\d.*\d)\D*/"; - $pattern = "/\D*(\d.*\d)\D*/"; - - if ( preg_match( "/e2fsprogs/", $file ) ) - { - $pattern = "/e2\D*(\d.*\d)\D*/"; - $pkg_pattern = "/(e2\D*).*/"; - } - - else if ( preg_match( "/tzdata/", $file ) ) - { - $pattern = "/\D*(\d.*[a-z])\.tar\D*/"; - } - - else if ( preg_match( "/openssl/", $file ) ) - { - $pattern = "/\D*(\d.*\d.*).tar.*$/"; - } - - else if ( preg_match( "/gmp/", $file ) ) - { - $pattern = "/\D*(\d.*[a-z]*)\.tar\D*/"; - } - - else if ( preg_match( "/systemd-man-pages/", $file ) ) continue; - else if ( preg_match( "/python/" , $file ) ) continue; - - $version = preg_replace( $pattern, "$1", $file ); // Isolate version - $version = preg_replace( "/^\d-/", "", $version ); // Remove leading #- - - // Touch up package names - $pkg_name = preg_replace( $pkg_pattern, "$1", $file ); - $pkg_name = trim( $pkg_name, "-" ); - - if ( preg_match( "/bzip|iproute/", $pkg_name ) ) { $pkg_name .= "2"; } - if ( preg_match( "/^m$/" , $pkg_name ) ) { $pkg_name .= "4"; } - if ( preg_match( "/shadow/" , $pkg_name ) ) { $pkg_name = "shadow"; } - - $dirs[ $pkg_name ] = dirname( $line ); - $vers[ $pkg_name ] = $version; - } -} - -function mail_to_lfs() -{ - global $date; - global $vers; - global $dirs; - - //$to = "bruce.dubbs@gmail.com"; - $to = "lfs-book@lists.linuxfromscratch.org"; - $from = "bdubbs@linuxfromscratch.org"; - $subject = "LFS Package Currency Check - $date GMT"; - $headers = "From: bdubbs@anduin.linuxfromscratch.org"; - - $message = "Package LFS Upstream Flag\n\n"; - - foreach ( $dirs as $pkg => $dir ) - { - //if ( $pkg != "gmp" ) continue; //debug - $v = get_packages( $pkg, $dir ); - - $flag = ( $vers[ $pkg ] != $v ) ? "*" : ""; - - // Pad for output - $pad = " "; - $p = substr( $pkg . $pad, 0, 15 ); - $l = substr( $vers[ $pkg ] . $pad, 0, 10 ); - $c = substr( $v . $pad, 0, 10 ); - - $message .= "$p $l $c $flag\n"; - } - - exec ( "echo '$message' | mailx -r $from -s '$subject' $to" ); - //echo $message; -} - -function html() -{ - - global $date; - global $vers; - global $dirs; - - echo " - - -LFS Package Currency Check - $date - - - - -

LFS Package Currency Check

-

As of $date GMT

- - -\n"; - - // Get the latest version of each package - foreach ( $dirs as $pkg => $dir ) - { - $v = get_packages( $pkg, $dir ); - $flag = ( $vers[ $pkg ] != $v ) ? "*" : ""; - echo "\n"; - } - - echo "
LFS Package LFS Version Latest Flag
$pkg ${vers[ $pkg ]} $v $flag
- -\n"; - -} - -get_current(); // Get what is in the book -mail_to_lfs(); -//html(); // Write html output -?> diff --git a/lfs-latest.php b/lfs-latest.php new file mode 120000 index 000000000..f41b1b2b9 --- /dev/null +++ b/lfs-latest.php @@ -0,0 +1 @@ +lfs-latest-git.php \ No newline at end of file From ffecb9ef81622be4dd465e359bea824858514495 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 3 Sep 2023 03:40:13 +0800 Subject: [PATCH 10/44] systemd: Slightly adjust the desc for -Dnobody-group --- chapter08/systemd.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index b5b50e623..761467acd 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -183,8 +183,8 @@ meson setup \ -Dnobody-group=nogroup - Tell the package what group name to use for - the 'nobody-group'. + Tell the package the group name with GID 65534 is + nogroup. From 26c031abf9658f0bb8b0ea335c56b23671f49942 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 4 Sep 2023 17:49:55 +0800 Subject: [PATCH 11/44] dependencies: Add patchutils as check optional dependency The configure script says: configure: WARNING: filterdiff not installed; build will not be reproducible. The filterdiff program is a part of patchutils. --- appendices/dependencies.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 31796da9b..6f03da578 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -437,6 +437,9 @@ libsubunit + and + + patchutils From 1ec60f1daf34b0021d903405899a217e4d214b93 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 4 Sep 2023 15:08:43 -0500 Subject: [PATCH 12/44] Move a caution to a better page. Move caution regarding building by mixing different versions of LFS to General Compilation Instructions. --- chapter01/changelog.xml | 11 +++++++++++ chapter01/whatsnew.xml | 29 +---------------------------- part3intro/generalinstructions.xml | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 28 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 3677af3d9..46215237f 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-04 + + + [bdubbs] - Move caution regarding building by mixing + different version of LFS to General Compilation Instructions. Fixes + #5338. + + + + 2023-09-02 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 0f72bd434..d7c391796 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -11,36 +11,9 @@ What's new since the last release - + + + 2023-09-05 + + + [xry111] - Move pkgconf before binutils for binutils + building system to detect zstd properly. + #5340. + + + + 2023-09-04 diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 3f356d39e..8ab81d2f8 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -29,6 +29,7 @@ + @@ -39,7 +40,6 @@ - diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 9e71f4382..68e0f8da1 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -94,6 +94,7 @@ online_usrlib="libbfd-&binutils-version;.so libm.so.6 libreadline.so.&readline-soversion; libz.so.&zlib-version; + libzstd.so.&zstd-version; $(cd /usr/lib; find libnss*.so* -type f)" for BIN in $online_usrbin; do From 5f36bceaa9d8460764a80306ac0d9586b8d864b7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 5 Sep 2023 18:20:24 +0800 Subject: [PATCH 14/44] Package updates - Update to linux-6.5.1 (#5332) - Update to pkgconf-2.0.3 (#5339) - Update to dbus-1.14.10 (#5337) --- chapter01/changelog.xml | 12 ++++++++++++ packages.ent | 18 +++++++++--------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 29b9dfb19..2debc0c0a 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -48,6 +48,18 @@ building system to detect zstd properly. #5340. + + [xry111] - Update to linux-6.5.1. Fixes + #5332. + + + [xry111] - Update to pkgconf-2.0.3. Fixes + #5339. + + + [xry111] - Update to dbus-1.14.10. Fixes + #5337. + diff --git a/packages.ent b/packages.ent index 92bc3082a..7827212da 100644 --- a/packages.ent +++ b/packages.ent @@ -114,10 +114,10 @@ - - + + - + @@ -432,13 +432,13 @@ - - + + - + - + + + 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 \ From 6ad40199fc99428a8a26b5e53366c6c1086624fa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 7 Sep 2023 20:01:00 +0800 Subject: [PATCH 19/44] 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 @@ - +
From 93f077212ef1a390dfcd092e667e02e46fcb4b16 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 15:52:08 +0800 Subject: [PATCH 20/44] 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 @@ - + From ae802cf97d91b780ca84c757057cfb30fc36a955 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 16:13:37 +0800 Subject: [PATCH 21/44] 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> 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: [PATCH 22/44] 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: From 9f9a9b495005f94f9fd6e0d7e1436e5a8b4916ef Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 8 Sep 2023 21:45:15 +0800 Subject: [PATCH 23/44] 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 From c7df34cbc51739936cf0006ced0024a8ea8436e8 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 03:15:32 +0800 Subject: [PATCH 24/44] 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 From 1f20176cfb95061660c51225336f0c516fad64e0 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Sat, 9 Sep 2023 01:08:20 -0500 Subject: [PATCH 25/44] 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 From 6c51e5ce7b92227de7406efd5e5db131db8163ac Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 14:45:05 +0800 Subject: [PATCH 26/44] 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: From ab31b973c86b400b12d9f88e7087fd15ef693df3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 9 Sep 2023 14:51:24 +0800 Subject: [PATCH 27/44] 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 From cb6fcea9bf179795b704a26f44f9ec6951ae0342 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 10 Sep 2023 15:25:04 +0800 Subject: [PATCH 28/44] 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 From 0627fc2281ad4ef567ae49db6938a5c37bde712f Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 11 Sep 2023 11:26:10 +0200 Subject: [PATCH 29/44] 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 From c5fe6ee346919cc7c33780d7b91350e4bf57b97b Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 11 Sep 2023 13:18:30 +0200 Subject: [PATCH 30/44] 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 From e0a942748e6c2d475cc86ccab752d0f0379d2665 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Tue, 12 Sep 2023 18:54:01 +0200 Subject: [PATCH 31/44] 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 From a9dc9724ae2a954405dd4dbc6a1593f1b469c3dd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 13:46:57 +0800 Subject: [PATCH 32/44] 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" From c858ba4e17a445591520ddcea8b288b8e3d6db42 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 14:08:06 +0800 Subject: [PATCH 33/44] 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" From 48d8f5a51d5dfe58ac6d205fa7430f364225fab2 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 14:31:39 +0800 Subject: [PATCH 34/44] 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: From 80da60f0c070dee52f7add18aea74c0e124ed8f7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 15:39:25 +0800 Subject: [PATCH 35/44] 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 From b91b12adf3d7926f570b900f758e4670de3d4ec1 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 16:07:33 +0800 Subject: [PATCH 36/44] 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 From efd11134bb9bfa33f3c64aee634b2232bee571d3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Sep 2023 14:25:04 +0800 Subject: [PATCH 37/44] Glibc: Fix CVE-2023-4806 --- chapter01/changelog.xml | 20 ++++++++++++++++++++ chapter01/whatsnew.xml | 23 ++++------------------- chapter03/patches.xml | 6 +++--- chapter08/glibc.xml | 18 +++--------------- patches.ent | 6 +++--- 5 files changed, 33 insertions(+), 40 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: + Now fix two security vulnerabilities and a regression causing the + posix_memalign() function 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 +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 @@ - - - + + + From ba40e325667d24c3988ae5c0395c79a7fe73e6ea Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Sep 2023 16:48:46 +0800 Subject: [PATCH 38/44] 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. From d269e20dcba1ea2dfb187b3099a72bf6dfa2611f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 15 Sep 2023 19:27:41 +0800 Subject: [PATCH 39/44] 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 From 808bc9406b6e5ccd33b1611831447a0e4eb28d6b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 19:54:22 +0800 Subject: [PATCH 40/44] 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 From 490a50a520a02768aee11f027de0c6c7837adbbc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 23:45:09 +0800 Subject: [PATCH 41/44] 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 @@ - + - + - + - - + + + From 01332d3b2a039c4bcf808b5389cf41563be5d930 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 18 Sep 2023 10:58:00 -0500 Subject: [PATCH 43/44] 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. --> - + From f510f26b2da527ccd3d3a630cff37a95dba2b442 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 19 Sep 2023 03:56:23 +0800 Subject: [PATCH 44/44] /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