From 109afb297c1f15f2c6ccb33af74a486e3f7a8aa1 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 23 Feb 2024 03:33:14 +0800 Subject: [PATCH 01/96] dependencies: Kbd can use Linux-PAM The book already mentions the vlock program needs PAM to be built, but in dependencies page we say Kbd has no external optional dependencies. This is obviously incorrect... --- appendices/dependencies.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 158ed0f04..2fb197ffa 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1566,7 +1566,9 @@ &external; - None + + Linux-PAM + From 3827fcf6e2e7c5ae7303e8a2c3af8f4b3b813874 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 23 Feb 2024 23:47:06 +0800 Subject: [PATCH 02/96] vim: Set TERM=xterm-256color for test I spent some time investigating the difference of vim test results from different editors. It turns out the value of TERM can affect the test results in a deterministic way: when TERM=xterm-256color all tests pass, when TERM=linux one test fails, and when TERM=vt100 20+ tests fail. As we are redirecting the output to a file, the actual type of the terminal does not matter and we can just specify a value known to work. --- chapter08/vim.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 030c50442..0a1af29be 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -71,10 +71,13 @@ Now run the tests as user tester: -su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log +su tester -c "TERM=xterm-256color LANG=en_US.UTF-8 make -j1 test" \ + &> vim-test.log The test suite outputs a lot of binary data to the screen. This can - cause issues with the settings of the current terminal. The problem can be + cause issues with the settings of the current terminal (especially while + we are overriding the TERM variable to satisify some + assumptions of the test suite). The problem can be avoided by redirecting the output to a log file as shown above. A successful test will result in the words "ALL DONE" in the log file at completion. From bd003a8a8c6bd262b5f00ebea8387ebc4cc2657b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 24 Feb 2024 13:15:49 +0800 Subject: [PATCH 03/96] glibc: Correctly mark revision='systemd' for a paragraph in update note --- chapter08/glibc.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 10fccb3a9..486164cf9 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -258,7 +258,7 @@ esac rm -f /usr/sbin/nscd - + If this system (prior to LFS 12.1, exclusive) is based on Systemd, it's also needed to disable and stop the nscd service now: From 4aa6831f14175db6e3792cf84bb992fcfde832bd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 24 Feb 2024 13:24:20 +0800 Subject: [PATCH 04/96] glibc: Don't "overwrite" libcrypt.so.1* when updating As we've already concluded, overwriting a shared object can crash running processes using code or data from this shared object. For example if gdm is crashed, we may leave the system unusable :(. --- chapter08/glibc.xml | 2 +- chapter08/libxcrypt.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 486164cf9..49eeceb1c 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -240,7 +240,7 @@ esac you MUST follow the note in Libxcrypt section to install libcrypt.so.1* - (overwritting + (replacing libcrypt.so.1 from the prior Glibc installation). diff --git a/chapter08/libxcrypt.xml b/chapter08/libxcrypt.xml index 7c6cc15ba..fb4c4adaa 100644 --- a/chapter08/libxcrypt.xml +++ b/chapter08/libxcrypt.xml @@ -110,7 +110,7 @@ --disable-static \ --disable-failure-tokens make -cp -av .libs/libcrypt.so.1* /usr/lib +cp -av --remove-destination .libs/libcrypt.so.1* /usr/lib From 64be5a4bfa0cde2defacc744d2f137edbea64c12 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 25 Feb 2024 00:53:31 +0800 Subject: [PATCH 05/96] dependencies: Gettext may use system libunistring When system libunistring is not installed (for eg building LFS), a shipped copy of libunistring is used. --- appendices/dependencies.xml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 2fb197ffa..d3fd94707 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1047,7 +1047,15 @@ &external; - libxml2 + + + libunistring + + and + + libxml2 + + From 141a1fa181f9f5526bfb5d2129c319d31baf2698 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 26 Feb 2024 14:52:49 +0800 Subject: [PATCH 06/96] vim: Minor decoration --- chapter08/vim.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 0a1af29be..88322132e 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -79,8 +79,8 @@ we are overriding the TERM variable to satisify some assumptions of the test suite). The problem can be avoided by redirecting the output to a log file as shown above. A - successful test will result in the words "ALL DONE" in the log file - at completion. + successful test will result in the words ALL + DONE in the log file at completion. Install the package: From 64ef2e93db6afd606da03af486b2354d77bdf34c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 27 Feb 2024 00:40:57 +0800 Subject: [PATCH 07/96] coreutils: Comment out test-getlogin failure It seems fixed by the upstream. (Well, they'd claimed this "fixed" in 2014 but we were still seeing this failure in ten years. However let me trust the upstream once again...) Link: https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00079.html --- chapter08/coreutils.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 655e0dd66..94c276360 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -129,8 +129,14 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ + understand it! The test-getlogin test may fail in the LFS chroot environment. + 20240226: Commented out as it seems the upstream has root-caused and + fixed the issue. I've checked the fix is in Coreutils 9.4 release + tarball: + + https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00079.html +--> Remove the temporary group: From ed38e9d2cfd1c73d5dbb9ad5da63728412229718 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 27 Feb 2024 01:29:23 +0800 Subject: [PATCH 08/96] procps: Be more specific about the known ps test failure --- chapter08/procps.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 5f3e5c6e6..9b014face 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -74,7 +74,10 @@ make check - One test in the "ps" tests is known to fail. + One test named + ps with output flag bsdtime,cputime,etime,etimes + is known to fail if the host kernel is not built with + CONFIG_BSD_PROCESS_ACCT enabled. Install the package: From 74f9697fdd649307ecd89ae99a7189e5fc387583 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 27 Feb 2024 17:43:47 +0800 Subject: [PATCH 09/96] changelog: Mark procps-4.0.4 as a security fix It contains a fix for CVE-2023-4016, rated low and only affecting 32-bit systems. --- chapter01/changelog.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 43423619c..72ef95ea8 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -697,7 +697,8 @@ #5330. - [bdubbs] - Update to procps-ng-4.0.4. Fixes + [bdubbs] - Update to procps-ng-4.0.4 (security fix + for 32-bit systems). Fixes #5335. From 4e486a2efc09142cc3b56d34e8254b729651e062 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 20 Feb 2024 14:54:50 -0600 Subject: [PATCH 10/96] Typo (cherry picked from commit 0c06e1e04885602e3eda558edb6ea1b6885cf277) --- chapter10/kernel.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index cf0b30f35..6eafeaf27 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -87,7 +87,7 @@ un-tarring. There are several ways to configure the kernel options. Usually, - This is done through a menu-driven interface, for example: + this is done through a menu-driven interface, for example: make menuconfig From 283f7119a0d5cc3c433159b3dbcdb8d9ab5c3e99 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 18 Feb 2024 13:44:30 -0600 Subject: [PATCH 11/96] Typos (cherry picked from commit a2808be815801c0b3bb2d7c1919b1623bb19c12e) --- appendices/dependencies.xml | 2 +- chapter08/glibc.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index d3fd94707..9d92de448 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -2480,7 +2480,7 @@ &testsuites; - Iana-Etc, Less. and Procps-ng + Iana-Etc, Less, and Procps-ng diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 49eeceb1c..39923c03b 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -535,7 +535,7 @@ unset ZONEINFO zic ... -p ... This creates the posixrules file. We use - New York because POSIX requires the daylight savings time rules + New York because POSIX requires the daylight saving time rules to be in accordance with US rules. From 23f436750e4bf87e802b9b6015197db4ec2561cc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 27 Feb 2024 20:53:38 +0800 Subject: [PATCH 12/96] procps: Add "-k" for make check and document two additional failures --- chapter08/procps.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 9b014face..3f229c713 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -72,12 +72,20 @@ To run the test suite, run: -make check +make -k check One test named ps with output flag bsdtime,cputime,etime,etimes is known to fail if the host kernel is not built with - CONFIG_BSD_PROCESS_ACCT enabled. + CONFIG_BSD_PROCESS_ACCT enabled. + + Two tests named + pmap X with unreachable process and + pmap XX with unreachable process are known to + fail occasionally. Install the package: From cf6fe33ceed1b98cda11a90d2e3a8a45ed47dc92 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 27 Feb 2024 12:05:21 -0600 Subject: [PATCH 13/96] Fix some external URLs --- chapter09/networkd.xml | 10 +++++----- packages.ent | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml index 6c2935de1..9d6f9d549 100644 --- a/chapter09/networkd.xml +++ b/chapter09/networkd.xml @@ -50,11 +50,11 @@ .netdev and .network files. For detailed descriptions and example contents of these configuration files, consult - the systemd-link(5), - systemd-netdev(5), - and systemd-network(5) manual - pages. + the + systemd.link.5, + systemd.netdev.5, and + systemd.network.5 + manual pages. Network Device Naming diff --git a/packages.ent b/packages.ent index b085c0c5e..a17fd6871 100644 --- a/packages.ent +++ b/packages.ent @@ -583,7 +583,7 @@ - + From 95753824898bfad50cb0c4d0e99a5a4a63d39154 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 27 Feb 2024 12:29:43 -0600 Subject: [PATCH 14/96] Minor text changes --- chapter09/networkd.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml index 9d6f9d549..eb348ec1e 100644 --- a/chapter09/networkd.xml +++ b/chapter09/networkd.xml @@ -51,9 +51,9 @@ .network files. For detailed descriptions and example contents of these configuration files, consult the - systemd.link.5, - systemd.netdev.5, and - systemd.network.5 + systemd.link(5), + systemd.netdev(5), and + systemd.network(5) manual pages. From d91a836a7893846c9d1ad15358f7757f3441fea0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 28 Feb 2024 19:04:59 +0800 Subject: [PATCH 15/96] packages: Fix a typo Reported-by: Vladimir Pertsev --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index a17fd6871..28a3140ce 100644 --- a/packages.ent +++ b/packages.ent @@ -112,7 +112,7 @@ - + From b570133fecd04d6a835c81816b95316225a7f77d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 29 Feb 2024 09:27:04 -0600 Subject: [PATCH 16/96] Update changelog and whatsnew fo r12.1 --- chapter01/changelog.xml | 696 +--------------------------------------- chapter01/whatsnew.xml | 28 -- 2 files changed, 2 insertions(+), 722 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 72ef95ea8..5a29d104f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,702 +41,10 @@ --> - 2024-02-14 + 2024-03-01 - [bdubbs] - Update to meson-1.3.2. Fixes - #5442. - - - - - - 2024-02-12 - - - [bdubbs] - Update to shadow-4.14.5. Fixes - #5437. - - - [bdubbs] - Update to setuptools-69.1.0 (Python module). Fixes - #5439. - - - [bdubbs] - Update to python-3.12.2. Fixes - #5434. - - - [bdubbs] - Update to pkgconf-2.1.1. Fixes - #5432. - - - [bdubbs] - Update to MarkupSafe-2.1.5 (Python module). Fixes - #5431. - - - [bdubbs] - Update to man-pages-6.06. Fixes - #5438. - - - [bdubbs] - Update to expat-2.6.0. Fixes - #5435. - - - [bdubbs] - Update to linux-6.7.4. Fixes - #5433. - - - - - - 2024-02-10 - - - [xry111] - Fix a bug in systemd breaking running - systemd-analyze on an instantiated systemd unit. - - - - - - 2024-02-02 - - - [xry111] - Update to tzdata-2024a. Fixes - #5428. - - - [xry111] - Update to glibc-2.39 (security fix). Fixes - #5426. - - - [xry111] - Update to linux-6.7.3. Fixes - #5427. - - - - - - 2024-02-01 - - - [bdubbs] - Update to openssl-3.2.1 (security fix). Fixes - #5425. - - - [bdubbs] - Update to zlib-1.3.1. Fixes - #5419. - - - [bdubbs] - Update to xz-5.4.6. Fixes - #5423. - - - [bdubbs] - Update to linux-6.7.2. Fixes - #5422. - - - [bdubbs] - Update to iana-etc-20240125. Addresses - #5006. - - - [bdubbs] - Update to binutils-2.42. Fixes - #5424. - - - [bdubbs] - Update to acl-2.3.2. Fixes - #5421. - - - [bdubbs] - Update upstream fixes for readline-8.2. Fixes - #5420. - - - [bdubbs] - Apply upstream fix for bash-5.2.21. Fixes - #5420. - - - - - - 2024-01-21 - - - [xry111] - Apply upstream fix for pkgconf-2.1.0 regression. - Fixes #5414. - - - [xry111] - Update to jinja2-3.1.3 (security fix). Fixes - #5411. - - - [xry111] - Update to bc-6.7.5. Fixes - #5408. - - - [xry111] - Update to attr-2.5.2. Fixes - #5412. - - - [xry111] - Update to ncurses-6.4-20230520 (security fix). - Fixes #5416. - - - [xry111] - Update to markupsafe-2.1.4. Fixes - #5418. - - - [xry111] - Update to linux-6.7.1. Fixes - #5406. - - - [xry111] - Update to iproute2-6.7.0. Fixes - #5410. - - - [xry111] - Update to vim-9.1.0041. Addresses - #4500. - - - [xry111] - Update to iana-etc-20240117. Addresses - #5006. - - - [xry111] - Update to shadow-4.14.3. Fixes - #5413. - - - [xry111] - Fix CVE-2024-0684 for coreutils-9.4. Fixes - #5417. - - - - - - 2024-01-18 - - - [xry111] - Edit a ncurses header to always use the - wide-character ABI compatible with libncursesw.so because we - are faking the 8-bit libncurses.so with it. Fixes - #5415. - - - - - - 2024-01-09 - - - [renodr] - Fix the definition of the C.UTF-8 locale. Fixes - #5409. - - - - - - 2023-12-31 - - - [xry111] - Add --enable-default-hash-style=gnu configuring - binutils. Fixes - #5401. - - - [xry111] - Fix CVE-2023-7008 for systemd-255. Fixes - #5405. - - - [xry111] - Update to iana-etc-20231205. Addresses - #5006. - - - [xry111] - Update to tzdata-2023d. Fixes - #5399. - - - [xry111] - Update to linux-6.6.8. Fixes - #5397. - - - [xry111] - Update to meson-1.3.1. Fixes - #5402. - - - [xry111] - Update to grub-2.12. Fixes - #5396. - - - [xry111] - Update to inetutils-2.5. Fixes - #5404. - - - [xry111] - Update to setuptools-69.0.3. Fixes - #5400. - - - [xry111] - Update to xml-parser-2.47. Fixes - #5403. - - - [xry111] - Update to vim-9.0.2189. Addresses - #4500. - - - [xry111] - Update to autoconf-2.72. Fixes - #5398. - - - - - - 2023-12-16 - - - [xry111] - Update to udev - from systemd-255. Fixes - #5390. - - - - - - 2023-12-14 - - - [bdubbs] - Update to util-linux v2.39.3. Fixes - #5388. - - - [bdubbs] - Update to python3-3.12.1. Fixes - #5392. - - - [bdubbs] - Update to linux-6.6.7. Fixes - #5387. - - - [bdubbs] - Update to kbd-2.6.4. Fixes - #5393. - - - [bdubbs] - Update to bc-6.7.4. Fixes - #5389. - - - [bdubbs] - Reformat util-linux configure parameters. Fixes - #5395. - - - - - - 2023-12-04 - - - [thomas] - Modify commands for install Python docs to avoid - too restrictive permissions on the files and dirs. - - - - - - 2023-12-01 - - - [xry111] - Restore NIC naming based on physical system - characteristics. Fixes - #5386. - - - - - - 2023-11-30 - - - [bdubbs] - Update to vim-9.0.2136. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20231117. Addresses - #5006. - - - [bdubbs] - Update to bc-6.7.3. Fixes - #5385. - - - [bdubbs] - Update to wheel-0.42.0 (Python Module). Fixes - #5384. - - - [bdubbs] - Update to perl-5.38.2. Fixes - #5383. - - - [bdubbs] - Update to pkgconf-2.1.0. Fixes - #5382. - - - [bdubbs] - Update to readline patches 002 through 007. Fixes - #5381. - - - [bdubbs] - Update to openssl-3.2.0. Fixes - #5380. - - - [bdubbs] - Update to setuptools-69.0.2. Fixes - #5379. - - - [bdubbs] - Update to linux-6.6.3. Fixes - #5378. - - - [bdubbs] - Update to meson-1.3.0. Fixes - #5377. - - - [bdubbs] - Update to gettext-0.22.4. Fixes - #5376. - - - - - - 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 - - - [bdubbs] - Update to iana-etc-20231019. Addresses - #5006. - - - [bdubbs] - Update to wheel-0.41.3. Fixes - #5370. - - - [bdubbs] - Update to shadow-4.14.2. Fixes - #5368. - - - [bdubbs] - Update to openssl-3.1.4. Fixes - #5367. - - - [bdubbs] - Update to texinfo-7.1. Fixes - #5364. - - - [bdubbs] - Update to meson-1.2.3. Fixes - #5366. - - - [bdubbs] - Update to bc-6.7.2. Fixes - #5363. - - - [bdubbs] - Update to linux-6.5.9. Fixes - #5365. - - - [bdubbs] - Update to Python-3.12.0. Fixes - #5357. - - - [bdubbs] - Add setuptools-68.2.2. Fixes - #5358. - - - - - - 2023-10-15 - - - [bdubbs] - Update to linux-6.5.7. Fixes - #5362. - - - [bdubbs] - Update to shadow-4.14.1. Fixes - #5361. - - - [bdubbs] - Update to gettext-0.22.3. Fixes - #5359. - - - - - - 2023-10-03 - - - [xry111] - Update Glibc upstream fixes patch to fix - CVE-2023-4911. - - - - - - 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 - - - [xry111] - Update Glibc upstream fixes patch to plug a - memory leak introduced by the security fix. - - - - - - 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 - - - [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 - - - [xry111] - Fix an issue in pkgconf-2.0.3 causing - BLFS packages fail to build. Fixes - #5341. - - - - - - 2023-09-05 - - - [xry111] - Move pkgconf before binutils for binutils - building system to detect zstd properly. Fixes - #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. - - - - - - 2023-09-04 - - - [bdubbs] - Move caution regarding building by mixing - different version of LFS to General Compilation Instructions. Fixes - #5338. - - - - - - 2023-09-02 - - - [xry111] - Add --no-cache-dir option for pip3 wheel - commands. Addresses - BLFS #18466. - - - [bdubbs] - Update to vim-9.0.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 (security fix - for 32-bit systems). 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 - - - [bdubbs] - LFS-12.0 released. + [bdubbs] - LFS-12.1 released. diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index d1cc11706..b98cd66a3 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -290,40 +290,12 @@ Added: - - &bash-upstream-fixes-patch; - - - - &readline-fixes-patch; - - - - setuptools-&setuptools-version; - - - - &systemd-upstream-patch; - - Removed: - - glibc-2.38-memalign_fix-1.patch - - - - grub-2.06-upstream_fixes-1.patch - - - - readline-8.2-upstream_fix-1.patch - - From 887bf34f49879964ae9614cef6ecd0f94c222cae Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 1 Mar 2024 23:44:17 +0800 Subject: [PATCH 17/96] glibc: Make the command enumerating timed out tests remap="test" So if a test times out, it will be noted in jhalfs log. Also remove "-l" so the output will be something like ./nptl/tst-thread-affinity-pthread: Timed out ... instead of just a puzzling "./nptl/tst-thread-affinity-pthread". --- chapter08/glibc.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 39923c03b..6d1be66ae 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -171,9 +171,7 @@ esac relatively slow and/or running the test suite with multiple parallel make jobs). These tests can be identified with: - - grep "Timed out" -l $(find -name \*.out) + grep "Timed out" $(find -name \*.out) It's possible to re-run a single test with enlarged timeout with From c2d820a7703efd2052e1d59894a913d9491e92a0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 1 Mar 2024 23:48:58 +0800 Subject: [PATCH 18/96] procps: Run test as tester --- chapter08/procps.xml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 3f229c713..b592f75c2 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -70,22 +70,17 @@ make make src_w_LDADD='$(LDADD) -lsystemd' - To run the test suite, run: + + To run the test suite, run: -make -k check +su tester -c "PATH=$PATH make check" One test named ps with output flag bsdtime,cputime,etime,etimes is known to fail if the host kernel is not built with - CONFIG_BSD_PROCESS_ACCT enabled. - - Two tests named - pmap X with unreachable process and - pmap XX with unreachable process are known to - fail occasionally. + CONFIG_BSD_PROCESS_ACCT enabled. Install the package: From 2001f5cd7ef8ff791cedfe61974e9ea343b9bd47 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Mar 2024 00:03:28 +0800 Subject: [PATCH 19/96] coreutils: Redirect stdin for test suite to prevent two failures The tests affected are test-getlogin and test/tty/tty.sh. We need an errata for 12.1. --- chapter08/coreutils.xml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 94c276360..68ff3b356 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -123,20 +123,18 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ chown -R tester . - Now run the tests: + + Now run the tests (using /dev/null for the + standard input, or two tests may be broken if building LFS in a + graphical terminal or a session in SSH or GNU Screen etc. because the + standard input is connected to a PTY from host distro, and the device + node for such a PTY cannot be accessed from the LFS chroot + environment): -su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" - - +su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" < /dev/null Remove the temporary group: From a56a4fcd9c2e07dbddd1ef6270d7fbe0139ed9aa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Mar 2024 15:50:21 +0800 Subject: [PATCH 20/96] procps: Run chown -R tester . before running the test as tester I completely forgot this yesterday :(. --- chapter08/procps.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter08/procps.xml b/chapter08/procps.xml index b592f75c2..8a4716ade 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -75,7 +75,8 @@ internal hazards with some "luck" though. --> To run the test suite, run: -su tester -c "PATH=$PATH make check" +chown -R tester . +su tester -c "PATH=$PATH make check" One test named ps with output flag bsdtime,cputime,etime,etimes From 0fd7f40bc796ec615fd2b26ee5e36320f6945f61 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 2 Mar 2024 17:37:09 +0800 Subject: [PATCH 21/96] kernel: No longer disable CONFIG_AUDIT for systemd The incompatibilty between systemd and CONFIG_AUDIT has been fixed since Linux kernel 3.14, thus there is no reason to disable it on LFS. And we are referring to pam_loginuid.so from /etc/pam.d in BLFS, which is completely useless if CONFIG_AUDIT is disabled. Link: https://github.com/systemd/systemd/commit/db999e0f923c --- chapter10/kernel/kernel.version | 2 +- chapter10/kernel/systemd.toml | 1 - chapter10/kernel/systemd.xml | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version index 06a765991..29310f454 100644 --- a/chapter10/kernel/kernel.version +++ b/chapter10/kernel/kernel.version @@ -1 +1 @@ -6.7.1 +6.7.4 diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml index dae4a4049..b930e01a6 100644 --- a/chapter10/kernel/systemd.toml +++ b/chapter10/kernel/systemd.toml @@ -14,7 +14,6 @@ UEVENT_HELPER=' ' DEVTMPFS='*' DEVTMPFS_MOUNT='*' DRM=' *M' -AUDIT=' ' NET='*' INET='*' IPV6='*' diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml index 5ed373790..b21d7d183 100644 --- a/chapter10/kernel/systemd.xml +++ b/chapter10/kernel/systemd.xml @@ -5,7 +5,6 @@ DO NOT EDIT! --> General setup ---> [ ] Compile the kernel with warnings as errors [WERROR] - [ ] Auditing support [AUDIT] CPU/Task time and stats accounting ---> [*] Pressure stall information tracking [PSI] [ ] Require boot parameter to enable pressure stall information tracking From 0566a056ba6c9c211b2810bfa648fd5f74a74182 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 2 Mar 2024 09:15:52 -0600 Subject: [PATCH 22/96] Package updates. Update to iana-etc-20240222. Update to vim-9.1.0145. Update to xz-5.6.0. Update to tcl-8.6.14. Update to shadow-4.14.6. Update to setuptools-69.1.1. Update to linux-6.7.7. Update to libffi-3.4.6. Update to gettext-0.22.5. Update to expat-2.6.1. --- chapter01/changelog.xml | 46 ++++++++++++ chapter01/whatsnew.xml | 154 ++++++++++++++++++++-------------------- chapter08/tcl.xml | 4 +- packages.ent | 58 +++++++-------- 4 files changed, 154 insertions(+), 108 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 5a29d104f..c60e48ee0 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,52 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-03-02 + + + [bdubbs] - Update to iana-etc-20240222. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.0145. Addresses + #4500. + + + [bdubbs] - Update to xz-5.6.0. Fixes + #5447. + + + [bdubbs] - Update to tcl-8.6.14. Fixes + #5448. + + + [bdubbs] - Update to shadow-4.14.6. Fixes + #5450. + + + [bdubbs] - Update to setuptools-69.1.1. Fixes + #5446. + + + [bdubbs] - Update to linux-6.7.7. Fixes + #5444. + + + [bdubbs] - Update to libffi-3.4.6. Fixes + #5443. + + + [bdubbs] - Update to gettext-0.22.5. Fixes + #5445. + + + [bdubbs] - Update to expat-2.6.1. Fixes + #5449. + + + + 2024-03-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index b98cd66a3..f45c5a2c7 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -26,27 +26,27 @@ - + + + - + + + @@ -56,15 +56,15 @@ - + - + @@ -89,9 +89,9 @@ - + @@ -101,9 +101,9 @@ Gettext-&gettext-version; - + @@ -116,33 +116,33 @@ - + + Iana-Etc-&iana-etc-version; - + - + + + + @@ -152,12 +152,12 @@ - - Libelf from Elfutils-&elfutils-version; - + + Libffi-&libffi-version; + @@ -173,58 +173,58 @@ - + + + + - + + - + - + + + - + - + Setuptools-&setuptools-version; @@ -236,42 +236,42 @@ - + - - + + + - + Vim-&vim-version; - + + Xz-&xz-version; - + diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index 8a7884804..fd920e2c9 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -3,8 +3,8 @@ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ %general-entities; - - + + ]> diff --git a/packages.ent b/packages.ent index 28a3140ce..5017a8bf4 100644 --- a/packages.ent +++ b/packages.ent @@ -156,10 +156,10 @@ - + - + @@ -245,10 +245,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -397,10 +397,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - + - + @@ -765,10 +765,10 @@ - - + + - + From c301941b9aee83ec158a13658715ba4b3ca1d160 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Sat, 2 Mar 2024 15:02:00 -0600 Subject: [PATCH 23/96] vim: typo fix from rhubarbpieguy --- chapter08/vim.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 88322132e..2ed5cf238 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -76,7 +76,7 @@ The test suite outputs a lot of binary data to the screen. This can cause issues with the settings of the current terminal (especially while - we are overriding the TERM variable to satisify some + we are overriding the TERM variable to satisfy some assumptions of the test suite). The problem can be avoided by redirecting the output to a log file as shown above. A successful test will result in the words ALL From 37823511a60550b48f1e30f4c112d952166f4144 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Mon, 4 Mar 2024 17:30:22 +0100 Subject: [PATCH 24/96] Fix rendering of non-chunked output Thanks to Vladimir Pertsev for the patch --- stylesheets/lfs-xsl/nochunks.xsl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/stylesheets/lfs-xsl/nochunks.xsl b/stylesheets/lfs-xsl/nochunks.xsl index 896449d7c..d5afb4473 100644 --- a/stylesheets/lfs-xsl/nochunks.xsl +++ b/stylesheets/lfs-xsl/nochunks.xsl @@ -123,7 +123,7 @@ a:active { color: #6b77b1 ! important;} padding: 0 1em; } -.book h1, .book .authorgroup, .book .copyright, .book .legalnotice .revhistory { +/*.book h1,*/ .book .authorgroup, .book .copyright, .book .legalnotice .revhistory { background: #f5f6f7; margin: 0px auto; padding: .1em 1em; @@ -188,6 +188,10 @@ h1 { .book h1 { margin: 0; padding: 0.4em; + background: #f5f6f7; + border-top: .2em solid #dbddec; + border-bottom: .2em solid #dbddec; + text-align: center; } h1.title sup { @@ -198,7 +202,7 @@ h2 { font-size: 144%; } -.preface h2, .part h1, .chapter h2, .appendix h2, .index h1, .sect1 h2 { +.preface h2, .part h1, .chapter h2, .appendix h2, .index h1, .sect1 h2, .part h2 { background: #f5f6f7; border-top: .2em solid #dbddec; border-bottom: .2em solid #dbddec; From eb7223e8047505a2c7ef8c6d79bb5bbefbb61ed3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 12 Mar 2024 18:50:42 +0800 Subject: [PATCH 25/96] shadow: Add an for using BLFS instruction if PAM installed --- chapter08/shadow.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index 89678b3f4..8fb11e138 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -41,6 +41,15 @@ Installation of Shadow + + + If you've installed Linux-PAM, you should follow + the BLFS shadow + page instead of this page to build (or, rebuild or upgrade) + Shadow. + + + If you would like to enforce the use of strong passwords, refer to for installing From dcf5543233a7cda1ee3443542748153da4626df3 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 14 Mar 2024 09:36:53 -0500 Subject: [PATCH 26/96] Package updates. Update to wheel-0.43.0. Update to setuptools-69.2.0 (Python module). Update to meson-1.4.0. Update to expat-2.6.2 (Security fix). Update to iana-etc-20240305. Update to vim-9.1.0161. Update to xz-5.6.1. Update to shadow-4.15.0. Update to psmisc-23.7. Update to kmod-32. Update to elfutils-0.191. --- chapter01/changelog.xml | 50 +++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 20 ++++++------- chapter08/kmod.xml | 1 + packages.ent | 62 ++++++++++++++++++++--------------------- 4 files changed, 92 insertions(+), 41 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index c60e48ee0..7caece337 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. --> + + 2024-03-15 + + + [bdubbs] - Update to wheel-0.43.0. Fixes + #5459. + + + [bdubbs] - Update to setuptools-69.2.0 (Python module). Fixes + #5462. + + + [bdubbs] - Update to meson-1.4.0. Fixes + #5460. + + + [bdubbs] - Update to expat-2.6.2 (Security fix). Fixes + #5461. + + + [bdubbs] - Update to iana-etc-20240305. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.0161. Addresses + #4500. + + + [bdubbs] - Update to xz-5.6.1. Fixes + #5457. + + + [bdubbs] - Update to shadow-4.15.0. Fixes + #5456. + + + [bdubbs] - Update to psmisc-23.7. Fixes + #5454. + + + [bdubbs] - Update to kmod-32. Fixes + #5455. + + + [bdubbs] - Update to elfutils-0.191. Fixes + #5451. + + + + 2024-03-02 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index f45c5a2c7..293478eae 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -140,9 +140,9 @@ - + @@ -152,9 +152,9 @@ - + Libffi-&libffi-version; @@ -182,9 +182,9 @@ - + @@ -212,9 +212,9 @@ - + @@ -260,9 +260,9 @@ Vim-&vim-version; - + diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index 9a16da3f0..4b194ea13 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -92,6 +92,7 @@ for target in depmod insmod modinfo modprobe rmmod; do ln -sfv ../bin/kmod /usr/sbin/$target + rm -fv /usr/bin/$target done ln -sfv kmod /usr/bin/lsmod diff --git a/packages.ent b/packages.ent index 5017a8bf4..815b57ca5 100644 --- a/packages.ent +++ b/packages.ent @@ -148,18 +148,18 @@ - - + + - + - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -365,10 +365,10 @@ - - + + - + @@ -494,10 +494,10 @@ - - + + - + @@ -587,10 +587,10 @@ - - + + - + @@ -631,18 +631,18 @@ - - + + - + - - + + - + @@ -738,21 +738,21 @@ - + - + - + - + - + @@ -765,10 +765,10 @@ - - + + - + From e7231421fde669663d88722bb8fcba2a1e0bb10c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Mar 2024 22:53:21 +0800 Subject: [PATCH 27/96] kmod: Remove an unnecessary command and adjust the description /usr/bin/lsmod is already created by the building system. --- chapter08/kmod.xml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index 4b194ea13..6f30185d2 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -84,18 +84,19 @@ (not the sanitized kernel headers installed earlier), which are beyond the scope of LFS. - Install the package and create symlinks for + Install the package and recreate some symlinks for compatibility with Module-Init-Tools (the package that previously handled - Linux kernel modules): + Linux kernel modules) in + /usr/sbin instead of + /usr/bin (where the building + system will create these symlinks): make install for target in depmod insmod modinfo modprobe rmmod; do ln -sfv ../bin/kmod /usr/sbin/$target rm -fv /usr/bin/$target -done - -ln -sfv kmod /usr/bin/lsmod +done From 98bdf39b6c4dad570b06ee5697bd1615ac7bac99 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Mar 2024 22:59:27 +0800 Subject: [PATCH 28/96] shadow: Capitalization adjustment --- chapter08/shadow.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index 8fb11e138..315e3cc5e 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -46,7 +46,7 @@ If you've installed Linux-PAM, you should follow the BLFS shadow page instead of this page to build (or, rebuild or upgrade) - Shadow. + shadow. From 68215a4ed77a35f07aebda70d7ea3a045e772c17 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Mar 2024 23:01:43 +0800 Subject: [PATCH 29/96] kmod: Emphasis that we don't want --- chapter08/kmod.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index 6f30185d2..459a2d5d9 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -89,7 +89,7 @@ Linux kernel modules) in /usr/sbin instead of /usr/bin (where the building - system will create these symlinks): + system will create these symlinks but we don't want them there): make install From e2d3b4b0bc1db527317b617f2919c694dce7e47c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 14 Mar 2024 23:04:38 +0800 Subject: [PATCH 30/96] kmod: Use a more natural expression for symlink location issue --- chapter08/kmod.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index 459a2d5d9..6c875caed 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -86,10 +86,10 @@ Install the package and recreate some symlinks for compatibility with Module-Init-Tools (the package that previously handled - Linux kernel modules) in - /usr/sbin instead of - /usr/bin (where the building - system will create these symlinks but we don't want them there): + Linux kernel modules). The building system will create all these + symlinks in /usr/bin, but we + only want lsmod there and all other symlinks in + /usr/sbin instead: make install From e31b6c53cb6abb0cac68da485dcfd56052c88c1c Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 19 Mar 2024 10:14:02 -0500 Subject: [PATCH 31/96] Fix Python currency --- lfs-latest-git.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index c2414789a..30d960b8e 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -15,7 +15,7 @@ $regex = array(); $regex[ 'intltool' ] = "/^.*Latest version is (\d[\d\.]+\d).*$/"; $regex[ 'less' ] = "/^.*current released version is less-(\d+).*$/"; $regex[ 'mpfr' ] = "/^mpfr-([\d\.]+)\.tar.*$/"; -$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/"; +//$regex[ 'Python' ] = "/^.*Latest Python 3.*Python (3[\d\.]+\d).*$/"; //$regex[ 'sysvinit' ] = "/^.*sysvinit-([\d\.]+)dsf\.tar.*$/"; $regex[ 'tzdata' ] = "/^.*tzdata([\d]+[a-z]).*$/"; $regex[ 'xz' ] = "/^.*xz-([\d\.]*\d).*$/"; @@ -314,6 +314,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "openssl" ) return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" ); + if ( $package == "Python" ) + return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\]*\d) .*$/" ); + if ( $package == "vim" ) return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" ); From c5ae777ac2e42c4bb277943e04e12a92757c3399 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 19 Mar 2024 17:56:41 -0500 Subject: [PATCH 32/96] Package updates and a new addition: Update to Linux-6.8.1 Update to iproute2-6.8.0 Add LZ4 to the book --- appendices/dependencies.xml | 45 +++++++++++- chapter01/changelog.xml | 14 ++++ chapter01/whatsnew.xml | 12 ++- chapter03/packages.xml | 9 +++ chapter08/chapter08.xml | 1 + chapter08/lz4.xml | 141 ++++++++++++++++++++++++++++++++++++ packages.ent | 22 ++++-- 7 files changed, 229 insertions(+), 15 deletions(-) create mode 100644 chapter08/lz4.xml diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 9d92de448..7aa76eca7 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1980,6 +1980,44 @@ + + Lz4 + + + &dependencies; + + Bash, Binutils, Coreutils, GCC, Glibc, and Make + + + + + &runtime; + + Glibc + + + + + &testsuites; + + Python + + + + + &before; + + Zstd and Systemd + + + + + &external; + + None + + + M4 @@ -2876,7 +2914,7 @@ &dependencies; Acl, Bash, Binutils, Coreutils, Diffutils, Gawk, - GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Meson, + GCC, Glibc, Gperf, Grep, Jinja2, Libcap, Libxcrypt, Lz4, Meson, OpenSSL, Pkgconf, Sed, Util-linux, and Zstd @@ -2942,7 +2980,6 @@ Linux-PAM, lxml, - LZ4, make-ca, p11-kit, PCRE2, @@ -3426,7 +3463,7 @@ &dependencies; - Binutils, Coreutils, GCC, Glibc, Gzip, Make, Xz, and Zlib + Binutils, Coreutils, GCC, Glibc, Gzip, Lz4, Make, Xz, and Zlib @@ -3455,7 +3492,7 @@ &external; - LZ4 + None diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7caece337..f7c12b29d 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,20 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-03-19 + + + [renodr] - Update to Linux-6.8.1. Fixes + #5453. + + + [renodr] - Added LZ4 to the book. Fixes + #5463. + + + + 2024-03-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 293478eae..c23697854 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -131,9 +131,9 @@ - + @@ -167,6 +167,9 @@ Linux-&linux-version; + @@ -288,8 +291,9 @@ Added: - - + + Lz4-&lz4-version; + diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 1f5b55427..edc5cd611 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -489,6 +489,15 @@ + + Lz4 (&lz4-version;) - &lz4-size;: + + Home page: + Download: + MD5 sum: &lz4-md5; + + + M4 (&m4-version;) - &m4-size;: diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index c3ded2719..43bb6404a 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -19,6 +19,7 @@ + diff --git a/chapter08/lz4.xml b/chapter08/lz4.xml new file mode 100644 index 000000000..993d213e2 --- /dev/null +++ b/chapter08/lz4.xml @@ -0,0 +1,141 @@ + + + %general-entities; +]> + + + + + + Lz4 + &lz4-version; +
&lz4-url;
+
+ + Lz4-&lz4-version; + + + Lz4 + + + + + + <para>Lz4 is a lossless compression algorithm, providing compression speed + greater than 500 MB/s per core. It features an extremely fast decoder, with + speed in multiple GB/s per core. Lz4 can work with Zstandard to allow both + algorithms to compress data faster.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&lz4-fin-sbu;</seg> + <seg>&lz4-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Lz4 + + Compile the package: + +make BUILD_STATIC=no + + To test the results, issue: + + + +make -j1 check + + Install the package: + +make BUILD_STATIC=no PREFIX=/usr install + + + + + Contents of Lz4 + + + Installed programs + Installed library + + + lz4, + lz4c (link to lz4), + lz4cat (link to lz4), and + unlz4 (link to lz4) + + + liblz4.so + + + + + Short Descriptions + + + + + lz4 + + Compresses or decompresses files using the LZ4 format + + lz4 + + + + + + lz4c + + Compresses files using the LZ4 format + + lz4c + + + + + + lz4cat + + Lists the contents of a file compressed using the LZ4 format + + lz4cat + + + + + + unlz4 + + Decompresses files using the LZ4 format + + unlz4 + + + + + + liblz4 + + The library implementing lossless data + compression, using the LZ4 algorithm + + liblz4 + + + + + + + + +
diff --git a/packages.ent b/packages.ent index 815b57ca5..ea4faf4ed 100644 --- a/packages.ent +++ b/packages.ent @@ -341,10 +341,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - +
diff --git a/packages.ent b/packages.ent index ea4faf4ed..408bf6264 100644 --- a/packages.ent +++ b/packages.ent @@ -486,10 +486,10 @@ - - + + - + From 4aa6ea3d1c19ea46952f5ce2f670a5137dea31d3 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 19 Mar 2024 18:07:24 -0500 Subject: [PATCH 34/96] Add forgotten changelog entry for iproute2 --- chapter01/changelog.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b91d7b632..7af0a6b3f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -43,6 +43,10 @@ 2024-03-19 + + [renodr] - Update to iproute2-6.8.0. Fixes + #5458. + [renodr] - Update to man-pages-6.7. Fixes #5464. From 9694f4b6be04c92764140a277b74ce90144a27ce Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Tue, 19 Mar 2024 18:08:24 -0500 Subject: [PATCH 35/96] Add stats for LZ4. --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 408bf6264..f00b02811 100644 --- a/packages.ent +++ b/packages.ent @@ -455,8 +455,8 @@ - - + + From 3d50ab19d09dd3647f8261a3054eaadd75ebcd39 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 20 Mar 2024 15:21:19 +0800 Subject: [PATCH 36/96] changelog: Fix typos --- chapter01/changelog.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7af0a6b3f..2f2fcfa9d 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -45,19 +45,19 @@ [renodr] - Update to iproute2-6.8.0. Fixes - #5458. + #5458. [renodr] - Update to man-pages-6.7. Fixes - #5464. + #5464. [renodr] - Update to Linux-6.8.1. Fixes - #5453. + #5453. [renodr] - Added LZ4 to the book. Fixes - #5463. + #5463. From acaeb102aee13f921d65e61c96a689fd43f9d8f5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 20 Mar 2024 18:30:45 +0800 Subject: [PATCH 37/96] packages: Fix and simplify for vim tags page Vladimir has reported that the link target of this is wrong. Note that the link target and the displayed text should be the same, thus use instead of ... to simplify it. --- chapter03/packages.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapter03/packages.xml b/chapter03/packages.xml index edc5cd611..dbbb43eae 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -822,8 +822,7 @@ The version of vim changes daily. To get the latest version, go to - - https://github.com/vim/vim/tags. + . From c3a956946d0d4849b45f1a39aeb1998ceaff08db Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 20 Mar 2024 09:46:44 -0500 Subject: [PATCH 38/96] Fix currency and cleanup Fix currency for upstream changes for Python psmisc Add currency for lz Remove a lot of old commented code. --- lfs-latest-git.php | 58 ++++++---------------------------------------- 1 file changed, 7 insertions(+), 51 deletions(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 30d960b8e..95abb7c28 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -77,6 +77,7 @@ function http_get_file( $url ) } if ( preg_match( "/sourceforge/", $url ) || + preg_match( "/python/", $url ) || preg_match( "/psmisc/", $url ) ) { exec( "lynx -dump $url 2>/dev/null", $lines ); @@ -134,6 +135,7 @@ if ( $package == "iana-etc" ) $dirpath = github("Mic92/iana-etc"); if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk"; if ( $package == "libffi" ) $dirpath = github("libffi/libffi"); if ( $package == "libxcrypt" ) $dirpath = github("besser82/libxcrypt"); +if ( $package == "lz" ) $dirpath = github("lz4/lz4"); if ( $package == "meson" ) $dirpath = github("mesonbuild/meson"); if ( $package == "mpc" ) $dirpath = "https://ftp.gnu.org/gnu/mpc"; if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current"; @@ -160,53 +162,6 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( preg_match( "/^ftp/", $dirpath ) ) { echo "ftp should not occur\n"; - /* - $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(s) { @@ -303,7 +258,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); if ( $package == "psmisc" ) - return find_max( $lines, "/v\d/", "/^.*v([\d\.]+).tar.*$/" ); + return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); if ( $package == "grub" ) return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" ); @@ -311,11 +266,14 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "Jinja" ) return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" ); + if ( $package == "lz" ) + return find_max( $lines, "/name.:/", '/^.*LZ4 v([\d\.]+)".*$/' ); + if ( $package == "openssl" ) return find_max( $lines, "/openssl/", "/^.*openssl-([\d\.p]*\d.?).tar.*$/" ); if ( $package == "Python" ) - return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\]*\d) .*$/" ); + return find_max( $lines, "/Python 3/", "/^.*Python (3[\d\.]*\d) .*$/" ); if ( $package == "vim" ) return find_max( $lines, "/v\d\./", "/^.*v([\d\.]+).*$/" ); @@ -335,7 +293,6 @@ function get_current() // Fetech from git and get wget-list $current = array(); - #$lfssvn = "svn://svn.linuxfromscratch.org/LFS/trunk"; $lfsgit = "https://git.linuxfromscratch.org/lfs.git"; $tmpdir = exec( "mktemp -d /tmp/lfscheck.XXXXXX" ); @@ -367,7 +324,6 @@ function get_current() $file = rtrim( $file ); $pkg_pattern = "/(\D*).*/"; - //$pattern = "/\D*(\d.*\d)\D*/"; $pattern = "/\D*(\d.*\d)\D*/"; if ( preg_match( "/e2fsprogs/", $file ) ) From ae4e8da2c3630d716d916465a8801621a35b8347 Mon Sep 17 00:00:00 2001 From: Tim Tassonis Date: Mon, 25 Mar 2024 21:50:26 +0100 Subject: [PATCH 39/96] Update to sysvinit-3.09. --- chapter01/changelog.xml | 11 +++++++++++ packages.ent | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 2f2fcfa9d..a3a80e818 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. --> + + 2024-04-25 + + + [timtas] - Update to sysvinit-3.09. Fixes + #5466. + + + + + 2024-03-19 diff --git a/packages.ent b/packages.ent index f00b02811..aecd85144 100644 --- a/packages.ent +++ b/packages.ent @@ -680,12 +680,12 @@ - - + + - + - + From cbf19601bc69be8811e2a1a910d46361037ff1a1 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 29 Mar 2024 15:04:03 -0500 Subject: [PATCH 40/96] Revert to xz-5.4.6 due to uptream compromise. --- chapter01/changelog.xml | 10 ++++++++++ packages.ent | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 2f2fcfa9d..480b13d44 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. --> + + 2024-03-29 + + + [renodr] - Revert to xz-5.4.6 due to uptream + compromise. + + + + 2024-03-19 diff --git a/packages.ent b/packages.ent index f00b02811..17d168c2e 100644 --- a/packages.ent +++ b/packages.ent @@ -773,10 +773,10 @@ - - + + - + From 31336718bc2fe6df94db5a4290969b5bfd5a4c22 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 30 Mar 2024 09:09:26 +0800 Subject: [PATCH 41/96] xz: Host on anduin for now The GitHub repo is suspended due to malicious code injection. --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index ba791e166..e6fc1e59c 100644 --- a/packages.ent +++ b/packages.ent @@ -775,7 +775,7 @@ - + From 9b01d1b4ba6fc649623084522284fd4cdb123fbb Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 31 Mar 2024 17:10:23 -0500 Subject: [PATCH 42/96] Package updates. Update to iana-etc-20240318. Update to zstd-1.5.6. Update to util-linux-2.40. Update to shadow-4.15.1. Update to pkgconf-2.2.0. Update to linux-6.8.2. Update to coreutils-9.5. --- chapter01/changelog.xml | 34 ++++++++++++++++++ chapter01/whatsnew.xml | 16 ++++----- chapter07/util-linux.xml | 23 ++++++------ chapter08/coreutils.xml | 12 +++---- chapter08/util-linux.xml | 77 +++++++++++++++++++++------------------- packages.ent | 40 ++++++++++----------- patches.ent | 4 +-- 7 files changed, 122 insertions(+), 84 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index d85a43b39..7ce8db755 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,40 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-03-31 + + + [bdubbs] - Update to iana-etc-20240318. Addresses + #5006. + + + [bdubbs] - Update to zstd-1.5.6. Fixes + #5468. + + + [bdubbs] - Update to util-linux-2.40. Fixes + #5430. + + + [bdubbs] - Update to shadow-4.15.1. Fixes + #5465. + + + [bdubbs] - Update to pkgconf-2.2.0. Fixes + #5469. + + + [bdubbs] - Update to linux-6.8.2. Fixes + #5467. + + + [bdubbs] - Update to coreutils-9.5. Fixes + #5470. + + + + 2024-03-29 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 5dffe2d9a..f856866bd 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -56,9 +56,9 @@ - + @@ -209,9 +209,9 @@ - + @@ -257,9 +257,9 @@ - + Vim-&vim-version; @@ -275,9 +275,9 @@ - + - Fix a security vulnerability in the split - utility: - -sed -e '/n_out += n_hold/,+4 s|.*bufsize.*|//&|' \ - -i src/split.c - Now prepare Coreutils for compilation: autoreconf -fiv @@ -140,6 +133,11 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ groupdel dummy + + Two tests, tests/cp/preserve-mode.sh and tests/mv/acl.sh, are known to + fail in the chroot environment, but pass in a complete system. + + Install the package: make install diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index 4c53b4eb5..4df6e04dd 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -42,43 +42,46 @@ Installation of Util-linux + Prepare Util-linux for compilation: -./configure --bindir=/usr/bin \ - --libdir=/usr/lib \ - --runstatedir=/run \ - --sbindir=/usr/sbin \ - --disable-chfn-chsh \ - --disable-login \ - --disable-nologin \ - --disable-su \ - --disable-setpriv \ - --disable-runuser \ - --disable-pylibmount \ - --disable-static \ - --without-python \ - --without-systemd \ + ./configure --bindir=/usr/bin \ + --libdir=/usr/lib \ + --runstatedir=/run \ + --sbindir=/usr/sbin \ + --disable-chfn-chsh \ + --disable-login \ + --disable-nologin \ + --disable-su \ + --disable-setpriv \ + --disable-runuser \ + --disable-pylibmount \ + --disable-liblastlog2 \ + --disable-static \ + --without-python \ + --without-systemd \ --without-systemdsystemunitdir \ ADJTIME_PATH=/var/lib/hwclock/adjtime \ --docdir=/usr/share/doc/util-linux-&util-linux-version; -./configure --bindir=/usr/bin \ - --libdir=/usr/lib \ - --runstatedir=/run \ - --sbindir=/usr/sbin \ - --disable-chfn-chsh \ - --disable-login \ - --disable-nologin \ - --disable-su \ - --disable-setpriv \ - --disable-runuser \ - --disable-pylibmount \ - --disable-static \ - --without-python \ + ./configure --bindir=/usr/bin \ + --libdir=/usr/lib \ + --runstatedir=/run \ + --sbindir=/usr/sbin \ + --disable-chfn-chsh \ + --disable-login \ + --disable-nologin \ + --disable-su \ + --disable-setpriv \ + --disable-runuser \ + --disable-pylibmount \ + --disable-liblastlog2 \ + --disable-static \ + --without-python \ ADJTIME_PATH=/var/lib/hwclock/adjtime \ --docdir=/usr/share/doc/util-linux-&util-linux-version; @@ -106,14 +109,16 @@ chown -R tester . su tester -c "make -k check" - The hardlink tests will fail if the host's kernel - does not have the option - enabled or does not have any options providing a SHA256 implementation - (for example, , or - if the CPU supports - Supplemental SSE3) enabled. In addition, - two sub-tests from misc: mbsencode and one sub-test from script: replay are - known to fail. + + The hardlink tests will fail if the host's kernel + does not have the option + enabled or does not have any options providing a SHA256 implementation + (for example, , or + if the CPU supports + Supplemental SSE3) enabled. In addition, the lsfd: inotify test will + fail if the kernel option is not + enabled. + Install the package: diff --git a/packages.ent b/packages.ent index e6fc1e59c..69ff0b3e5 100644 --- a/packages.ent +++ b/packages.ent @@ -104,10 +104,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - + + + - + @@ -795,10 +795,10 @@ - - + + - + diff --git a/patches.ent b/patches.ent index 17966e30c..fabb2f7ad 100644 --- a/patches.ent +++ b/patches.ent @@ -11,8 +11,8 @@ - - + + From 7a8f589df16e23bc0a8d42745f99dfd897dd922f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 2 Apr 2024 18:06:25 +0800 Subject: [PATCH 43/96] changelog: Add revision='sysv' for sysvinit-3.09 entry --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7ce8db755..70784a502 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -84,7 +84,7 @@ - + 2024-04-25 From ba64c50ecc9130acc178eb90b3745ff1fe9d8c85 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 2 Apr 2024 18:13:33 +0800 Subject: [PATCH 44/96] coreutils: Test names are filenames --- chapter08/coreutils.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index cd57219ca..1f935809b 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -134,7 +134,8 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ groupdel dummy - Two tests, tests/cp/preserve-mode.sh and tests/mv/acl.sh, are known to + Two tests, tests/cp/preserve-mode.sh and + tests/mv/acl.sh, are known to fail in the chroot environment, but pass in a complete system. From 0dde2f570e6a67873937e8ef96902c4efe0f794b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 2 Apr 2024 18:51:47 +0800 Subject: [PATCH 45/96] changelog: Fix date of sysvinit-3.09 update Well, we've had a time travaling! :) --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 70784a502..9f6d42bd0 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -85,7 +85,7 @@ - 2024-04-25 + 2024-03-25 [timtas] - Update to sysvinit-3.09. Fixes From 658401054ae3b9dcdbebb9ed63ca6092e980ffb2 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 4 Apr 2024 09:24:08 -0500 Subject: [PATCH 46/96] Typo --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 9f6d42bd0..58c013bdf 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -78,7 +78,7 @@ 2024-03-29 - [bdubbs] - Revert to xz-5.4.6 due to uptream + [bdubbs] - Revert to xz-5.4.6 due to upstream compromise. From a093e70903b0927261c63c2af364179e5d978362 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 5 Apr 2024 21:58:39 +0800 Subject: [PATCH 47/96] python: Run test suite with a time limit The test hang issue is not related to partial environment. It's just a known issue (for eg https://github.com/python/cpython/issues/91155) and happens when we are unlucky. So just run the test suite with a timeout. 1 SBU should be enough: it's approximately 4 times of the time used by the slowest test case, on both an old Athlon 64 3000+ and a Core i5-11300H. I've not seen any test failure on a complete system (the expat-related failure seems fixed by expat-2.6.2 or 2.6.1). TODO: really test this with LFS chroot and document failures if any. --- chapter08/python.xml | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index 7ac618c09..8d3c1f905 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -78,11 +78,17 @@ make - Running the tests at this point is not recommended. The - tests are known to hang indefinitely in the partial LFS environment. - If desired, the tests can be rerun at the end of this chapter, or - when Python 3 is reinstalled in BLFS. To run the tests anyway, - issue make test. + Some tests are known to hang indefinitely. So to test the + results, run the test suite but set a 2-minute time limit for each + test case: + +make test TESTOPTS="--timeout 120" + + For a relatively slow system you may need to increase the time + limit and 1 SBU (measured when building Binutils pass 1 with one CPU + core) should be enough. Some tests are flaky, so the test suite will + automatically re-run failed tests. If a test failed but then passed + when re-run, it should be considered as passed. Install the package: From 91cf49535a74b1acde7dc1ba5762c8f774ea1241 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 6 Apr 2024 11:24:05 +0800 Subject: [PATCH 48/96] python: Make it clear that the test indefinitely hanging issue is occasional Or people will report things like "hey I didn't see any test had timed out." --- chapter08/python.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index 8d3c1f905..0f22ab2a9 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -78,7 +78,7 @@ make - Some tests are known to hang indefinitely. So to test the + Some tests are known to occasionally hang indefinitely. So to test the results, run the test suite but set a 2-minute time limit for each test case: From 9977b8f05b637ba681d93eff617b3b4507e5705b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 6 Apr 2024 17:38:09 +0800 Subject: [PATCH 49/96] generalinstructions: Remove a false statement about "cp -R destroys symlink" It's just wrong (at least with all recent Coreutils releases). Note that hard links are really destroyed, but AFAIK tar does not keep hard links correctly anyway and destroying hard links won't cause packages fail to build at all. --- part3intro/generalinstructions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/part3intro/generalinstructions.xml b/part3intro/generalinstructions.xml index 624771c2d..37e07f862 100644 --- a/part3intro/generalinstructions.xml +++ b/part3intro/generalinstructions.xml @@ -114,7 +114,7 @@ Do not use any method except the tar command to extract the source code. Notably, using the cp -R command to copy the - source code tree somewhere else can destroy links and + source code tree somewhere else can destroy timestamps in the source tree, and cause the build to fail. From 2f115238afad98b8b734bfccba61a0492fae67b4 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 7 Apr 2024 21:04:05 +0800 Subject: [PATCH 50/96] kernel: Regenerate kernel config with 6.8.2 No real change. --- chapter10/kernel/kernel.version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version index 29310f454..166d79d6d 100644 --- a/chapter10/kernel/kernel.version +++ b/chapter10/kernel/kernel.version @@ -1 +1 @@ -6.7.4 +6.8.2 From 6a75210c6d8e2346068dd097fb1b3d4edd3cd0da Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 8 Apr 2024 15:09:51 +0800 Subject: [PATCH 51/96] python: Document test failures with recent expat I didn't see them because I misconfigured Python to use internal expat. With system expat they just fail as we've documented in BLFS. --- chapter08/python.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/chapter08/python.xml b/chapter08/python.xml index 0f22ab2a9..d60378abb 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -90,6 +90,10 @@ automatically re-run failed tests. If a test failed but then passed when re-run, it should be considered as passed. + Two tests named test_xml_etree and + test_xml_etree_c are known to fail with expat-2.6.0 + or newer. + Install the package: make install From 9bfd203fadb72045dff9ba540e5bf0ab5646ec1d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 8 Apr 2024 16:10:03 +0800 Subject: [PATCH 52/96] util-linux: Create a dummy /etc/fstab to satisfy two tests --- chapter08/util-linux.xml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index 4df6e04dd..648b204b5 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -93,7 +93,14 @@ make - If desired, run the test suite as a non-&root; user: + + If desired, create a dummy /etc/fstab file + to satisfy two tests and run the test suite as a non-&root; + user: Running the test suite as the root user can be harmful to @@ -106,7 +113,8 @@ bash tests/run.sh --srcdir=$PWD --builddir=$PWD -chown -R tester . +touch /etc/fstab +chown -R tester . su tester -c "make -k check" From 9317498c0347ee924ca81ae57f13b74ccb9d373d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 11 Apr 2024 16:38:50 +0800 Subject: [PATCH 53/96] packages: SSL-ize two URLs --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 69ff0b3e5..220b05c73 100644 --- a/packages.ent +++ b/packages.ent @@ -144,7 +144,7 @@ - + @@ -703,7 +703,7 @@ - + From 185b76381229fb2e5d72f00689cdcdee8c752911 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 15 Apr 2024 11:16:44 -0500 Subject: [PATCH 54/96] Package updates. Update to setuptools-69.5.1. Update to python3-3.12.3. Update to openssl-3.3.0. Update to ninja-1.12.0. Update to man-db-2.12.1. Update to linux-6.8.6. Update to iana-etc-20240412. Update to vim-9.1.0330. --- appendices/dependencies.xml | 2 +- chapter01/changelog.xml | 38 +++++++++++++++++++++++++++ chapter01/whatsnew.xml | 16 ++++++------ chapter08/ninja.xml | 6 ++++- packages.ent | 52 ++++++++++++++++++------------------- 5 files changed, 78 insertions(+), 36 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 8c3c29ad3..b808cf7a3 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -2395,7 +2395,7 @@ &testsuites; - None + cmake diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 58c013bdf..63b81485c 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,44 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-04-15 + + + [bdubbs] - Update to setuptools-69.5.1. Fixes + #5478. + + + [bdubbs] - Update to python3-3.12.3. Fixes + #5476. + + + [bdubbs] - Update to openssl-3.3.0. Fixes + #5475. + + + [bdubbs] - Update to ninja-1.12.0. Fixes + #5477. + + + [bdubbs] - Update to man-db-2.12.1. Fixes + #5474. + + + [bdubbs] - Update to linux-6.8.6. Fixes + #5472. + + + [bdubbs] - Update to iana-etc-20240412. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.0330. Addresses + #4500. + + + + 2024-03-31 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index f856866bd..83c7cd6d5 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -176,9 +176,9 @@ - + Man-pages-&man-pages-version; @@ -197,12 +197,12 @@ - - + @@ -218,9 +218,9 @@ Psmisc-&psmisc-version; - + diff --git a/chapter08/ninja.xml b/chapter08/ninja.xml index 106e63970..f63490eae 100644 --- a/chapter08/ninja.xml +++ b/chapter08/ninja.xml @@ -82,10 +82,14 @@ + The package tests cannot run in the chroot environment. They require + require cmake. + Install the package: diff --git a/packages.ent b/packages.ent index 69ff0b3e5..72f9b60d2 100644 --- a/packages.ent +++ b/packages.ent @@ -317,10 +317,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - + - + - + - - + + @@ -639,10 +639,10 @@ - - + + - + @@ -746,13 +746,13 @@ - + - + - + From 340891bca1566134f575302328591e615df54e48 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 16 Apr 2024 10:59:48 -0500 Subject: [PATCH 55/96] Make minor change to ifup script output text. Remove blank output line generated in ifup script when bringing up wireless interface. --- bootscripts/ChangeLog | 4 ++++ bootscripts/lfs/sbin/ifup | 2 +- chapter01/changelog.xml | 9 +++++++++ packages.ent | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index 3853ff83a..37680aff5 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -1,3 +1,7 @@ +2024-04-16 Bruce Dubbs + * Remove blank output line generated in ifup script when bringing + up wireless interface. + 2023-10-04 Pierre Labastie * After the changes done on 2022-03-24, several "halt stop" should have been changed to "halt start". Done now. Fortunately, those diff --git a/bootscripts/lfs/sbin/ifup b/bootscripts/lfs/sbin/ifup index 4c70810cd..070d25cdc 100755 --- a/bootscripts/lfs/sbin/ifup +++ b/bootscripts/lfs/sbin/ifup @@ -110,7 +110,7 @@ for S in ${SERVICE}; do fi done -if [ "${SERVICE}" = "wpa" ]; then log_success_msg; fi +#if [ "${SERVICE}" = "wpa" ]; then log_success_msg; fi # Create/configure the interface for S in ${SERVICE}; do diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 63b81485c..d9ea4043e 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,15 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-04-16 + + + [bdubbs] - Make minor change to ifup script output text. + + + + 2024-04-15 diff --git a/packages.ent b/packages.ent index 169832760..fb7a51939 100644 --- a/packages.ent +++ b/packages.ent @@ -381,7 +381,7 @@ - + From ba1a9cf303ad4c6c94e4fd7f74871ffb357e367d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 18 Apr 2024 10:19:03 -0500 Subject: [PATCH 56/96] Typo --- chapter08/ninja.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/ninja.xml b/chapter08/ninja.xml index f63490eae..5bccea1ea 100644 --- a/chapter08/ninja.xml +++ b/chapter08/ninja.xml @@ -83,7 +83,7 @@ The package tests cannot run in the chroot environment. They require - require cmake. + cmake. + + 2024-05-01 + + + [bdubbs] - Add security fix to glibc. Fixes + #5481. + + + [bdubbs] - Update to linux-6.8.8. Fixes + #5480. + + + [bdubbs] - Update to ncurses-6.5. Fixes + #5483. + + + + 2024-04-16 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 83c7cd6d5..6bfc51b25 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -194,9 +194,9 @@ - + Ninja-&ninja-version; @@ -294,6 +294,9 @@ Lz4-&lz4-version; + + glibc-2.39-upstream_fix-1.patch + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 067dc9aea..0f78dcfa5 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -76,15 +76,15 @@ MD5 sum: &gcc-upstream-fixes-patch-md5;
- +--> - Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;: + Glibc Upstream Fix Patch - &glibc-upstream-patch-size;: - Download: - MD5 sum: &glibc-upstream-fixes-patch-md5; + Download: + MD5 sum: &glibc-upstream-patch-md5; ---> + Glibc FHS Patch - &glibc-fhs-patch-size;: diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 6d1be66ae..1984a4444 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -49,12 +49,11 @@ store their runtime data in the FHS-compliant locations: patch -Np1 -i ../&glibc-fhs-patch; - + Now fix a security vulnerability: + +patch -Np1 -i ../&glibc-upstream-patch; + The Glibc documentation recommends building Glibc in a dedicated build directory: diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml index 40589c58a..a825f63c9 100644 --- a/chapter08/ncurses.xml +++ b/chapter08/ncurses.xml @@ -50,9 +50,9 @@ --without-normal \ --with-cxx-shared \ --enable-pc-files \ - --enable-widec \ --with-pkg-config-libdir=/usr/lib/pkgconfig + The meaning of the new configure options: @@ -94,9 +94,9 @@ - + Compile the package: @@ -127,7 +127,7 @@ make will spawn new shell processes during "make install". --> The installation of this package will overwrite - libncursesw.so.&ncurses-release; + libncursesw.so.&ncurses-version; in-place. It may crash the shell process which is using code and data from the library file. Install the package with DESTDIR, and replace the library file correctly using @@ -137,8 +137,8 @@ ): make DESTDIR=$PWD/dest install -install -vm755 dest/usr/lib/libncursesw.so.&ncurses-release; /usr/lib -rm -v dest/usr/lib/libncursesw.so.&ncurses-release; +install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib +rm -v dest/usr/lib/libncursesw.so.&ncurses-version; sed -e 's/^#if.*XOPEN.*$/#if 1/' \ -i dest/usr/include/curses.h cp -av dest/* / diff --git a/chapter08/sysklogd.xml b/chapter08/sysklogd.xml index 131b7e7fc..26382f8c1 100644 --- a/chapter08/sysklogd.xml +++ b/chapter08/sysklogd.xml @@ -55,7 +55,7 @@ sed -i 's/union wait/int/' syslogd.c Install the package: -make BINDIR=/sbin install +make install diff --git a/packages.ent b/packages.ent index fb7a51939..81a747019 100644 --- a/packages.ent +++ b/packages.ent @@ -431,12 +431,12 @@ - + - + - + - - - + + - + diff --git a/patches.ent b/patches.ent index fabb2f7ad..d4969adfb 100644 --- a/patches.ent +++ b/patches.ent @@ -17,11 +17,11 @@ - + + + + + From 5a661c39b0322e7ec46f566a729a287c16844a7f Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Wed, 1 May 2024 08:16:22 +0200 Subject: [PATCH 60/96] Fix changing entity name --- chapter06/ncurses.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 7f79b5129..0a8c7e166 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -137,9 +137,9 @@ popd --enable-widec This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-release;) + class="libraryfile">libncursesw.so.&ncurses-version;) to be built instead of normal ones (e.g., libncurses.so.&ncurses-release;). + class="libraryfile">libncurses.so.&ncurses-version;). These wide-character libraries are usable in both multibyte and traditional 8-bit locales, while normal libraries work properly only in 8-bit locales. Wide-character and normal libraries are From 3abde5946b237bcfd09af72acefff799356b9802 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 May 2024 15:49:51 +0800 Subject: [PATCH 61/96] ncurses: Remove explicit --enable-widec in chapter 6 like chapter 8 --- chapter06/ncurses.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 0a8c7e166..29d406b57 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -69,8 +69,7 @@ popd --with-cxx-shared \ --without-debug \ --without-ada \ - --disable-stripping \ - --enable-widec + --disable-stripping The meaning of the new configure options: @@ -132,9 +131,9 @@ popd Using host tools on cross-compiled programs can cause failure. - + Compile the package: From e1f27cd97b074a15235dccb9331aa5a1a6c34fe0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 May 2024 15:50:45 +0800 Subject: [PATCH 62/96] changelog: The ifup change is sysv-only --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 9f1dea86b..131a8cd1c 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -58,7 +58,7 @@ - + 2024-04-16 From 9b39be4268ba3a6b9e1015766767c02d74858f8a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 2 May 2024 18:38:35 +0800 Subject: [PATCH 63/96] glibc: Revise glibc-2.39 upstream fix patch The glibc-2.39-upstream_fix-1.patch file contains a broken tst-iconv-iso-2022-cn-ext.c file. It causes: FAIL: iconvdata/tst-iconv-iso-2022-cn-ext Revise the patch to fix it. --- patches.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches.ent b/patches.ent index d4969adfb..bad4710b0 100644 --- a/patches.ent +++ b/patches.ent @@ -18,8 +18,8 @@ - - + + From a9cbf6ff0c5d1fee58aa708a20707aa9712b524d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 May 2024 11:55:27 +0800 Subject: [PATCH 64/96] Revert "python: Document test failures with recent expat" This reverts commit 6a75210c6d8e2346068dd097fb1b3d4edd3cd0da. In Python >= 3.12.3, these tests are disabled with expat >= 2.6.0. Link: https://github.com/python/cpython/commit/c4fa79b924a1 --- chapter08/python.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index d60378abb..0f22ab2a9 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -90,10 +90,6 @@ automatically re-run failed tests. If a test failed but then passed when re-run, it should be considered as passed. - Two tests named test_xml_etree and - test_xml_etree_c are known to fail with expat-2.6.0 - or newer. - Install the package: make install From 1e7341fd3532d21f59870a077551d664627c5e8f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 May 2024 13:39:48 +0800 Subject: [PATCH 65/96] systemd: Enable test suite (again) With systemd-255, I get only 1 failure out of 1206. Thus it seems a good idea to run the test suite. We can always revert if something bad happens. --- chapter08/systemd.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 2d325d5cd..0de3af24b 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -226,6 +226,18 @@ meson setup \ ninja + Some tests need a basic /etc/os-release file. + To test the results, issue: + +echo 'NAME="Linux From Scratch"' > /etc/os-release +ninja test + + + One test named systemd:core / test-namespace + is known to fail in the LFS chroot environment. Some other tests may + fail because they depend on various kernel configuration options. + Install the package: ninja install From f65f3b993c355b34ecd59444b64aa63ea86ad1dd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 May 2024 14:07:22 +0800 Subject: [PATCH 66/96] [systemd] clock: Captitalize the title All other titles in the book are capitalized by David. --- chapter09/clock.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter09/clock.xml b/chapter09/clock.xml index be60684fb..c5aaa9a7a 100644 --- a/chapter09/clock.xml +++ b/chapter09/clock.xml @@ -8,7 +8,7 @@ - Configuring the system clock + Configuring the System Clock clock From c5a1240233c10fa1cecfb2bcaeb2023e918339a8 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 5 May 2024 17:04:56 +0800 Subject: [PATCH 67/96] dependencies: Bison building system needs diffutils A recent lfs-support discussion revealed if diffutils is forgotten, bison building system can fail in a way very difficult to diagnose. --- appendices/dependencies.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index b808cf7a3..46bdfac0a 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -326,8 +326,8 @@ &dependencies; - Bash, Binutils, Coreutils, GCC, Gettext, Glibc, Grep, M4, Make, - Perl, and Sed + Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, + Grep, M4, Make, Perl, and Sed From 6dfdf036991e21053d6b8c6e8e13ea670059f688 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 9 May 2024 14:52:44 +0800 Subject: [PATCH 68/96] coreutils: Add -k for make check Two tests are known to fail, so without -k a part of the test suite is not executed. --- chapter08/coreutils.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 1f935809b..ca02058b5 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -127,7 +127,8 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ node for such a PTY cannot be accessed from the LFS chroot environment): -su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" < /dev/null +su tester -c "PATH=$PATH make -k RUN_EXPENSIVE_TESTS=yes check" \ + < /dev/null Remove the temporary group: From 1a7ac41bcc04ebc7e2e57a7f5870a8d6aba40c87 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 11 May 2024 08:15:09 +0800 Subject: [PATCH 69/96] grub: Update the note about UEFI for recent BLFS change --- chapter08/grub.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/chapter08/grub.xml b/chapter08/grub.xml index aa13ce3b0..19cc9674a 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -43,10 +43,12 @@ If your system has UEFI support and you wish to boot LFS with UEFI, - you can skip this package in LFS, - and install GRUB with UEFI support (and its dependencies) by following - the instructions on + you need to install GRUB with UEFI support (and its dependencies) by + following the instructions on the BLFS page. + You may skip this package, or install this package and the BLFS + GRUB for UEFI package without conflict (the BLFS page provides + instructions for both cases). From 340e17adc67a1d7dc050fed51e384122f425e458 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 11 May 2024 15:17:56 -0500 Subject: [PATCH 70/96] Package updates. Update to vim-9.1.0405. Update to util-linux-2.40.1. Update to linux-6.8.9. Update to jinja2-3.1.4 (Python mpdule). Update to iana-etc-20240502. Update to gcc-14.1.0. --- chapter01/changelog.xml | 28 +++++++++++++++++++-------- chapter01/whatsnew.xml | 15 ++++++-------- chapter03/patches.xml | 20 +++++++++---------- chapter06/bash.xml | 3 ++- chapter08/automake.xml | 3 ++- chapter08/bash.xml | 1 + chapter08/expect.xml | 4 ++++ chapter08/gcc.xml | 39 +++++++++++++++++-------------------- chapter08/glibc.xml | 9 +++++---- chapter08/inetutils.xml | 4 ++++ packages.ent | 43 ++++++++++++++++++++++------------------- patches.ent | 14 +++++++++----- 12 files changed, 104 insertions(+), 79 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 131a8cd1c..0a83d018b 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,24 +41,36 @@ --> - 2024-05-01 + 2024-05-11 - [bdubbs] - Add security fix to glibc. Fixes - #5481. + [bdubbs] - Update to vim-9.1.0405. Addresses + #4500. - [bdubbs] - Update to linux-6.8.8. Fixes - #5480. + [bdubbs] - Update to util-linux-2.40.1. Fixes + #5482. - [bdubbs] - Update to ncurses-6.5. Fixes - #5483. + [bdubbs] - Update to linux-6.8.9. Fixes + #5484. + + + [bdubbs] - Update to jinja2-3.1.4 (Python mpdule). Fixes + #5485. + + + [bdubbs] - Update to iana-etc-20240502. Addresses + #5006. + + + [bdubbs] - Update to gcc-14.1.0. Fixes + #5486. - + 2024-04-16 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6bfc51b25..8bd40c0c1 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -92,9 +92,9 @@ - + @@ -134,9 +134,9 @@ IPRoute2-&iproute2-version; - + @@ -194,9 +194,9 @@ - + Ninja-&ninja-version; @@ -294,9 +294,6 @@ Lz4-&lz4-version; - - glibc-2.39-upstream_fix-1.patch - diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 0f78dcfa5..19402ac9e 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -59,15 +59,15 @@ MD5 sum: &coreutils-i18n-patch-md5; - + + - Glibc Upstream Fix Patch - &glibc-upstream-patch-size;: + Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;: - Download: - MD5 sum: &glibc-upstream-patch-md5; + Download: + MD5 sum: &glibc-upstream-fixes-patch-md5; - +--> Glibc FHS Patch - &glibc-fhs-patch-size;: diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 54fa6f444..66c6ef3fc 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -48,7 +48,8 @@ ./configure --prefix=/usr \ --build=$(sh support/config.guess) \ --host=$LFS_TGT \ - --without-bash-malloc + --without-bash-malloc \ + bash_cv_strtold_broken=no The meaning of the configure options: diff --git a/chapter08/automake.xml b/chapter08/automake.xml index ed1907c55..6c7aa2582 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -62,7 +62,8 @@ 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. + Out of 2926 tests, 52 are known to fail due to incompatibilities in the + test scripts with gcc-14.1 or later. Install the package: diff --git a/chapter08/bash.xml b/chapter08/bash.xml index 1490e7791..c217d5576 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -49,6 +49,7 @@ ./configure --prefix=/usr \ --without-bash-malloc \ --with-installed-readline \ + bash_cv_strtold_broken=no \ --docdir=/usr/share/doc/bash-&bash-version; diff --git a/chapter08/expect.xml b/chapter08/expect.xml index 76795782d..5b5047cda 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -67,6 +67,10 @@ GDBM, and of course Expect itself) will fail catastrophically, and other subtle breakages may also happen. + Now, make some changes to allow the package with gcc-14.1 or later: + +patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch + Prepare Expect for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 66f803273..971394527 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -40,20 +40,7 @@ Installation of GCC - - If building on x86_64, change the default directory name for 64-bit libraries to lib: @@ -76,6 +63,7 @@ cd build --enable-languages=c,c++ \ --enable-default-pie \ --enable-default-ssp \ + --enable-host-pie \ --disable-multilib \ --disable-bootstrap \ --disable-fixincludes \ @@ -147,8 +135,8 @@ cd build In this section, the test suite for GCC is considered important, but it takes a long time. First-time builders are encouraged to run the test suite. The time to run the tests can be - reduced significantly by adding -jx to the make -k check command below, - where x is the number of CPU cores on your system. + reduced significantly by adding -jx to the make -k check + command below, where x is the number of CPU cores on your system. One set of tests in the GCC test suite is known to exhaust the default @@ -156,6 +144,14 @@ cd build ulimit -s 32768 + Now remove/fix several known test failures: + +sed -e '/cpython/d' -i ../gcc/testsuite/gcc.dg/plugin/plugin.exp +sed -e 's/no-pic /&-no-pie /' -i ../gcc/testsuite/gcc.target/i386/pr113689-1.c +sed -e 's/300000/(1|300000)/' -i ../libgomp/testsuite/libgomp.c-c++-common/pr109062.c +sed -e 's/{ target nonpic } //' \ + -e '/GOTPCREL/d' -i ../gcc/testsuite/gcc.target/i386/fentryname3.c + Test the results as a non-privileged user, but do not stop at errors: chown -R tester . @@ -171,14 +167,14 @@ su tester -c "PATH=$PATH make -k check" Results can be compared with those located at and . - +pr56837.c + pr56837.c and seven tests in the analyzer directory are known to fail. - + One libstdc++ test (out of over 15000), copy.cc, is known to fail. @@ -190,9 +186,10 @@ su tester -c "PATH=$PATH make -k check" Additionally, several tests in the vect directory are known to fail if the hardware does not support AVX. - - A few unexpected failures cannot always be avoided. The GCC developers - are usually aware of these issues, but have not resolved them yet. +--> + A few unexpected failures cannot always be avoided. In some cases + test failures depend on the specific hardware of the system. Unless the test results are vastly different from those at the above URL, it is safe to continue. diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 1984a4444..6d1be66ae 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -49,11 +49,12 @@ store their runtime data in the FHS-compliant locations: patch -Np1 -i ../&glibc-fhs-patch; + The Glibc documentation recommends building Glibc in a dedicated build directory: diff --git a/chapter08/inetutils.xml b/chapter08/inetutils.xml index 468ccb25e..693c08405 100644 --- a/chapter08/inetutils.xml +++ b/chapter08/inetutils.xml @@ -40,6 +40,10 @@ Installation of Inetutils + First, make the package build with gcc-14.1 or later:: + +sed -i 's/def HAVE_TERMCAP_TGETENT/ 1/' telnet/telnet.c + Prepare Inetutils for compilation: ./configure --prefix=/usr \ diff --git a/packages.ent b/packages.ent index 81a747019..6f6ab89b2 100644 --- a/packages.ent +++ b/packages.ent @@ -218,10 +218,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -349,10 +349,10 @@ - - - - + + + + @@ -431,12 +431,12 @@ - + - + - + + + + - + @@ -733,17 +736,17 @@ - - + + - + - + diff --git a/patches.ent b/patches.ent index bad4710b0..7bf0177a2 100644 --- a/patches.ent +++ b/patches.ent @@ -14,14 +14,18 @@ + + + + - - - - - + From c7ed0b0fb84ab226ea1b1b3d72e5cd1651b80f26 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Sun, 12 May 2024 12:14:25 +0200 Subject: [PATCH 71/96] Fix chksum of vim-9.1.0405 --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 6f6ab89b2..13c328b76 100644 --- a/packages.ent +++ b/packages.ent @@ -752,7 +752,7 @@ - + From ddbe15d5131a6f2c26a68b5008db700fd8792a52 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 12 May 2024 21:38:34 +0800 Subject: [PATCH 72/96] changelog: Fix a typo --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0a83d018b..3ca65e9f2 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -56,7 +56,7 @@ #5484. - [bdubbs] - Update to jinja2-3.1.4 (Python mpdule). Fixes + [bdubbs] - Update to jinja2-3.1.4 (Python module). Fixes #5485. From 043e9bdb4611a5684ccfe9e27893ab260503b118 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 12 May 2024 09:55:19 -0500 Subject: [PATCH 73/96] Fix currency for jinja2 --- lfs-latest-git.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 95abb7c28..52eb501b4 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -147,7 +147,7 @@ if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/sou if ( $package == "shadow" ) $dirpath = github("shadow-maint/shadow"); if ( $package == "sysvinit" ) $dirpath = github("slicer69/sysvinit"); if ( $package == "MarkupSafe" ) $dirpath = "https://pypi.python.org/pypi/MarkupSafe/"; -if ( $package == "Jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/"; +if ( $package == "jinja" ) $dirpath = "https://pypi.python.org/pypi/Jinja2/"; if ( $package == "systemd" ) $dirpath = github("systemd/systemd"); //if ( $package == "tcl" ) $dirpath = "https://sourceforge.net/projects/tcl/files"; if ( $package == "tcl" ) $dirpath = "https://www.tcl.tk/software/tcltk/download.html"; @@ -263,7 +263,7 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "grub" ) return find_max( $lines, "/grub/", "/^.*grub-([\d\.]+).tar.xz.*$/" ); - if ( $package == "Jinja" ) + if ( $package == "jinja" ) return find_max( $lines, "/Jinja/", "/^.*Jinja2 ([\d\.]+).*$/" ); if ( $package == "lz" ) From 46e985d8af9a9c065fbab74f97d76d60f648f8d6 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 12 May 2024 10:05:27 -0500 Subject: [PATCH 74/96] Make vim md5sum consistent with the version on anduin. --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 13c328b76..6f6ab89b2 100644 --- a/packages.ent +++ b/packages.ent @@ -752,7 +752,7 @@ - + From 760d28c80946f1688cb50afea55a0bef7fc4b4e7 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 12 May 2024 10:16:12 -0500 Subject: [PATCH 75/96] e anduin for vim. The github version of the vim tarball is not always available. Keep it on anduin. --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 6f6ab89b2..aea4ef2b0 100644 --- a/packages.ent +++ b/packages.ent @@ -750,8 +750,8 @@ - - + + From f70694dce2e14eb997ff9d63969a67bf61f72a7e Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 30 Apr 2024 12:42:03 -0500 Subject: [PATCH 76/96] PAckage updates and a security fix. Add security fix to glibc. Update to linux-6.8.8. Update to ncurses-6.5. (cherry picked from commit d0ca5ead4668649d96eb6a9ed9e0269c15dfbe01) Reapply this change which is mistakenly reverted in 340e17adc67a1d7dc050fed51e384122f425e458. --- chapter01/changelog.xml | 18 ++++++++++++++++++ chapter01/whatsnew.xml | 7 +++++-- chapter03/patches.xml | 10 +++++----- chapter08/glibc.xml | 9 ++++----- packages.ent | 11 ++++------- patches.ent | 10 +++++----- 6 files changed, 41 insertions(+), 24 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 3ca65e9f2..440ecac5f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -70,6 +70,24 @@ + + 2024-05-01 + + + [bdubbs] - Add security fix to glibc. Fixes + #5481. + + + [bdubbs] - Update to linux-6.8.8. Fixes + #5480. + + + [bdubbs] - Update to ncurses-6.5. Fixes + #5483. + + + + 2024-04-16 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 8bd40c0c1..2bd18a3e4 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -194,9 +194,9 @@ - + Ninja-&ninja-version; @@ -294,6 +294,9 @@ Lz4-&lz4-version; + + glibc-2.39-upstream_fix-1.patch + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 19402ac9e..87645f532 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -76,15 +76,15 @@ MD5 sum: &gcc-upstream-fixes-patch-md5; - +--> - Glibc Upstream Fixes Patch - &glibc-upstream-fixes-patch-size;: + Glibc Upstream Fix Patch - &glibc-upstream-patch-size;: - Download: - MD5 sum: &glibc-upstream-fixes-patch-md5; + Download: + MD5 sum: &glibc-upstream-patch-md5; ---> + Glibc FHS Patch - &glibc-fhs-patch-size;: diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 6d1be66ae..1984a4444 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -49,12 +49,11 @@ store their runtime data in the FHS-compliant locations: patch -Np1 -i ../&glibc-fhs-patch; - + Now fix a security vulnerability: + +patch -Np1 -i ../&glibc-upstream-patch; + The Glibc documentation recommends building Glibc in a dedicated build directory: diff --git a/packages.ent b/packages.ent index aea4ef2b0..1645b5e4e 100644 --- a/packages.ent +++ b/packages.ent @@ -526,15 +526,12 @@ - - + - - - - + + - + diff --git a/patches.ent b/patches.ent index 7bf0177a2..ae0f5d3c2 100644 --- a/patches.ent +++ b/patches.ent @@ -21,11 +21,11 @@ - + + + + + From 99056a6d6942818e03805beb8dbecd1809814a65 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 2 May 2024 18:38:35 +0800 Subject: [PATCH 77/96] glibc: Revise glibc-2.39 upstream fix patch The glibc-2.39-upstream_fix-1.patch file contains a broken tst-iconv-iso-2022-cn-ext.c file. It causes: FAIL: iconvdata/tst-iconv-iso-2022-cn-ext Revise the patch to fix it. (cherry picked from commit 9b39be4268ba3a6b9e1015766767c02d74858f8a) Reapply this change which is mistakenly reverted in 340e17adc67a1d7dc050fed51e384122f425e458. --- patches.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/patches.ent b/patches.ent index ae0f5d3c2..447287ec7 100644 --- a/patches.ent +++ b/patches.ent @@ -22,8 +22,8 @@ - - + + From 74dfcff3747d842940fdc2d77bfd78159caf9793 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 May 2024 13:28:11 +0800 Subject: [PATCH 78/96] Revert "e anduin for vim." This reverts commit 760d28c80946f1688cb50afea55a0bef7fc4b4e7. As we've discussed in #5490: LFS 9.0 (released 2019) downloads vim-8.1.1846 from GitHub directly, and the URL still works today and results a tarball with the same md5 as LFS 9.0 documents. Thus GitHub download seems stable enough from vim. Also note that "vim-9.1.0405.tar.gz" on anduin is actually a vim-9.1.0330 release tarball. --- packages.ent | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index 1645b5e4e..82b643511 100644 --- a/packages.ent +++ b/packages.ent @@ -747,8 +747,8 @@ - - + + From 6a97bf00d7ef9831e9d1648ddf66509c6ce2140e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 May 2024 13:30:51 +0800 Subject: [PATCH 79/96] Revert "Make vim md5sum consistent with the version on anduin." This reverts commit 46e985d8af9a9c065fbab74f97d76d60f648f8d6. --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 82b643511..2af5b17ae 100644 --- a/packages.ent +++ b/packages.ent @@ -749,7 +749,7 @@ - + From 31c839da2d25117c86aa03b8a399859520ce7e07 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 May 2024 13:35:48 +0800 Subject: [PATCH 80/96] packages: Document why not to use anduin for vim --- packages.ent | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages.ent b/packages.ent index 2af5b17ae..e78e6387c 100644 --- a/packages.ent +++ b/packages.ent @@ -748,6 +748,17 @@ + From 5ff2f2e47227e0997bc81e2505bcc52a7b8ede3b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 May 2024 20:16:54 +0800 Subject: [PATCH 81/96] creatingfilesystem: Remove reference to ReiserFS It's deprecated by the kernel developers and we've archived the tools for it in BLFS as well. --- chapter02/creatingfilesystem.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml index 9b1a08b2a..74970e226 100644 --- a/chapter02/creatingfilesystem.xml +++ b/chapter02/creatingfilesystem.xml @@ -50,7 +50,7 @@ - Other file systems, including FAT32, NTFS, ReiserFS, JFS, and XFS are + Other file systems, including FAT32, NTFS, JFS, and XFS are useful for specialized purposes. More information about these file systems, and many others, can be found at . From 923fb4854866215850c4f222f36d7fbcf2b298c0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 14 May 2024 03:41:34 +0800 Subject: [PATCH 82/96] coreutils: Revise i18n patch --- chapter01/changelog.xml | 12 ++++++++++++ patches.ent | 6 +++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 440ecac5f..fd5645dc5 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,18 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-05-13 + + + [xry111] - Synchronize coreutils i18n patch from Fedora + to fix a build failure on 32-bit x86 and an alarming compiler + warning on both 32-bit x86 and x86_64 with GCC 14.1 or + later. + + + + 2024-05-11 diff --git a/patches.ent b/patches.ent index 447287ec7..426cc36df 100644 --- a/patches.ent +++ b/patches.ent @@ -10,9 +10,9 @@ - - - + + + From 87e5e08d3490a74a6d123ba1a498fea44278e23b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 15 May 2024 19:46:46 +0800 Subject: [PATCH 83/96] gcc pass2: --disable-libsanitizer is no longer strictly needed GCC 14 libsanitizer no longer depends on crypt.h. But let's keep this option for reducing build time, just update the explanation. Also remove libxcrypt from GCC depedency list. --- appendices/dependencies.xml | 4 ++-- chapter06/gcc-pass2.xml | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 46bdfac0a..c48238a8b 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -935,7 +935,7 @@ &dependencies; Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, - Gettext, Glibc, GMP, Grep, Libxcrypt, M4, Make, MPC, MPFR, Patch, + Gettext, Glibc, GMP, Grep, M4, Make, MPC, MPFR, Patch, Perl, Sed, Tar, Texinfo, and Zstd @@ -1887,7 +1887,7 @@ &before; - GCC, Perl, Python, Shadow, and &systemd-udev; + Perl, Python, Shadow, and &systemd-udev; diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index 98b28150d..529f3ab65 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -149,12 +149,10 @@ cd build --disable-libsanitizer Disable GCC sanitizer runtime libraries. They are not - needed for the temporary installation. This switch is necessary - to build GCC without - libcrypt installed for - the target. In it was - implied by --disable-libstdcxx, but now we - have to explicitly pass it. + needed for the temporary installation. In + it was implied by + --disable-libstdcxx, and now we can + explicitly pass it. From da1a07bdc161bb88a1fda57a4ae758d8b2ef52bb Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 19 May 2024 15:53:53 -0500 Subject: [PATCH 84/96] Remove erroneous -i when creating custom udev rules --- chapter09/symlinks.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter09/symlinks.xml b/chapter09/symlinks.xml index 71e35f231..dd79b9ffd 100644 --- a/chapter09/symlinks.xml +++ b/chapter09/symlinks.xml @@ -123,7 +123,7 @@ /usr/lib/udev/network/99-default.link: sed -e '/^AlternativeNamesPolicy/s/=.*$/=/' \ - -i /usr/lib/udev/network/99-default.link \ + /usr/lib/udev/network/99-default.link \ > /etc/udev/network/99-default.link From 32c050cb5836a0cf1b1ea727cddab4909e4b4903 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 22 May 2024 16:22:14 +0800 Subject: [PATCH 85/96] gcc-pass2: Don't ambigiously use "previously" --- 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 529f3ab65..6ca5a0fa2 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -124,8 +124,8 @@ cd build We are cross-compiling GCC, so it's impossible to build target libraries (libgcc and libstdc++) with the - previously compiled GCC binaries—those binaries won't run on the - host. The GCC build system will attempt to use the host's + GCC binaries compiled in this pass—those binaries won't run + on the host. The GCC build system will attempt to use the host's C and C++ compilers as a workaround by default. Building the GCC target libraries with a different version of GCC is not supported, so using the host's compilers may cause From 8630ec385af9e31910c9a1e3ee4030a1dd58fba5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 30 May 2024 19:35:35 +0800 Subject: [PATCH 86/96] [systemd] Disable RT_GROUP_SCHED Link: https://github.com/systemd/systemd/issues/13781#issuecomment-549164383 --- chapter10/kernel/kernel.version | 2 +- chapter10/kernel/systemd.toml | 5 +++++ chapter10/kernel/systemd.xml | 7 +++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version index 166d79d6d..dd0026fc1 100644 --- a/chapter10/kernel/kernel.version +++ b/chapter10/kernel/kernel.version @@ -1 +1 @@ -6.8.2 +6.8.9 diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml index b930e01a6..cfb8bf8f1 100644 --- a/chapter10/kernel/systemd.toml +++ b/chapter10/kernel/systemd.toml @@ -23,6 +23,11 @@ DMIID='*' INOTIFY_USER='*' TMPFS='*' TMPFS_POSIX_ACL='*' +CGROUP_SCHED='* ' + +[RT_GROUP_SCHED] +value = ' ' +comment = 'This may cause some systemd features malfunction' revision='systemd' diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml index b21d7d183..4960796ef 100644 --- a/chapter10/kernel/systemd.xml +++ b/chapter10/kernel/systemd.xml @@ -3,7 +3,7 @@ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> -General setup ---> +General setup ---> [ ] Compile the kernel with warnings as errors [WERROR] CPU/Task time and stats accounting ---> [*] Pressure stall information tracking [PSI] @@ -11,7 +11,10 @@ ... [PSI_DEFAULT_DISABLED] < > Enable kernel headers through /sys/kernel/kheaders.tar.xz [IKHEADERS] [*] Control Group support ---> [CGROUPS] - [*] Memory controller [MEMCG] + [*] Memory controller [MEMCG] + [ /*] CPU controller ---> [CGROUP_SCHED] + # This may cause some systemd features malfunction: + [ ] Group scheduling for SCHED_RR/FIFO [RT_GROUP_SCHED] [ ] Configure standard kernel features (expert users) ---> [EXPERT] Processor type and features ---> From 6acfe2e81f23a8a06f31537a916dbf200ac39f0f Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 31 May 2024 12:06:49 -0500 Subject: [PATCH 87/96] Package Updates. Update to meson-1.4.1. Update to xz-5.6.2. Add linux-6.9.x compatibility instructions to systemd and udev. Update to setuptools-70.0.0 (python module). Update to ninja-1.12.1. Update to man-pages-6.8. Update to linux-6.9.3. Update to libcap-2.70. Update to iproute2-6.9.0. Update to e2fsprogs-1.47.1. --- chapter01/changelog.xml | 48 +++++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 8 +++--- chapter08/systemd.xml | 12 +++++++++ chapter08/udev.xml | 12 +++++++++ packages.ent | 56 ++++++++++++++++++++--------------------- 5 files changed, 104 insertions(+), 32 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index fd5645dc5..25b9ee150 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,54 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-05-31 + + + [bdubbs] - Update to meson-1.4.1. Fixes + #5498. + + + [bdubbs] - Update to xz-5.6.2. Fixes + #5471. + + + [bdubbs] - Add linux-6.9.x compatibility instructions to + systemd + udev. + Fixes #5496. + + + [bdubbs] - Update to setuptools-70.0.0 (python module). Fixes + #5491. + + + [bdubbs] - Update to ninja-1.12.1. Fixes + #5489. + + + [bdubbs] - Update to man-pages-6.8. Fixes + #5494. + + + [bdubbs] - Update to linux-6.9.3. Fixes + #5491. + + + [bdubbs] - Update to libcap-2.70. Fixes + #5493. + + + [bdubbs] - Update to iproute2-6.9.0. Fixes + #5492. + + + [bdubbs] - Update to e2fsprogs-1.47.1. Fixes + #5495. + + + + 2024-05-13 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 2bd18a3e4..9ad12dc22 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -68,9 +68,9 @@ - + Expat-&expat-version; @@ -149,9 +149,9 @@ - + Libelf from Elfutils-&elfutils-version; diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 0de3af24b..30b99fc17 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -48,6 +48,18 @@ sed -i -e 's/GROUP="render"/GROUP="video"/' \ -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in + Next, fix compatibility with linux-6.9 and later: + + sed -i '/DEVMEM_MAGIC 0/{n;n;a \ +/* cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b (6.8) */ +#ifndef PID_FS_MAGIC \ +#define PID_FS_MAGIC 0x50494446 \ +#endif +}' src/basic/missing_magic.h + +sed -i '/OVERLAYFS_SUPER_MAGIC/a \ +pidfs, {PID_FS_MAGIC}' src/basic/filesystems-gperf.gperf + Now fix a security vulnerability in the DNSSEC verification of systemd-resolved and a bug breaking running diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 98ee48cf2..8f71237b8 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -55,6 +55,18 @@ sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in + Next, fix compatibility with linux-6.9 and later: + + sed -i '/DEVMEM_MAGIC 0/{n;n;a \ +/* cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b (6.8) */ \ +#ifndef PID_FS_MAGIC \ +#define PID_FS_MAGIC 0x50494446 \ +#endif +}' src/basic/missing_magic.h + +sed -i '/OVERLAYFS_SUPER_MAGIC/a \ +pidfs, {PID_FS_MAGIC}' src/basic/filesystems-gperf.gperf + Adjust the hardcoded paths to network configuration files for the standalone udev installation: diff --git a/packages.ent b/packages.ent index e78e6387c..b3b10e677 100644 --- a/packages.ent +++ b/packages.ent @@ -140,10 +140,10 @@ - - + + - + @@ -341,10 +341,10 @@ - - + + - + @@ -389,10 +389,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + + + 2024-06-15 + + + [bdubbs] - Update to vim-9.1.0478. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20240607. Addresses + #5006. + + + [bdubbs] - Update to systemd-256. Fixes + #5504. + + + [bdubbs] - Update to python3-3.12.4. Fixes + #5502. + + + [bdubbs] - Update to perl-5.40.0. Fixes + #5503. + + + [bdubbs] - Update to openssl-3.3.1 (Security fix). Fixes + #5500. + + + [bdubbs] - Update to linux-6.9.4. Fixes + #5505. + + + [bdubbs] - Update to findutils-4.10.0. Fixes + #5499. + + + + 2024-05-31 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 9ad12dc22..315a03bea 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -80,9 +80,9 @@ - + @@ -206,9 +206,9 @@ - + Pkgconf-&pkgconf-version; @@ -236,9 +236,9 @@ - + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 87645f532..95d81b1de 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -141,7 +141,7 @@ MD5 sum: &sysvinit-consolidated-patch-md5; - + + Prepare systemd for compilation: mkdir -p build @@ -247,8 +248,10 @@ ninja test One test named systemd:core / test-namespace - is known to fail in the LFS chroot environment. Some other tests may - fail because they depend on various kernel configuration options. + is known to fail in the LFS chroot environment. Two other tests, + test-chase and test-systemd-tmpfiles, + are also known to fail. Some other tests may fail because they depend + on various kernel configuration options. Install the package: diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 8f71237b8..98ee48cf2 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -55,18 +55,6 @@ sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in - Next, fix compatibility with linux-6.9 and later: - - sed -i '/DEVMEM_MAGIC 0/{n;n;a \ -/* cb12fd8e0dabb9a1c8aef55a6a41e2c255fcdf4b (6.8) */ \ -#ifndef PID_FS_MAGIC \ -#define PID_FS_MAGIC 0x50494446 \ -#endif -}' src/basic/missing_magic.h - -sed -i '/OVERLAYFS_SUPER_MAGIC/a \ -pidfs, {PID_FS_MAGIC}' src/basic/filesystems-gperf.gperf - Adjust the hardcoded paths to network configuration files for the standalone udev installation: diff --git a/packages.ent b/packages.ent index b3b10e677..567726db5 100644 --- a/packages.ent +++ b/packages.ent @@ -182,10 +182,10 @@ - - + + - + @@ -230,7 +230,7 @@ - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - + - + - + - - + + @@ -660,20 +660,20 @@ - + - + - + - - + + - + @@ -743,10 +743,10 @@ - + - + - + diff --git a/patches.ent b/patches.ent index 426cc36df..8b29af8a5 100644 --- a/patches.ent +++ b/patches.ent @@ -37,7 +37,8 @@ - + From 9c7437f2fd40d2ef242a7fba2e51e5423f35627c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 15 Jun 2024 00:06:41 +0800 Subject: [PATCH 94/96] glibc: Remove redundant mkdir -pv /usr/lib/locale command It's created in chapter 7. --- chapter08/glibc.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 1984a4444..21a73a35d 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -356,8 +356,7 @@ install -v -Dm644 ../nscd/nscd.service /usr/lib/systemd/system/nscd.service -mkdir -pv /usr/lib/locale -localedef -i C -f UTF-8 C.UTF-8 +localedef -i C -f UTF-8 C.UTF-8 localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8 localedef -i de_DE -f ISO-8859-1 de_DE localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro From c04d98d0380353851b5dffb3d316f7243b46769b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 15 Jun 2024 01:22:02 +0800 Subject: [PATCH 95/96] systemd: Reword test failure notice --- chapter08/systemd.xml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index e121096ed..afc274f4f 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -224,13 +224,12 @@ meson setup \ echo 'NAME="Linux From Scratch"' > /etc/os-release ninja test - - One test named systemd:core / test-namespace - is known to fail in the LFS chroot environment. Two other tests, - test-chase and test-systemd-tmpfiles, - are also known to fail. Some other tests may fail because they depend - on various kernel configuration options. + Three tests: systemd:core / test-namespace, + test-chase, and test-systemd-tmpfiles, + are known to fail in the LFS chroot environment. Some other tests may + fail because they depend on various kernel configuration options. Install the package: From 201aa93863b8999290f262baa52e487e01bfada3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 22 Jun 2024 11:43:31 +0800 Subject: [PATCH 96/96] Move punctuation/comma into quotes for s We are using American rule for punctuation/comma vs. quotes. We've fixed most cases but not s. --- appendices/udev-rules.xml | 2 +- chapter01/askforhelp.xml | 2 +- chapter02/stages.xml | 2 +- chapter06/introduction.xml | 2 +- chapter07/cleanup.xml | 3 ++- chapter08/grub.xml | 2 +- chapter08/shadow.xml | 3 ++- chapter09/symlinks.xml | 11 ++++++----- chapter09/usage.xml | 2 +- chapter10/kernel.xml | 4 ++-- 10 files changed, 18 insertions(+), 15 deletions(-) diff --git a/appendices/udev-rules.xml b/appendices/udev-rules.xml index 25f41033e..750205686 100644 --- a/appendices/udev-rules.xml +++ b/appendices/udev-rules.xml @@ -13,7 +13,7 @@ Udev configuration rules The rules in this appendix are listed for convenience. Installation is - normally done via instructions in . + normally done via instructions in 55-lfs.rules diff --git a/chapter01/askforhelp.xml b/chapter01/askforhelp.xml index dd36b30fa..7c6032389 100644 --- a/chapter01/askforhelp.xml +++ b/chapter01/askforhelp.xml @@ -15,7 +15,7 @@ In case you've hit an issue building one package with the LFS instruction, we strongly discourage posting the issue directly onto the upstream support channel before discussing via a LFS support - channel listed in . + channel listed in Doing so is often quite inefficient because the upstream maintainers are rarely familiar with LFS building procedure. Even if you've really hit an upstream issue, the LFS community can still help diff --git a/chapter02/stages.xml b/chapter02/stages.xml index aeee2588e..287aa43f4 100644 --- a/chapter02/stages.xml +++ b/chapter02/stages.xml @@ -86,7 +86,7 @@ and, as root, running the commands in and - . + diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml index bfa2dafd4..5e2fc972a 100644 --- a/chapter06/introduction.xml +++ b/chapter06/introduction.xml @@ -26,6 +26,6 @@ may render your computer unusable. This whole chapter must be done as user lfs, with the environment as described in - . + diff --git a/chapter07/cleanup.xml b/chapter07/cleanup.xml index 2bfe68d9e..870ba318e 100644 --- a/chapter07/cleanup.xml +++ b/chapter07/cleanup.xml @@ -88,7 +88,8 @@ make sure you have set LFS. - This has been discussed in . + This has been discussed in + diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 19cc9674a..a2dbbaf41 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -111,7 +111,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions Making your LFS system bootable with GRUB will be discussed in - . + diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index 315e3cc5e..de6b05f75 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -242,7 +242,8 @@ useradd -D --gid 999 unknown GID 999, even though the account has been created correctly. That is why we created the group users - with this group ID in . + with this group ID in + diff --git a/chapter09/symlinks.xml b/chapter09/symlinks.xml index dd79b9ffd..cd2d58077 100644 --- a/chapter09/symlinks.xml +++ b/chapter09/symlinks.xml @@ -39,7 +39,7 @@ often have two ethernet connections named eth0 and wlan0; such laptops can also use this method. The command line is in the GRUB configuration file. - See . + See @@ -219,8 +219,8 @@ Dealing with Duplicate Devices - As explained in , the order in - which devices with the same function appear in + As explained in the + order in which devices with the same function appear in /dev is essentially random. E.g., if you have a USB web camera and a TV tuner, sometimes /dev/video0 refers to the camera and @@ -229,8 +229,9 @@ For all classes of hardware except sound cards and network cards, this is fixable by creating udev rules to create persistent symlinks. The case of network cards is covered separately in - , and sound card configuration can - be found in BLFS. + and sound card + configuration can be found in + BLFS. For each of your devices that is likely to have this problem (even if the problem doesn't exist in your current Linux distribution), diff --git a/chapter09/usage.xml b/chapter09/usage.xml index 6b5441bba..554affc71 100644 --- a/chapter09/usage.xml +++ b/chapter09/usage.xml @@ -254,7 +254,7 @@ EOF /sys/class/rtc. For information on kernel module loading and udev, see - . + diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 6eafeaf27..c1e02129a 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -55,8 +55,8 @@ LFS editors recommend that users not familiar with this process follow the procedures below fairly closely. The objective is to get an initial system to a point where you can log in at the command line when - you reboot later in . At this point - optimization and customization is not a goal. + you reboot later in + At this point optimization and customization is not a goal.