From fc9a3199106057d815cb1e5edd3bcb8f4777891a Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 1 Apr 2023 17:07:06 -0500 Subject: [PATCH 01/15] Update currency for flit-core --- lfs-latest-git.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 2b3c9ab47..b380a5a83 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -103,8 +103,8 @@ function max_parent( $dirpath, $prefix ) $lines = http_get_file( $dirpath ); - $regex_match = "#${prefix}[\d\.]+/#"; - $regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#"; + $regex_match = "#{$prefix}[\d\.]+/#"; + $regex_replace = "#^.*({$prefix}[\d\.]+)/.*$#"; $max = find_max( $lines, $regex_match, $regex_replace ); return "$dirpath/$max"; @@ -126,6 +126,7 @@ if ( $package == "expect" ) $dirpath = "https://sourceforge.net/projects/exp if ( $package == "eudev" ) $dirpath = "https://github.com/eudev-project/eudev/releases"; if ( $package == "file" ) $dirpath = "https://github.com/file/file/tags"; if ( $package == "flex" ) $dirpath = "https://github.com/westes/flex/releases"; +if ( $package == "flit_core" ) $dirpath = "https://pypi.org/project/flit-core/"; if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); if ( $package == "iana-etc" ) $dirpath = "https://github.com/Mic92/iana-etc/releases"; if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk"; @@ -308,6 +309,9 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel if ( $package == "libffi" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); + if ( $package == "flit_core" ) + return find_max( $lines, "/flit-core /", "/^.*flit-core ([\d\.]+)$/" ); + if ( $package == "procps-ng" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); @@ -503,7 +507,7 @@ table td { { $v = get_packages( $pkg, $dir ); $flag = ( $vers[ $pkg ] != $v ) ? "*" : ""; - echo "$pkg ${vers[ $pkg ]} $v $flag\n"; + echo "$pkg {$vers[ $pkg ]} $v $flag\n"; } echo " From 99c2da0f22a0101efbc266144e6c464397efc42c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 4 Apr 2023 16:54:00 +0800 Subject: [PATCH 02/15] acknowledgments: Add Jamenson as present Portuguese translator --- appendices/acknowledgments.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/appendices/acknowledgments.xml b/appendices/acknowledgments.xml index 3db526641..24cb88350 100644 --- a/appendices/acknowledgments.xml +++ b/appendices/acknowledgments.xml @@ -89,7 +89,13 @@ Anderson Lizardo <lizardo@linuxfromscratch.org> – - Portuguese LFS translation project + Portuguese LFS translation project historical + + + + Jamenson + Espindula <jafesp@gmail.com> – + Portuguese LFS translation project 2022-present From 49f74ce7014bbb562c09be4e5306ff23bc7b6cba Mon Sep 17 00:00:00 2001 From: Ken Moffat Date: Fri, 7 Apr 2023 22:39:03 +0100 Subject: [PATCH 03/15] Typo reported by rhubarbpieguy. --- chapter08/groff.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/groff.xml b/chapter08/groff.xml index e5ae875f3..4ab954d13 100644 --- a/chapter08/groff.xml +++ b/chapter08/groff.xml @@ -168,7 +168,7 @@ gperl - Preprocesor for groff, allowing the insertion of perl code + Preprocessor for groff, allowing the insertion of perl code into groff files gperl @@ -179,7 +179,7 @@ gpinyin - Preprocesor for groff, allowing the insertion of Pinyin + Preprocessor for groff, allowing the insertion of Pinyin (Mandarin Chinese spelled with the Roman alphabet) into groff files. gpinyin From 91d8e69d189e1f9a3da02826683cf42462714829 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 8 Apr 2023 21:47:29 +0800 Subject: [PATCH 04/15] glibc: Clarify the reference to POSIX.1b and POSIX.1c The thread functions are in POSIX.1c, not POSIX.1b. Both POSIX.1b and POSIX.1c are named "extensions" (plural form). And POSIX.1b is titled "Real-time" instead of "Realtime". --- chapter08/glibc.xml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index ff655a89e..9f07b46eb 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -918,8 +918,9 @@ mkdir -pv /etc/ld.so.conf.d Dummy library containing no functions. Previously contained functions providing most of the interfaces specified - by the POSIX.1b Realtime Extension, now the functions are in - libc + by the POSIX.1c Threads Extensions and the semaphore interfaces + specified by the POSIX.1b Real-time Extensions, now the functions + are in libc libpthread @@ -941,7 +942,7 @@ mkdir -pv /etc/ld.so.conf.d librt Contains functions providing most of the interfaces specified - by the POSIX.1b Realtime Extension + by the POSIX.1b Real-time Extensions librt From e9ab2b3af0176fbc460dc6a8ef6746901a954219 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 8 Apr 2023 22:16:06 +0800 Subject: [PATCH 05/15] glibc: libanl is a dummy now --- chapter08/glibc.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 9f07b46eb..f8ec464c3 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -777,7 +777,9 @@ mkdir -pv /etc/ld.so.conf.d libanl - An asynchronous name lookup library + Dummy library containing no functions. Previously was the + asynchronous name lookup library, whose functions are now in + libc libanl From dfde6640ebad505e7af7dc204a0e2c16dfddfb1e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 10 Apr 2023 16:00:34 +0800 Subject: [PATCH 06/15] systemd: Set /dev/kvm mode to 0660 The default /dev/kvm mode is 0666 and we consider it "not so safe". Like Tim said: "I'm also authenticating to my system all the time and don't do a chmod -R 777 / after every boot." With this option, the /dev/kvm mode is set to 0660 and it's tagged "uaccess" so systemd-logind will add an ACL entry for users logged-in locally. --- chapter08/systemd.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index fcac04602..31d89e01a 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -66,6 +66,7 @@ meson --prefix=/usr \ -Dman=false \ -Dmode=release \ -Dpamconfdir=no \ + -Ddev-kvm-mode=0660 \ -Ddocdir=/usr/share/doc/systemd-&systemd-version; \ .. @@ -167,6 +168,15 @@ meson --prefix=/usr \ functional on LFS. + + + -Ddev-kvm-mode=0660 + + The default udev rule would allow all users to access + /dev/kvm. The editors + consider it dangerous. This option overrides it. + + Compile the package: From a4b0c6d60a7d6c112fbc6a43e868ac65b34b16bf Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 10 Apr 2023 16:17:17 +0800 Subject: [PATCH 07/15] eudev: Set /dev/kvm mode to 0660 and tag it "uaccess" See the parent commit for rationale. --- chapter08/eudev.xml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/chapter08/eudev.xml b/chapter08/eudev.xml index 0cce469e1..f4c5ac5d2 100644 --- a/chapter08/eudev.xml +++ b/chapter08/eudev.xml @@ -40,8 +40,6 @@ Installation of Eudev - - First fix the location of udev rules in the .pc file: sed -i '/udevdir/a udev_dir=${udevdir}' src/udev/udev.pc.in @@ -88,6 +86,20 @@ make -f &udev-lfs-version;/Makefile.lfs install configuring + + /etc/udev/rules.d/65-kvm.rules + + + + The default udev rule installed by Eudev would allow all users to + access /dev/kvm. The editors + consider it dangerous. Create a configuration file to override it: + + +cat > /etc/udev/rules.d/65-kvm.rules << "EOF" +KERNEL=="kvm", GROUP="kvm", MODE="0660", TAG+="uaccess" +EOF + /etc/udev/hwdb.bin From efd83dba4f2dc17a0f70fb86879eb3e28e307745 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 14 Apr 2023 15:00:26 -0500 Subject: [PATCH 08/15] Package updates. Update to vim-9.0.1452. Update to iana-etc-20230405. Update to zstd-1.5.5. Update to Python-3.11.3. Update to meson-1.1.0. Update to man-pages-6.04. Update to linux-6.2.11. --- chapter01/changelog.xml | 34 ++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 16 +++++++------- chapter07/perl.xml | 1 + packages.ent | 46 ++++++++++++++++++++--------------------- 4 files changed, 66 insertions(+), 31 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 3f8583217..69858bd96 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,40 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2023-04-15 + + + [bdubbs] - Update to vim-9.0.1452. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20230405. Addresses + #5006. + + + [bdubbs] - Update to zstd-1.5.5. Fixes + #5239. + + + [bdubbs] - Update to Python-3.11.3. Fixes + #5240. + + + [bdubbs] - Update to meson-1.1.0. Fixes + #5242. + + + [bdubbs] - Update to man-pages-6.04. Fixes + #5238. + + + [bdubbs] - Update to linux-6.2.11. Fixes + #5241. + + + + 2023-03-31 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 4f38a75a7..20cd8dfe2 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -184,9 +184,9 @@ - + @@ -223,9 +223,9 @@ - + @@ -259,9 +259,9 @@ - + @@ -274,9 +274,9 @@ - + - + - + - + - + - + - - + + @@ -722,13 +722,13 @@ - + - + - - + + @@ -767,10 +767,10 @@ - - + + - + From 01a8a15a965a2dec4679c1734df0a03370189d34 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 15 Apr 2023 17:17:52 +0800 Subject: [PATCH 09/15] libelf: Add libelf.so.1 symlink into contents --- chapter08/libelf.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index dab277dc6..f01c30031 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -75,7 +75,8 @@ rm /usr/lib/libelf.a - libelf.so (symlink) and libelf-&elfutils-version;.so + libelf.so (symlink), libelf.so.1 (symlink), + and libelf-&elfutils-version;.so /usr/include/elfutils From eee6a98c703356dd0c2227e70cb10181d3979ce5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 15 Apr 2023 20:48:00 +0800 Subject: [PATCH 10/15] dependencies: Extend iproute2 external dependencies "make" outputs messages for lacking libtirpc, libbpf, and libmnl support, so document them. --- appendices/dependencies.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 6387743a7..204ef4c78 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1514,9 +1514,11 @@ &external; - Berkeley DB - and - iptables + Berkeley DB, + iptables, + libbpf, + libmnl, and + libtirpc From fb58db34a7a400e35d1d287606b7b5c889a6e1c3 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 16 Apr 2023 00:59:27 +0800 Subject: [PATCH 11/15] Revert "libelf: Add libelf.so.1 symlink into contents" This reverts commit 01a8a15a965a2dec4679c1734df0a03370189d34. We don't list the versioned SONAME symlink for any shared libraries. TODO: should we remove libelf-0.189.so from the list as well? It sounds like "libz.so.1.2.13" which is not listed too. --- chapter08/libelf.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index f01c30031..dab277dc6 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -75,8 +75,7 @@ rm /usr/lib/libelf.a - libelf.so (symlink), libelf.so.1 (symlink), - and libelf-&elfutils-version;.so + libelf.so (symlink) and libelf-&elfutils-version;.so /usr/include/elfutils From 5a98711aa4b832a8f4ab38d648f1d807a1f34bca Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 15 Apr 2023 14:34:07 -0500 Subject: [PATCH 12/15] Be consistent with library contents. --- chapter08/libelf.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index dab277dc6..23b66222a 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -75,7 +75,7 @@ rm /usr/lib/libelf.a - libelf.so (symlink) and libelf-&elfutils-version;.so + libelf.so /usr/include/elfutils @@ -90,7 +90,7 @@ rm /usr/lib/libelf.a - libelf + libelf.so Contains API functions to handle ELF object files From d1cbe535c1fe4d610fb7188179646ded1c499196 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 16 Apr 2023 18:23:19 +0800 Subject: [PATCH 13/15] dbus: Enable tests Though many tests are disabled w/o optional dependencies, we can at least run a dozen of tests. --- chapter08/dbus.xml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 8f3c80f7a..f59dd122b 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -79,10 +79,14 @@ make - This package does come with a test suite, but it requires several + To test the results, issue: + +make check + + Many tests are disabled because they require additional packages that are not included in LFS. Instructions for running the - test suite can be found in the BLFS book at - . + comprehensive test suite can be found in + the BLFS book. Install the package: @@ -107,7 +111,7 @@ dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, and dbus-uuidgen - libdbus-1.{a,so} + libdbus-1.so /etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, /usr/share/dbus-1, /usr/share/doc/dbus-&dbus-version;, and /var/lib/dbus From e310df86e51ac70e861e76a9d15be62f6b2a4085 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 16 Apr 2023 18:29:24 +0800 Subject: [PATCH 14/15] util-linux: Clarify the condition of hardlink failure --- chapter08/util-linux.xml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index ccf8b3cd0..44d55697d 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -101,7 +101,11 @@ su tester -c "make -k check" The hardlink tests will fail if the host's kernel - does not have the option CONFIG_CRYPTO_USER_API_HASH set. In addition, + 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. From ed48f326097d347f89ebc2cea948fed82ed73c9a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 16 Apr 2023 18:42:55 +0800 Subject: [PATCH 15/15] openssl: Clarify the condition when 30-test_afalg.t fails --- chapter08/openssl.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml index 0c3c41a7c..40a769311 100644 --- a/chapter08/openssl.xml +++ b/chapter08/openssl.xml @@ -65,10 +65,13 @@ make test - One test, 30-test_afalg.t, is known to fail on some kernel - configurations (depending on inconsistent values of - CONFIG_CRYPTO_USER_API* settings.) If it fails, it can safely be - ignored. + One test, 30-test_afalg.t, is known to fail if the host kernel + does not have enabled, + or does not have any options providing an AES with CBC implementation + (for example, the combination of + and , or + if the CPU supports AES-NI) + enabled. If it fails, it can safely be ignored. Install the package: