From d269e20dcba1ea2dfb187b3099a72bf6dfa2611f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 15 Sep 2023 19:27:41 +0800 Subject: [PATCH 01/51] chapter05/libstdc++: Remove one more .la file --- chapter05/libstdc++.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index e0ea2e790..1dc4277ee 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -124,7 +124,7 @@ cd build Remove the libtool archive files because they are harmful for cross-compilation: -rm -v $LFS/usr/lib/lib{stdc++,stdc++fs,supc++}.la +rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la From 808bc9406b6e5ccd33b1611831447a0e4eb28d6b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 19:54:22 +0800 Subject: [PATCH 02/51] hostreqs: Raise GCC minimal version to 5.2 Pass 1 GCC FTBFS with system GCC 5.1. Link: https://gcc.gnu.org/PR65801 Link: https://lists.linuxfromscratch.org/sympa/arc/lfs-support/2023-09/msg00005.html --- chapter02/hostreqs.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index 10c1bf16e..69533b9c7 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -72,7 +72,9 @@ - GCC-5.1 including the C++ + + GCC-5.2 including the C++ compiler, g++ (Versions greater than &gcc-version; are not recommended as they have not been tested). C and C++ standard libraries (with headers) must also be present so the C++ compiler can @@ -224,8 +226,8 @@ ver_check Bison bison 2.7 ver_check Diffutils diff 2.8.1 ver_check Findutils find 4.2.31 ver_check Gawk gawk 4.0.1 -ver_check GCC gcc 5.1 -ver_check "GCC (C++)" g++ 5.1 +ver_check GCC gcc 5.2 +ver_check "GCC (C++)" g++ 5.2 ver_check Grep grep 2.5.1a ver_check Gzip gzip 1.3.12 ver_check M4 m4 1.4.10 From 490a50a520a02768aee11f027de0c6c7837adbbc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 17 Sep 2023 23:45:09 +0800 Subject: [PATCH 03/51] Package updates - Update to linux-6.5.3 (#5343) - Update to iana-etc-20230912 (#5006) - Update to iproute2-6.5.0 (#5342) --- chapter01/changelog.xml | 18 ++++++++++++++++++ packages.ent | 16 ++++++++-------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 5f2d4860f..ca85137f6 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,24 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-17 + + + [xry111] - Update to linux-6.5.3. Fixes + #5343. + + + [xry111] - Update to iana-etc-20230912. Addresses + #5006. + + + [xry111] - Update to iproute2-6.5.0. Fixes + #5342. + + + + 2023-09-13 diff --git a/packages.ent b/packages.ent index fb514b77d..efa473441 100644 --- a/packages.ent +++ b/packages.ent @@ -318,10 +318,10 @@ - + - + @@ -343,10 +343,10 @@ - - + + - + @@ -433,12 +433,12 @@ - + - + - + - - + + + From 01332d3b2a039c4bcf808b5389cf41563be5d930 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 18 Sep 2023 10:58:00 -0500 Subject: [PATCH 05/51] Use GB for kernel build size --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 45c98e08e..861d48601 100644 --- a/packages.ent +++ b/packages.ent @@ -446,7 +446,7 @@ is the "daily use" config for the workstation measuring the min/max values. The disk usage is the sum of the size of linux-6.5.3 directory and the installed kernel image & modules. --> - + From f510f26b2da527ccd3d3a630cff37a95dba2b442 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 19 Sep 2023 03:56:23 +0800 Subject: [PATCH 06/51] /etc/os-release: Add HOME_URL field It's used by AppStream in BLFS for calculating the ID of the operating system. --- chapter11/theend.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/chapter11/theend.xml b/chapter11/theend.xml index 6f5e7e401..e7bfc6ef8 100644 --- a/chapter11/theend.xml +++ b/chapter11/theend.xml @@ -58,6 +58,7 @@ VERSION="&version;" ID=lfs PRETTY_NAME="Linux From Scratch &version;" VERSION_CODENAME="<your name here>" +HOME_URL="&lfs-root;lfs/" EOF Be sure to customize the fields 'DISTRIB_CODENAME' and From d48812dca9efb5cd5b8e8167f8f6f7b06e5ef1b4 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 24 Sep 2023 20:07:32 +0800 Subject: [PATCH 07/51] afterlfs: "Work remotely via SSH" does not strictly need wget --- chapter11/afterlfs.xml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/chapter11/afterlfs.xml b/chapter11/afterlfs.xml index dcd14fed5..c866903b5 100644 --- a/chapter11/afterlfs.xml +++ b/chapter11/afterlfs.xml @@ -184,8 +184,7 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login' This method also provides a full graphical environment, but first requires installing - sshd and - wget + sshd on the LFS system, usually in chroot. It also requires a second computer. This method has the advantage of being simple by not requiring the complexity of the chroot environment. It also uses your LFS built @@ -193,6 +192,17 @@ PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login' for installing packages. + + You may use the scp command to upload the package + sources to be built onto the LFS system. If you want to download + the sources onto the LFS system directly instead, install + libtasn1, + p11-kit, + make-ca, and + wget + in chroot (or upload their sources using scp + after booting the LFS system). + From cb89eec135c24026f19b8d0c2bae2e7f8db4a337 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 25 Sep 2023 14:10:12 +0800 Subject: [PATCH 08/51] glibc: Update upstream fixes patch to plug a memory leak The CVE-2023-4806 fix unintentionally caused a memory leak, now update the patch to include the fix for the leak. --- chapter01/changelog.xml | 10 ++++++++++ patches.ent | 6 +++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index ca85137f6..0a028e966 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,16 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-09-16 + + + [xry111] - Update Glibc upstream fixes patch to plug a + memory leak introduced by the security fix. + + + + 2023-09-17 diff --git a/patches.ent b/patches.ent index 6634d1f2f..3677f3e66 100644 --- a/patches.ent +++ b/patches.ent @@ -14,9 +14,9 @@ - - - + + + From c873f0a1b3dadc40f74eec1e50fab046c6479afd Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 25 Sep 2023 14:12:54 +0800 Subject: [PATCH 09/51] changelog: Fix a date --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 0a028e966..448611067 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -41,7 +41,7 @@ --> - 2023-09-16 + 2023-09-24 [xry111] - Update Glibc upstream fixes patch to plug a From 96f7f5ed58947bee58cae884d299df0a324d5034 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 25 Sep 2023 14:46:25 +0200 Subject: [PATCH 10/51] Remove textual description of an arg no loger in instructions --- chapter06/coreutils.xml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index 185f4a0c4..f6b6c6310 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -63,13 +63,6 @@ - - gl_cv_macro_MB_CUR_MAX_good=y - - This is needed to work around an issue in the gnulib copy - shipped by the package which would break cross compilation. - - Compile the package: From 6e11fe27286d9202280771ad1a402657e67ee065 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 30 Sep 2023 16:11:57 +0800 Subject: [PATCH 11/51] createfiles: Add Y2038 info about the traditional {b,u,w}tmp and lastlog files And utmp does not exist on systemd-based LFS. --- chapter07/createfiles.xml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index 2b752b944..ec4b0eee2 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -215,8 +215,23 @@ chmod -v 600 /var/log/btmp failed login attempts. The /var/log/btmp file records the bad login attempts. - The /run/utmp file records the users that - are currently logged in. This file is created dynamically in the boot - scripts. + + The /run/utmp file + records the users that are currently logged in. This file is created + dynamically in the boot scripts. + + + + + The utmp, + wtmp, btmp, and + lastlog files use 32-bit integers for timestamp + and they'll be fundamentally broken after year 2038. Many packages + have stopped using them and other packages are going to stop using + them. Do not rely on the contents of them for anything. + + From c7cd2c71e7f96bcc42f91399098f083beb757788 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 30 Sep 2023 16:14:17 +0800 Subject: [PATCH 12/51] shadow: Remove lastlog from contents It's deprecated because of Y2038 issue and no longer being built by default. --- chapter08/shadow.xml | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index f88216a5b..315234c7f 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -276,7 +276,7 @@ useradd -D --gid 999 chage, chfn, chgpasswd, chpasswd, chsh, expiry, faillog, getsubids, gpasswd, groupadd, groupdel, groupmems, groupmod, grpck, - grpconv, grpunconv, lastlog, login, logoutd, newgidmap, newgrp, + grpconv, grpunconv, login, logoutd, newgidmap, newgrp, newuidmap, newusers, nologin, passwd, pwck, pwconv, pwunconv, sg (link to newgrp), su, useradd, userdel, usermod, vigr (link to vipw), and vipw @@ -459,17 +459,6 @@ useradd -D --gid 999 - - lastlog - - Reports the most recent login of all users or of a - given user - - lastlog - - - - login From 25b3c0f7209a18714be7489b84bbd0b4d20ee4ae Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 1 Oct 2023 13:37:57 -0500 Subject: [PATCH 13/51] Package updates and one fix. Disable building nscd in glibc. Update to iana-etc-20230929. Update to vim-9.0.1968. Update to openssl-3.1.3. Update to meson-1.2.2. Update to man-db-2.12.0. Update to linux-6.5.5. Update to kmod-31. Update to kbd-2.6.3. Update to gettext-0.22.2. Update to bc-6.7.0. --- chapter01/changelog.xml | 50 +++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 28 +++++++++---------- chapter05/glibc.xml | 9 ++++++ chapter07/createfiles.xml | 4 +-- chapter08/glibc.xml | 13 +++++++-- packages.ent | 58 +++++++++++++++++++-------------------- 6 files changed, 115 insertions(+), 47 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 448611067..956e208d5 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,56 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2023-10-01 + + + [bdubbs] - Disable building nscd in glibc. Fixes + #5349. + + + [bdubbs] - Update to iana-etc-20230929. Addresses + #5006. + + + [bdubbs] - Update to vim-9.0.1968. Addresses + #4500. + + + [bdubbs] - Update to openssl-3.1.3. Fixes + #5350. + + + [bdubbs] - Update to meson-1.2.2. Fixes + #5356. + + + [bdubbs] - Update to man-db-2.12.0. Fixes + #5354. + + + [bdubbs] - Update to linux-6.5.5. Fixes + #5352. + + + [bdubbs] - Update to kmod-31. Fixes + #5355. + + + [bdubbs] - Update to kbd-2.6.3. Fixes + #5361. + + + [bdubbs] - Update to gettext-0.22.2. Fixes + #5348. + + + [bdubbs] - Update to bc-6.7.0. Fixes + #5353. + + + + 2023-09-24 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index e1fca225c..f30678d8f 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -41,9 +41,9 @@ - + @@ -98,9 +98,9 @@ - + @@ -122,9 +122,9 @@ Gzip-&gzip-version; - + @@ -140,9 +140,9 @@ Kbd-&kbd-version; - + @@ -173,18 +173,18 @@ - + - + @@ -197,9 +197,9 @@ - + diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 14f1fac6c..da354551c 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -91,6 +91,7 @@ cd build --build=$(../scripts/config.guess) \ --enable-kernel=&min-kernel; \ --with-headers=$LFS/usr/include \ + --disable-nscd \ libc_cv_slibdir=/usr/lib @@ -132,6 +133,14 @@ cd build + + --disable-nscd + + Do not build the name service cache daemon which is no + longer used. + + + During this stage the following warning might appear: diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index ec4b0eee2..cfa2ee919 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -227,10 +227,10 @@ chmod -v 600 /var/log/btmp The utmp, wtmp, btmp, and - lastlog files use 32-bit integers for timestamp + lastlog files use 32-bit integers for timestamps and they'll be fundamentally broken after year 2038. Many packages have stopped using them and other packages are going to stop using - them. Do not rely on the contents of them for anything. + them. It is probably best to consider them deprecated.. diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index cf1a4bd59..3d7e7b97e 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -74,6 +74,7 @@ cd build --enable-kernel=&min-kernel; \ --enable-stack-protector=strong \ --with-headers=/usr/include \ + --disable-nscd \ libc_cv_slibdir=/usr/lib @@ -114,6 +115,14 @@ cd build + + --disable-nscd + + Do not build the name service cache daemon which is no + longer used. + + + libc_cv_slibdir=/usr/lib @@ -206,7 +215,7 @@ esac ldd script: sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd - + Next, install the locales that can make the system respond in a different language. None of these locales are required, but if some of them are missing, the test suites of some packages will skip important diff --git a/packages.ent b/packages.ent index 861d48601..255b45a98 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ - - + + - + @@ -246,10 +246,10 @@ - - + + - + @@ -318,10 +318,10 @@ - + - + @@ -359,18 +359,18 @@ - - + + - + - - + + - + @@ -433,12 +433,12 @@ - + - + - + - + - + From 09d148dc283f0f66e49d2e09cf02fe3d516f4aca Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 2 Oct 2023 11:32:45 +0800 Subject: [PATCH 14/51] glibc: Remove nscd from contents --- chapter08/glibc.xml | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 3d7e7b97e..c00d56d30 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -507,7 +507,7 @@ mkdir -pv /etc/ld.so.conf.d gencat, getconf, getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, ld.so (symlink to ld-linux-x86-64.so.2 or ld-linux.so.2), - locale, localedef, makedb, mtrace, nscd, + locale, localedef, makedb, mtrace, pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace, zdump, and zic ld-linux-x86-64.so.2, ld-linux.so.2, @@ -527,7 +527,7 @@ mkdir -pv /etc/ld.so.conf.d /usr/include/protocols, /usr/include/rpc, /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo, - /var/cache/nscd, and /var/lib/nss_db + and /var/lib/nss_db @@ -661,17 +661,6 @@ mkdir -pv /etc/ld.so.conf.d - - nscd - - A daemon that provides a cache for the most common name - service requests - - nscd - - - - pcprofiledump From 370b0f548d8c29350f34f8f651359cb35800dcc2 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 2 Oct 2023 11:36:12 +0800 Subject: [PATCH 15/51] whatsnew: Align OpenSSL package name with the in its page --- chapter01/whatsnew.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index f30678d8f..56fd11d71 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -198,7 +198,7 @@ <para>Ninja-&ninja-version;</para> </listitem>--> <listitem> - <para>Openssl-&openssl-version;</para> + <para>OpenSSL-&openssl-version;</para> </listitem> <!--<listitem> <para>Patch-&patch-version;</para> From 0d8322dbe62f0a5d4a86b03e155dbbb593a130ad Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Mon, 2 Oct 2023 11:44:21 +0800 Subject: [PATCH 16/51] createfiles: Remove doubled punctuation --- chapter07/createfiles.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index cfa2ee919..9047fa744 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -230,7 +230,7 @@ chmod -v 600 /var/log/btmp</userinput></screen> <filename>lastlog</filename> files use 32-bit integers for timestamps and they'll be fundamentally broken after year 2038. Many packages have stopped using them and other packages are going to stop using - them. It is probably best to consider them deprecated.. + them. It is probably best to consider them deprecated. </para> </note> From 363fece4283164d114b330b430d9bb3d056c77b9 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Wed, 4 Oct 2023 13:39:03 +0800 Subject: [PATCH 17/51] glibc: Fix CVE-2023-4911 --- chapter01/changelog.xml | 10 ++++++++++ patches.ent | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 956e208d5..4a3bd21ae 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,16 @@ appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-10-03</para> + <itemizedlist> + <listitem> + <para>[xry111] - Update Glibc upstream fixes patch to fix + CVE-2023-4911.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-01</para> <itemizedlist> diff --git a/patches.ent b/patches.ent index 3677f3e66..4107b2dc2 100644 --- a/patches.ent +++ b/patches.ent @@ -14,8 +14,8 @@ <!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2"> <!ENTITY glibc-fhs-patch-size "2.8 KB"> -<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-2.patch"> -<!ENTITY glibc-upstream-fixes-patch-md5 "a5a06adb7f61dcc901f35d810ac8a1c0"> +<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch"> +<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2"> <!ENTITY glibc-upstream-fixes-patch-size "28 KB"> <!ENTITY grub-upstream-fixes-patch "grub-&grub-version;-upstream_fixes-1.patch"> From 623081aa93df0ec73c93332103a2c31ec6d29ffa Mon Sep 17 00:00:00 2001 From: Pierre Labastie <pierre.labastie@neuf.fr> Date: Wed, 4 Oct 2023 15:50:38 +0200 Subject: [PATCH 18/51] bootscripts: change "halt stop" to "halt start" Commit 27d23b1d has changed the convention that scripts with Sxxx symlinks should be run with "stop" parameter in runlevels 0 and 6. They should now be called with the more intuitive "start" parameter. But a few scripts still call "/etc/init.d/halt stop". Fortunately, this occurs in code paths that are rarely run (unrecoverable errors). So it was not noticed until now. Anyway, this is fixed in this commit. --- bootscripts/ChangeLog | 7 ++++++- bootscripts/lfs/init.d/checkfs | 4 ++-- bootscripts/lfs/init.d/udev | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index aff30cb41..3853ff83a 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -1,3 +1,8 @@ +2023-10-04 Pierre Labastie <pierre.labastie@neuf.fr> + * After the changes done on 2022-03-24, several "halt stop" should + have been changed to "halt start". Done now. Fortunately, those + occur only when something wrong happens with disks or devices. + 2023-07-28 Xi Ruoyao <xry111@xry111.site> * In mountvirtfs, mount /sys/fs/cgroup for udev from systemd-254. @@ -24,7 +29,7 @@ * New semantics for K and S scripts: - S scripts only started if not already marked S in the previous runlevel - K scripts only started if not already marked K in the previous runlevel - - remove the convention of running S scripts ith "stop" in rl 0/6 + - remove the convention of running S scripts with "stop" in rl 0/6 2021-06-08 Bruce Dubbs <bdubbs@linuxfromscratch.org> * When shutting down the network, ignore invalid interfaces or interfaces that are not UP. diff --git a/bootscripts/lfs/init.d/checkfs b/bootscripts/lfs/init.d/checkfs index bbbae8d99..b7f6e3ff2 100644 --- a/bootscripts/lfs/init.d/checkfs +++ b/bootscripts/lfs/init.d/checkfs @@ -63,7 +63,7 @@ case "${1}" in log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start else log_success_msg2 fi @@ -127,7 +127,7 @@ case "${1}" in log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start fi if [ "${error_value}" -ge 16 ]; then diff --git a/bootscripts/lfs/init.d/udev b/bootscripts/lfs/init.d/udev index f3b07b022..a843e0c39 100644 --- a/bootscripts/lfs/init.d/udev +++ b/bootscripts/lfs/init.d/udev @@ -41,7 +41,7 @@ case "${1}" in log_info_msg "$msg" log_info_msg "Press Enter to continue..." wait_for_user - /etc/rc.d/init.d/halt stop + /etc/rc.d/init.d/halt start fi # Start the udev daemon to continually watch for, and act on, From 4d634048a11c1e7f9bdc6bc2cf79d3652e4bade0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Thu, 5 Oct 2023 14:33:02 +0800 Subject: [PATCH 19/51] pkgmgt: Reinstall the same version of Glibc should be safe --- chapter08/pkgmgt.xml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 7104d9cba..13d79cfdd 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -69,6 +69,17 @@ it. </para> </listitem> + <listitem> + <para>Reinstalling the same version of Glibc (&glibc-version; for + this release of LFS) with patches should be safe when these patches + do not change ABI and API. When a security vulnerability is found + in Glibc, we often need to apply such a patch to fix the + vulnerability and reinstall Glibc. Consult + <ulink url='&lfs-root;lfs/advisories/'>LFS security + advisories</ulink> if you are alerted for a published Glibc security + vulnerability but unsure about the action to take.</para> + </listitem> + <listitem> <para>If a package containing a shared library is updated, and if the name of the library changes, then any packages dynamically linked to the library must be recompiled, to link against the From 02837798dae56c2cc33f036cfea21f5bf2d0881f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Thu, 5 Oct 2023 16:00:48 +0800 Subject: [PATCH 20/51] man-db: Remove outdated test failure notice --- chapter08/man-db.xml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/chapter08/man-db.xml b/chapter08/man-db.xml index 88c811d33..229111131 100644 --- a/chapter08/man-db.xml +++ b/chapter08/man-db.xml @@ -113,11 +113,7 @@ <para>To test the results, issue:</para> -<screen><userinput remap="test">make -k check</userinput></screen> - - <!-- https://gitlab.com/man-db/man-db/-/issues/25 --> - <para>One test named <filename>man1/lexgrog.1</filename> is known - to fail.</para> +<screen><userinput remap="test">make check</userinput></screen> <para>Install the package:</para> From d42ea8f08def207bae0c4941df98a9ff4b285b16 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sat, 7 Oct 2023 18:48:41 +0800 Subject: [PATCH 21/51] packages: Remove empty sha256 fields --- chapter03/packages.xml | 2 -- packages.ent | 2 -- 2 files changed, 4 deletions(-) diff --git a/chapter03/packages.xml b/chapter03/packages.xml index dba151cac..101ab994a 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -242,7 +242,6 @@ <para>Home page: <ulink url="&gcc-home;"/></para> <para>Download: <ulink url="&gcc-url;"/></para> <para>MD5 sum: <literal>&gcc-md5;</literal></para> - <para>SHA256 sum: <literal>&gcc-sha256;</literal></para> </listitem> </varlistentry> @@ -356,7 +355,6 @@ <para>Home page: <ulink url="&inetutils-home;"/></para> <para>Download: <ulink url="&inetutils-url;"/></para> <para>MD5 sum: <literal>&inetutils-md5;</literal></para> - <para>SHA256 sum: <literal>&inetutils-sha256;</literal></para> </listitem> </varlistentry> diff --git a/packages.ent b/packages.ent index 255b45a98..dc44a1e22 100644 --- a/packages.ent +++ b/packages.ent @@ -222,7 +222,6 @@ <!ENTITY gcc-size "85,800 KB"> <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz"> <!ENTITY gcc-md5 "e0e48554cc6e4f261d55ddee9ab69075"> -<!ENTITY gcc-sha256 ""> <!ENTITY gcc-home "https://gcc.gnu.org/"> <!ENTITY gcc-tmpp1-du "4.2 GB"> <!ENTITY gcc-tmpp1-sbu "3.5 SBU"> @@ -330,7 +329,6 @@ <!ENTITY inetutils-size "1,522 KB"> <!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz"> <!ENTITY inetutils-md5 "319d65bb5a6f1847c4810651f3b4ba74"> -<!ENTITY inetutils-sha256 ""> <!ENTITY inetutils-home "&gnu-software;inetutils/"> <!ENTITY inetutils-fin-du "31 MB"> <!ENTITY inetutils-fin-sbu "0.2 SBU"> From c39bfe9b33f371f9623b5eaa5e030ec2ebedad11 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Sun, 8 Oct 2023 16:04:48 +0800 Subject: [PATCH 22/51] currency: Do not run strip_tags on api.github.com output The output of api.github.com is JSON, thus we should not remove every <...> for it. For example, strip_tags had trimmed the JSON for shadow-4.14.1, leading to "Attempt to read property "tag_name" on null". --- lfs-latest-git.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index c0c7aaea3..6894b4a9e 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -85,8 +85,9 @@ function http_get_file( $url ) exec( "curl --location --silent --max-time 30 $url", $dir ); - $s = implode( "\n", $dir ); - $dir = strip_tags( $s ); + $dir = implode( "\n", $dir ); + if ( !preg_match( "/api.github.com/", $url) ) + $dir = strip_tags( $dir ); return explode( "\n", $dir ); } From 91c6e9b2fb5cb5af3d3dce74dd52891161adf2ff Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Wed, 11 Oct 2023 19:15:07 +0800 Subject: [PATCH 23/51] dependencies: MarkupSafe and Jinja2 dependencies should be rendered for sysv too --- appendices/dependencies.xml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index c84776374..2bec3dd93 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1496,37 +1496,37 @@ </segmentedlist> <!-- Begin Jinja2 dependency info --> - <bridgehead revision='systemd' renderas="sect2" id="jinja2-dep">Jinja2</bridgehead> + <bridgehead renderas="sect2" id="jinja2-dep">Jinja2</bridgehead> - <segmentedlist id="jinja2-depends" revision='systemd'> + <segmentedlist id="jinja2-depends"> <segtitle>&dependencies;</segtitle> <seglistitem> <seg>MarkupSafe and Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-rundeps" revision='systemd'> + <segmentedlist id="jinja2-rundeps"> <segtitle>&runtime;</segtitle> <seglistitem> <seg>MarkupSafe and Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-testdeps" revision='systemd'> + <segmentedlist id="jinja2-testdeps"> <segtitle>&testsuites;</segtitle> <seglistitem> <seg>No test suite available</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-before" revision='systemd'> + <segmentedlist id="jinja2-before"> <segtitle>&before;</segtitle> <seglistitem> <seg>&systemd-udev;</seg> </seglistitem> </segmentedlist> - <segmentedlist id="jinja2-optdeps" revision='systemd'> + <segmentedlist id="jinja2-optdeps"> <segtitle>&external;</segtitle> <seglistitem> <seg>None</seg> @@ -2136,37 +2136,37 @@ </segmentedlist> <!-- Begin MarkupSafe dependency info --> - <bridgehead renderas="sect2" id="markupsafe-dep" revision='systemd'>MarkupSafe</bridgehead> + <bridgehead renderas="sect2" id="markupsafe-dep">MarkupSafe</bridgehead> - <segmentedlist id="markupsafe-depends" revision='systemd'> + <segmentedlist id="markupsafe-depends"> <segtitle>&dependencies;</segtitle> <seglistitem> <seg>Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-rundeps" revision='systemd'> + <segmentedlist id="markupsafe-rundeps"> <segtitle>&runtime;</segtitle> <seglistitem> <seg>Python</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-testdeps" revision='systemd'> + <segmentedlist id="markupsafe-testdeps"> <segtitle>&testsuites;</segtitle> <seglistitem> <seg>No test suite available</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-before" revision='systemd'> + <segmentedlist id="markupsafe-before"> <segtitle>&before;</segtitle> <seglistitem> <seg>Jinja2</seg> </seglistitem> </segmentedlist> - <segmentedlist id="markupsafe-optdeps" revision='systemd'> + <segmentedlist id="markupsafe-optdeps"> <segtitle>&external;</segtitle> <seglistitem> <seg>None</seg> From 2c3487d37de87f0ef499aa69b79ef319efddf083 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Sun, 15 Oct 2023 13:54:19 -0500 Subject: [PATCH 24/51] PAckage updates. Update to linux-6.5.7. Update to shadow-4.14.1. Update to gettext-0.22.3. --- chapter01/changelog.xml | 18 ++++++++++++++++++ packages.ent | 18 +++++++++--------- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 4a3bd21ae..10cae0af0 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,24 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-10-15</para> + <itemizedlist> + <listitem> + <para>[bdubbs] - Update to linux-6.5.7. Fixes + <ulink url='&lfs-ticket-root;5362'>#5362</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to shadow-4.14.1. Fixes + <ulink url='&lfs-ticket-root;5361'>#5361</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to gettext-0.22.3. Fixes + <ulink url='&lfs-ticket-root;5359'>#5359</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-03</para> diff --git a/packages.ent b/packages.ent index dc44a1e22..fb56e8b1f 100644 --- a/packages.ent +++ b/packages.ent @@ -245,10 +245,10 @@ <!ENTITY gdbm-fin-du "13 MB"> <!ENTITY gdbm-fin-sbu "less than 0.1 SBU"> -<!ENTITY gettext-version "0.22.2"> -<!ENTITY gettext-size "9,999 KB"> +<!ENTITY gettext-version "0.22.3"> +<!ENTITY gettext-size "9,997 KB"> <!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz"> -<!ENTITY gettext-md5 "34531a35dd19370e86847bcf33148098"> +<!ENTITY gettext-md5 "460b38ae5e520253dcd06165dd3e281f"> <!ENTITY gettext-home "&gnu-software;gettext/"> <!ENTITY gettext-tmp-du "306 MB"> <!ENTITY gettext-tmp-sbu "1.1 SBU"> @@ -431,12 +431,12 @@ <!ENTITY linux-major-version "6"> <!ENTITY linux-minor-version "5"> -<!ENTITY linux-patch-version "5"> +<!ENTITY linux-patch-version "7"> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> -<!ENTITY linux-size "135,734 KB"> +<!ENTITY linux-size "135,699 KB"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> -<!ENTITY linux-md5 "dc420e354d2b98e8a962969e6b85898f"> +<!ENTITY linux-md5 "0323da8de9d6aaa017b20d403cc3505a"> <!ENTITY linux-home "https://www.kernel.org/"> <!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is allnoconfig + some configs we recommend for the users, rounded down to @@ -628,10 +628,10 @@ <!ENTITY sed-fin-du "30 MB"> <!ENTITY sed-fin-sbu "0.3 SBU"> -<!ENTITY shadow-version "4.14.0"> -<!ENTITY shadow-size "1,746 KB"> +<!ENTITY shadow-version "4.14.1"> +<!ENTITY shadow-size "1,759 KB"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> -<!ENTITY shadow-md5 "bb0166bebc24db9003bb77bfd1359042"> +<!ENTITY shadow-md5 "674950d5545fb29463af51c244ce2121"> <!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> <!ENTITY shadow-fin-du "46 MB"> <!ENTITY shadow-fin-sbu "0.1 SBU"> From 6f090ad2b7ed6f4bdaef100157c33b3c8a46a47c Mon Sep 17 00:00:00 2001 From: Pierre Labastie <pierre.labastie@neuf.fr> Date: Wed, 18 Oct 2023 23:54:57 +0200 Subject: [PATCH 25/51] pdf book: fix page numbering in part III By default page numbering in <preface> is in roman numeral. This is ok for the book preface, but not for the part III preface. So copy the page.number.format template from docbook stylesheets to stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl, and modify it. Reported by: Vladimir Pertsev on lfs-dev list --- stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl b/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl index 49337d0ef..787a0e8c1 100644 --- a/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl +++ b/stylesheets/lfs-xsl/pdf/lfs-pagesetup.xsl @@ -241,4 +241,22 @@ </fo:block> </xsl:template> + <!-- page.number.format + We want roman numerals only in book's preface, not parts prefaces + (if any). The original template is in {docbook-xsl}/fo/pagesetup.xsl --> + <xsl:template name="page.number.format"> + <xsl:param name="element" select="local-name(.)"/> + <xsl:param name="master-reference" select="''"/> + + <xsl:choose> + <xsl:when test="$element = 'toc' and self::book">i</xsl:when> + <xsl:when test="$element = 'set'">i</xsl:when> + <xsl:when test="$element = 'book'">i</xsl:when> + <xsl:when test="$element = 'preface' and not(ancestor::part)">i</xsl:when> + <xsl:when test="$element = 'dedication'">i</xsl:when> + <xsl:when test="$element = 'acknowledgements'">i</xsl:when> + <xsl:otherwise>1</xsl:otherwise> + </xsl:choose> + </xsl:template> + </xsl:stylesheet> From 7f36b16e7262b9023d1b5a54709d6f636b5b6733 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao <xry111@xry111.site> Date: Tue, 24 Oct 2023 21:09:41 +0800 Subject: [PATCH 26/51] pkgmgt: Sync the naming of SpiderMonkey with BLFS --- chapter08/pkgmgt.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 13d79cfdd..794fe1259 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -163,7 +163,7 @@ provided by <application>coreutils</application> has already implemented this, and most packages use that command to install binary files and libraries. This means that you won't be troubled by this issue most of the time. - However, the install process of some packages (notably Mozilla JS + However, the install process of some packages (notably SpiderMonkey in BLFS) just overwrites the file if it exists; this causes a crash. So it's safer to save your work and close unneeded running processes before updating a package.</para> <!-- binary is an adjective, not a noun. --> From a5de784d1413fb25085fb496af02f30b9848a46a Mon Sep 17 00:00:00 2001 From: Bruce Dubbs <bdubbs@linuxfromscratch.org> Date: Tue, 31 Oct 2023 14:10:03 -0500 Subject: [PATCH 27/51] PAckage updates. Update to iana-etc-20231019. Update to wheel-0.41.3. Update to shadow-4.14.2. Update to openssl-3.1.4. Update to texinfo-7.1. Update to meson-1.2.3. Update to bc-6.7.2. Update to linux-6.5.9. Update to Python-3.12.0. Add setuptools-68.2.2. --- chapter01/changelog.xml | 47 ++++++++++++++++++++++++++- chapter01/whatsnew.xml | 11 +++++-- chapter03/packages.xml | 9 ++++++ chapter08/chapter08.xml | 1 + chapter08/setuptools.xml | 69 ++++++++++++++++++++++++++++++++++++++++ packages.ent | 64 +++++++++++++++++++++---------------- 6 files changed, 170 insertions(+), 31 deletions(-) create mode 100644 chapter08/setuptools.xml diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 10cae0af0..82a3d85be 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,52 @@ <listitem revision="sysv"> or <listitem revision="systemd"> as appropriate for the entry or if needed the entire day's listitem. --> + <listitem> + <para>2023-11-01</para> + <itemizedlist> + <listitem> + <para>[bdubbs] - Update to iana-etc-20231019. Addresses + <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to wheel-0.41.3. Fixes + <ulink url='&lfs-ticket-root;5370'>#5370</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to shadow-4.14.2. Fixes + <ulink url='&lfs-ticket-root;5368'>#5368</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to openssl-3.1.4. Fixes + <ulink url='&lfs-ticket-root;5367'>#5367</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to texinfo-7.1. Fixes + <ulink url='&lfs-ticket-root;5364'>#5364</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to meson-1.2.3. Fixes + <ulink url='&lfs-ticket-root;5366'>#5366</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to bc-6.7.2. Fixes + <ulink url='&lfs-ticket-root;5363'>#5363</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to linux-6.5.9. Fixes + <ulink url='&lfs-ticket-root;5365'>#5365</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Update to Python-3.12.0. Fixes + <ulink url='&lfs-ticket-root;5357'>#5357</ulink>.</para> + </listitem> + <listitem> + <para>[bdubbs] - Add setuptools-68.2.2. Fixes + <ulink url='&lfs-ticket-root;5358'>#5358</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + <listitem> <para>2023-10-15</para> <itemizedlist> @@ -57,7 +103,6 @@ </itemizedlist> </listitem> - <listitem> <para>2023-10-03</para> <itemizedlist> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 56fd11d71..896d4904e 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -224,6 +224,9 @@ <!--<listitem> <para>Sed-&sed-version;</para> </listitem>--> + <!--<listitem> After version 12.1 release - see Added + <para>Setuptools-&setuptools-version;</para> + </listitem>--> <listitem> <para>Shadow-&shadow-version;</para> </listitem> @@ -242,9 +245,9 @@ <!--<listitem> <para>Tcl-&tcl-version;</para> </listitem>--> - <!--<listitem> + <listitem> <para>Texinfo-&texinfo-version;</para> - </listitem>--> + </listitem> <!--<listitem> <para>Tzdata-&tzdata-version;</para> </listitem>--> @@ -287,6 +290,10 @@ <title>Added: + + setuptools-&setuptools-version; + + &glibc-upstream-fixes-patch; diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 101ab994a..deae31301 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -668,6 +668,15 @@ + + Setuptools (&setuptools-version;) - &setuptools-size;: + + Home page: + Download: + MD5 sum: &setuptools-md5; + + + Shadow (&shadow-version;) - &shadow-size;: diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 8ab81d2f8..2fccb6139 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -65,6 +65,7 @@ + diff --git a/chapter08/setuptools.xml b/chapter08/setuptools.xml new file mode 100644 index 000000000..dac35c5ef --- /dev/null +++ b/chapter08/setuptools.xml @@ -0,0 +1,69 @@ + + + %general-entities; +]> + + + + + + setuptools + &setuptools-version; +
&setuptools-url;
+
+ + Setuptools-&setuptools-version; + + + Setuptools + + + + + + <para>Setuptools is a tool used to download, build, install, upgrade, + and uninstall Python packages.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + <seglistitem> + <seg>&setuptools-fin-sbu;</seg> + <seg>&setuptools-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Setuptools + + Build the package: + +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD + + Install the package: + +pip3 install --no-index --find-links dist setuptools + + + + Contents of Setuptools + + + Installed directory + + + + /usr/lib/python&python-minor;/site-packages/flit_core and + /usr/lib/python&python-minor;/site-packages/flit_core-&setuptools-version;.dist-info + + + + + + +
+ diff --git a/packages.ent b/packages.ent index fb56e8b1f..558ca79f0 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ - + - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - - - + + + - + - - + + @@ -628,10 +628,18 @@ - - + + + + + + + + + + - + @@ -691,10 +699,10 @@ - - + + - + @@ -738,10 +746,10 @@ - - + + - + From 72d1cda89787e3cc71b0b4a5e46b62146446b004 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 31 Oct 2023 18:49:43 -0500 Subject: [PATCH 28/51] Update shadow home page --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index 558ca79f0..9e0b0db2d 100644 --- a/packages.ent +++ b/packages.ent @@ -640,7 +640,7 @@ - + From 8223937f4c12139f9209fe79e23a5d28383c448f Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 16:18:43 +0800 Subject: [PATCH 29/51] setuptools: Fix installed directory list --- chapter08/setuptools.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/chapter08/setuptools.xml b/chapter08/setuptools.xml index dac35c5ef..257a50328 100644 --- a/chapter08/setuptools.xml +++ b/chapter08/setuptools.xml @@ -57,8 +57,10 @@ - /usr/lib/python&python-minor;/site-packages/flit_core and - /usr/lib/python&python-minor;/site-packages/flit_core-&setuptools-version;.dist-info + /usr/lib/python&python-minor;/site-packages/_distutils_hack, + /usr/lib/python&python-minor;/site-packages/pkg_resources, + /usr/lib/python&python-minor;/site-packages/setuptools, and + /usr/lib/python&python-minor;/site-packages/setuptools-&setuptools-version;.dist-info From fe2791d41951ef7ec790a458de6c07ebf3fef029 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 16:33:36 +0800 Subject: [PATCH 30/51] dependencies: Add Setuptools By the way, complete the dependencies on Wheel too. --- appendices/dependencies.xml | 49 ++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 2bec3dd93..9ed06a9b7 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1501,7 +1501,7 @@ &dependencies; - MarkupSafe and Python + MarkupSafe, Python, Setuptools, and Wheel @@ -2141,7 +2141,7 @@ &dependencies; - Python + Python, Setuptools, and Wheel @@ -2179,7 +2179,7 @@ &dependencies; - Ninja and Python + Ninja, Python, Setuptools, and Wheel @@ -2741,6 +2741,44 @@ + + Setuptools + + + &dependencies; + + Python and Wheel + + + + + &runtime; + + Python + + + + + &testsuites; + + No test suite available + + + + + &before; + + Jinja2, MarkupSafe, and Meson + + + + + &external; + + None + + + Shadow @@ -3216,7 +3254,7 @@ - wheel + Wheel &dependencies; @@ -3243,8 +3281,7 @@ &before; - None - Jinja2 + Jinja2, MarkupSafe, Meson, and Setuptools From c62883bd83304032893b8a98a5e6c1792352628c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 17:30:18 +0800 Subject: [PATCH 31/51] dependencies: Remove useless --- appendices/dependencies.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 9ed06a9b7..73194612c 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -3281,7 +3281,7 @@ &before; - Jinja2, MarkupSafe, Meson, and Setuptools + Jinja2, MarkupSafe, Meson, and Setuptools From 23d67d844b95075f27ee04dcebb7e87c8655092c Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 1 Nov 2023 21:34:44 +0800 Subject: [PATCH 32/51] python: Remove --with-system-ffi This option is removed by upstream in 3.12. Link: https://github.com/python/cpython/pull/100544 --- chapter08/python.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/chapter08/python.xml b/chapter08/python.xml index a4bfeaf91..f7bc19d47 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -48,7 +48,6 @@ ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ - --with-system-ffi \ --enable-optimizations @@ -62,14 +61,6 @@
- - --with-system-ffi - - This switch enables linking against the system version of - libffi.so. - - - --enable-optimizations From 6b1661a6374a52230e81bca1476aefe0aa3b0290 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 1 Nov 2023 11:10:45 -0500 Subject: [PATCH 33/51] Update currency for setuptools --- lfs-latest-git.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 6894b4a9e..162d8d6c8 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -128,6 +128,7 @@ if ( $package == "expect" ) $dirpath = "https://sourceforge.net/projects/exp if ( $package == "file" ) $dirpath = "https://github.com/file/file/tags"; if ( $package == "flex" ) $dirpath = github("westes/flex"); if ( $package == "flit_core" ) $dirpath = "https://pypi.org/project/flit-core/"; +if ( $package == "setuptools" ) $dirpath = "https://pypi.org/project/setuptools/"; if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); if ( $package == "iana-etc" ) $dirpath = github("Mic92/iana-etc"); if ( $package == "intltool" ) $dirpath = "https://launchpad.net/intltool/trunk"; @@ -294,6 +295,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd"); if ( $package == "flit_core" ) return find_max( $lines, "/flit-core /", "/^.*flit-core ([\d\.]+)$/" ); + if ( $package == "setuptools" ) + return find_max( $lines, "/setuptools /", "/^.*setuptools ([\d\.]+)$/" ); + if ( $package == "procps-ng" ) return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); From 5f8327e63312e2cc4811e91da9e2eb47be79502d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 Nov 2023 14:31:32 +0800 Subject: [PATCH 34/51] gawk: Fix "gawk-&gawk-version; is a remnant from Chapter 7" again We'd fixed #5180 by forcing LN='ln -f'. But this has stopped to work with gawk-5.2.2 (and 5.3.0) because now the building system explicitly checks the existence of gawk-&gawk-version; and refuses to update it if it exists. Now removing the file before "make install" seems the easiest solution. Link: https://git.savannah.gnu.org/cgit/gawk.git/commit/?id=11762f4c0685 --- chapter08/gawk.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index cc9348d90..71e295652 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -59,15 +59,18 @@ su tester -c "PATH=$PATH make check" Install the package: -make LN='ln -f' install +rm -f /usr/bin/gawk-&gawk-version; +make install - The meaning of the overridden make variable: + The meaning of the command: - LN='ln -f' + rm -f /usr/bin/gawk-&gawk-version; - This variable ensures that the previous hard link installed + The building system will not recreate the hard link + gawk-&gawk-version; if it already exists. + Remove it to ensure that the previous hard link installed in is updated here. From 93311f4abb72c8e053970ff6122d90c75ce5a3d7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 3 Nov 2023 14:38:55 +0800 Subject: [PATCH 35/51] gawk: "rm -f ..." is a command, not an envar --- chapter08/gawk.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index 71e295652..d8984b58e 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -66,7 +66,7 @@ make install The meaning of the command: - rm -f /usr/bin/gawk-&gawk-version; + rm -f /usr/bin/gawk-&gawk-version; The building system will not recreate the hard link gawk-&gawk-version; if it already exists. From d11686c6f0d1ef2d7c739e06ef151155b19e3469 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 8 Nov 2023 17:27:10 +0800 Subject: [PATCH 36/51] pkgmgt: Update the desc for "separate directories" There seems some guy overusing this method so we should add more caveats. - Use /opt/foo-x.y instead of /usr/pkg/foo-x.y. /opt/foo-x.y is used in BLFS for Rustc, Qt5, etc. and /usr/pkg is not FHS-compliant. - Use /etc/ld.so.conf and LDFLAGS instead of LD_LIBRARY_PATH. Relying on LD_LIBRARY_PATH is generally a bad idea, and we also don't use it in BLFS for /opt packages. - Discourage this method for general use, mention it may not work for vital packages like Glibc. --- chapter08/pkgmgt.xml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 794fe1259..185538796 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -196,19 +196,29 @@ This is a simplistic package management technique that does not need a special program to manage the packages. Each package is installed in a separate directory. For example, package foo-1.1 is installed in - /usr/pkg/foo-1.1 - and a symlink is made from /usr/pkg/foo to - /usr/pkg/foo-1.1. When + /opt/foo-1.1 + and a symlink is made from /opt/foo to + /opt/foo-1.1. When a new version foo-1.2 comes along, it is installed in - /usr/pkg/foo-1.2 and the previous + /opt/foo-1.2 and the previous symlink is replaced by a symlink to the new version. Environment variables such as PATH, - LD_LIBRARY_PATH, MANPATH, - INFOPATH and CPPFLAGS need to be expanded to - include /usr/pkg/foo. If you install more than a few packages, - this scheme becomes unmanageable. + MANPATH, INFOPATH, + PKG_CONFIG_PATH, CPPFLAGS, + LDFLAGS, and the configuration file + /etc/ld.so.conf may need to be expanded to + include the corresponding subdirectories in + /opt/foo-x.y. + + This scheme is used by the BLFS book to install some very large + packages to make it easier to upgrade them. If you install more + than a few packages, this scheme becomes unmanageable. And some + packages (for example Linux API headers and Glibc) may not work well + with this scheme. + Never use this scheme system-wide. + From f6bf77de74bb81eff72cef18f75b9335b94dcdd5 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 11 Nov 2023 18:07:05 +0800 Subject: [PATCH 37/51] udev: Remove four udev rules belonging to logind They are not really useful without logind. BLFS elogind package will provide them too, so we should remove them and avoid a package manager conflict. --- chapter08/udev.xml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 35bb12f46..acc23172f 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -117,9 +117,12 @@ meson setup \ $(realpath libudev.so --relative-to .) Remove one udev rule file requiring a full Systemd - installation: + installation and four udev rule files for the login manager (if you need + a login manager, install the BLFS elogind package after finishing LFS; + the elogind package will install these udev rules as well): -rm rules.d/90-vconsole.rules +rm rules.d/{70-uaccess,71-seat,73-seat-late,90-vconsole}.rules +rm ../rules.d/70-power-switch.rules Install the package: From 5196daeb4e36b321e42a8bec8302cad31c6ff690 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 19:27:23 +0800 Subject: [PATCH 38/51] udev: Adjust some command Set -Dlogind=false -Dvconsole=false to disable out-of-scope udev rules. Use "ninja -n" to list the targets, so the disabled udev rules won't show up then we can remove some "rm" commands. Do not remove 70-power-switch.rules from the source directory so we won't break multilib. --- chapter08/udev.xml | 49 +++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index acc23172f..3c7d7d25c 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -66,6 +66,8 @@ meson setup \ -Dmode=release \ -Ddev-kvm-mode=0660 \ -Dlink-udev-shared=false \ + -Dlogind=false \ + -Dvconsole=false \ .. @@ -107,38 +109,41 @@ meson setup \ and it's too overkill for a udev-only installation. + + + -Dlogind=false -Dvconsole=false + + These options prevent the generation of several udev rule + files belonging to the other Systemd components that we won't + install. + + Only build the components needed for udev: - ninja udevadm systemd-hwdb \ - $(grep -o -E "^build (src/libudev|src/udev|rules.d|hwdb.d)[^:]*" \ - build.ninja | awk '{ print $2 }') \ + ninja udevadm systemd-hwdb \ + $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \ $(realpath libudev.so --relative-to .) - Remove one udev rule file requiring a full Systemd - installation and four udev rule files for the login manager (if you need - a login manager, install the BLFS elogind package after finishing LFS; - the elogind package will install these udev rules as well): - -rm rules.d/{70-uaccess,71-seat,73-seat-late,90-vconsole}.rules -rm ../rules.d/70-power-switch.rules - Install the package: install -vm755 -d {/usr/lib,/etc}/udev/{hwdb,rules}.d install -vm755 -d /usr/{lib,share}/pkgconfig -install -vm755 udevadm /usr/bin/ -install -vm755 systemd-hwdb /usr/bin/udev-hwdb -ln -svfn ../bin/udevadm /usr/sbin/udevd -cp -av libudev.so{,*[0-9]} /usr/lib/ -install -vm644 ../src/libudev/libudev.h /usr/include/ -install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ -install -vm644 src/udev/*.pc /usr/share/pkgconfig/ -install -vm644 ../src/udev/udev.conf /etc/udev/ -install -vm644 rules.d/* ../rules.d/{*.rules,README} /usr/lib/udev/rules.d/ -install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ -install -vm755 $(find src/udev -type f | grep -F -v ".") /usr/lib/udev +install -vm755 udevadm /usr/bin/ +install -vm755 systemd-hwdb /usr/bin/udev-hwdb +ln -svfn ../bin/udevadm /usr/sbin/udevd +cp -av libudev.so{,*[0-9]} /usr/lib/ +install -vm644 ../src/libudev/libudev.h /usr/include/ +install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ +install -vm644 src/udev/*.pc /usr/share/pkgconfig/ +install -vm644 ../src/udev/udev.conf /etc/udev/ +install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ +install -vm644 $(echo ../rules.d/*.rules | + sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ +install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ +install -vm755 $(find src/udev -type f \ + -not -name '*.*') /usr/lib/udev Install some custom rules and support files useful in an LFS environment: From e70bf8f4f487b56276db09390949cd865bfca43e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 21:00:03 +0800 Subject: [PATCH 39/51] hostreqs: Bump Coreutils minimal version to 8.1 and check for nproc We'll use nproc for setting MAKEFLAGS and TESTSUITEFLAGS. And if nproc is not available, we'll end up with "MAKEFLAGS=-j" which is very dangerous because it allows make to spawn infinite number of jobs. Check it early. The nproc program is added in Coreutils 8.1 so we need to bump the minimal version. --- chapter02/hostreqs.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index 69533b9c7..63dcd943f 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -54,8 +54,9 @@ should be a link to bison or a small script that executes bison) + - Coreutils-7.0 + Coreutils-8.1 @@ -218,8 +219,8 @@ ver_kernel() fi } -# Coreutils first because-sort needs Coreutils >= 7.0 -ver_check Coreutils sort 7.0 || bail "--version-sort unsupported" +# Coreutils first because --version-sort needs Coreutils >= 7.0 +ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop" ver_check Bash bash 3.2 ver_check Binutils ld 2.13.1 ver_check Bison bison 2.7 @@ -259,7 +260,13 @@ echo "Compiler check:" if printf "int main(){}" | g++ -x c++ - then echo "OK: g++ works"; else echo "ERROR: g++ does NOT work"; fi -rm -f a.out +rm -f a.out + +if [ "$(nproc)" = "" ]; then + echo "ERROR: nproc is not available or it produces empty output" +else + echo "OK: nproc reports $(nproc) logical cores are available" +fi EOF bash version-check.sh From a0a803c0b053dd9b4867690d8bc25fc0b97fa486 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 14:42:06 +0800 Subject: [PATCH 40/51] settingenviron: Set MAKEFLAGS for parallelism in ~lfs/.bashrc --- chapter04/aboutsbus.xml | 12 --------- chapter04/settingenviron.xml | 49 ++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 12 deletions(-) diff --git a/chapter04/aboutsbus.xml b/chapter04/aboutsbus.xml index f88db24f6..42a523fa1 100644 --- a/chapter04/aboutsbus.xml +++ b/chapter04/aboutsbus.xml @@ -37,18 +37,6 @@ numbers can vary by as much as dozens of minutes in some cases. - For many modern systems with multiple processors (or cores) the - compilation time for a package can be reduced by performing a "parallel - make" by either setting an environment variable or telling the - make program how many processors are available. For - instance, an Intel i5-6500 CPU can support four simultaneous processes with: - - export MAKEFLAGS='-j4' - - or by building with: - - make -j4 - When multiple processors are used in this way, the SBU units in the book will vary even more than they normally would. In some cases, the make step will simply fail. Analyzing the output of the build process will also diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml index b255a4b45..2d8d6045f 100644 --- a/chapter04/settingenviron.xml +++ b/chapter04/settingenviron.xml @@ -195,6 +195,55 @@ EOF completed LFS system. + + For many modern systems with multiple processors (or cores) the + compilation time for a package can be reduced by performing a "parallel + make" by telling the make program how many processors are available via + a command line option or an environment variable. For instance, an Intel + Core i9-13900K processor has 8 P (performance) cores and + 16 E (efficiency) cores, and a P core can simultaneously run two threads + so each P core are modeled as two logical cores by the Linux kernel. + As the result there are 32 logical cores in total. One obvious way to + use all these logical cores is allowing make to spawn + up to 32 build jobs. This can be done by passing the + -j32 option to make: + + + make -j32 + + + Or set the MAKEFLAGS environment variable and its + content will be automatically used by make as + command line options: + + + export MAKEFLAGS=-j32 + + + + Never pass a -j option without a number to + make or set such an option in + MAKEFLAGS. Doing so will allow make + to spawn infinite build jobs and cause system stability issue. + + + + + To use all logical cores available for building packages in + and + , set MAKEFLAGS + now in .bashrc: + + +cat >> ~/.bashrc << "EOF" +export MAKEFLAGS=-j$(nproc) +EOF + + + Replace $(nproc) with the number of logical + cores you want to use if you don't want to use all the logical cores. + + Finally, to ensure the environment is fully prepared for building the temporary tools, force the bash shell to read the new user profile: From 95ebbb42b7eda5114e7ea751030916f9c9eaa5fb Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 14:42:45 +0800 Subject: [PATCH 41/51] chroot: Set MAKEFLAGS and TESTSUITEFLAGS for parallelism --- chapter07/chroot.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index b8de03dc2..a8cd5f878 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -23,8 +23,21 @@ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin \ + MAKEFLAGS="-j$(nproc)" \ + TESTSUITEFLAGS="-j$(nproc)" \ /bin/bash --login + + Again, replace $(nproc) with the number + of logical cores you want to use for building packages in this chapter + and the following chapters if you don't want to use all available + logical cores. The test suites of some packages (notably Autoconf, + Libtool, and Tar) in &ch-final; are not affected by + MAKEFLAGS, they use a TESTSUITEFLAGS + environment variable instead. So we set it here as well for running + these test suites with multiple cores. + + The -i option given to the env command will clear all the variables in the chroot environment. After that, only the HOME, TERM, PS1, and From c17a77452a184025e6577e8cdf1315905acaa6bf Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 11 Sep 2023 16:07:26 +0800 Subject: [PATCH 42/51] automake: Do not use only 4 cores for testing if we have more --- chapter08/automake.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/chapter08/automake.xml b/chapter08/automake.xml index 4fc1bd277..5d7541049 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -53,11 +53,14 @@ make - Using the -j4 make option speeds up the tests, even on systems with - only one processor, due to internal delays in individual tests. To test + Using four parallel jobs speeds up the tests, even on systems with + less logical cores, due to internal delays in individual tests. To test the results, issue: -make -j4 check +make -j$(($(nproc)>4?$(nproc):4)) check + + Replace $((...)) with the number of + logical cores you want to use if you don't want to use all. The test t/subobj.sh is known to fail. From 3a8d1825cc7dcb9cc8a7c01f5e98d672723bbe6a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 19:41:56 +0800 Subject: [PATCH 43/51] openssl: Add HARNESS_JOBS=$(nproc) --- chapter08/openssl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml index 6a4441552..25295f056 100644 --- a/chapter08/openssl.xml +++ b/chapter08/openssl.xml @@ -63,7 +63,7 @@ To test the results, issue: -make test +HARNESS_JOBS=$(nproc) make test One test, 30-test_afalg.t, is known to fail if the host kernel does not have enabled, From d490056b64d0b55df01096871647a76574a142fc Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 13 Sep 2023 19:48:55 +0800 Subject: [PATCH 44/51] perl: Use TEST_JOBS=$(nproc) make test_harness for test suite --- chapter08/perl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/perl.xml b/chapter08/perl.xml index d3159595c..2bb849645 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -111,7 +111,7 @@ export BUILD_BZIP2=0 To test the results (approximately 11 SBU), issue: -make test +TEST_JOBS=$(nproc) make test_harness Install the package and clean up: From e07c41946983e891b283482c294ed748494c2578 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 13 Nov 2023 21:32:40 +0800 Subject: [PATCH 45/51] Package updates - Update to elfutils-0.190 (#5373) - Update to vim-9.0.2103 - Update to linux-6.6.1 (#5369) - Update to xz-5.4.5 (#5371) - Update to iana-etc-20231107 - Update to gawk-5.3.0 (#5372) - Update to bash-5.2.21 (#5375) - Update to iproute2-6.6.0 (#5374) --- chapter01/changelog.xml | 38 ++++++++++++++++++++++++++++++ packages.ent | 52 ++++++++++++++++++++--------------------- 2 files changed, 64 insertions(+), 26 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 82a3d85be..8ad5949fb 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,44 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2023-11-13 + + + [xry111] - Update to elfutils-0.190. Fixes + #5373. + + + [xry111] - Update to vim-9.0.2103. Addresses + #4500. + + + [xry111] - Update to linux-6.6.1. Fixes + #5369. + + + [xry111] - Update to xz-5.4.5. Fixes + #5371. + + + [xry111] - Update to iana-etc-20231107. Addresses + #5006. + + + [xry111] - Update to gawk-5.3.0. Fixes + #5372. + + + [xry111] - Update to bash-5.2.21. Fixes + #5375. + + + [xry111] - Update to iproute2-6.6.0. Fixes + #5374. + + + + 2023-11-01 diff --git a/packages.ent b/packages.ent index 9e0b0db2d..fbb39bc31 100644 --- a/packages.ent +++ b/packages.ent @@ -47,10 +47,10 @@ - - + + - + @@ -148,10 +148,10 @@ - - + + - + @@ -208,10 +208,10 @@ - - + + - + @@ -317,10 +317,10 @@ - - + + - + @@ -341,10 +341,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - + - - + + @@ -762,10 +762,10 @@ - - + + - + From 1780e72d8d14621ffe3aaea89678d2eb93a63bf1 Mon Sep 17 00:00:00 2001 From: Thomas Trepl Date: Mon, 13 Nov 2023 16:24:47 +0100 Subject: [PATCH 46/51] udev: Fix a small typo in command --- chapter08/udev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 3c7d7d25c..5eb719e07 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -139,7 +139,7 @@ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ install -vm644 src/udev/*.pc /usr/share/pkgconfig/ install -vm644 ../src/udev/udev.conf /etc/udev/ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ -install -vm644 $(echo ../rules.d/*.rules | +install -vm644 $(echo ../rules.d/*.rules | \ sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ install -vm755 $(find src/udev -type f \ From 798e18b09fd0d0554c8b333e76f43051cc2f5086 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 13 Nov 2023 09:44:05 -0600 Subject: [PATCH 47/51] Minor grammar corrections. Mistakenly removed the remote WIP branch while it's not fully merged yet. Cherry-pick the discarded commit. (cherry picked from commit 2f3f0e9e813f60a88e9f557842a7b9a50cdec50b) --- chapter07/chroot.xml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index a8cd5f878..d7367c8ca 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -28,14 +28,13 @@ /bin/bash --login - Again, replace $(nproc) with the number - of logical cores you want to use for building packages in this chapter - and the following chapters if you don't want to use all available - logical cores. The test suites of some packages (notably Autoconf, - Libtool, and Tar) in &ch-final; are not affected by - MAKEFLAGS, they use a TESTSUITEFLAGS - environment variable instead. So we set it here as well for running - these test suites with multiple cores. + If you don't want to use all available logical cores, replace + $(nproc) with the number of logical cores you + want to use for building packages in this chapter and the following + chapters. The test suites of some packages (notably Autoconf, Libtool, + and Tar) in &ch-final; are not affected by MAKEFLAGS, they + use a TESTSUITEFLAGS environment variable instead. We + set set that here as well for running these test suites with multiple cores. The -i option given to the env @@ -60,7 +59,7 @@ in the PATH. This means that the cross toolchain will no longer be used. - Note that the bash prompt will say + Also note that the bash prompt will say I have no name! This is normal because the /etc/passwd file has not been created yet. From 4bc51b9067c985017046a1adc9bfab019a8389e0 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 14 Nov 2023 02:35:51 +0800 Subject: [PATCH 48/51] udev: Fix install command for ../rules.d/*.rules The sed command has changed ../rules.d/70-power-switch.rules to "../rules.d", causing the install command to fail. Change the command enumerating ../rules.d/*.rules but 70-power-switch.rules to a "find" command. Edit another "find" command so the styles of them are the same. --- chapter08/udev.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 5eb719e07..46ab88cff 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -139,11 +139,11 @@ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ install -vm644 src/udev/*.pc /usr/share/pkgconfig/ install -vm644 ../src/udev/udev.conf /etc/udev/ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ -install -vm644 $(echo ../rules.d/*.rules | \ - sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/ +install -vm644 $(find ../rules.d/*.rules \ + -not -name '*power-switch*') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ -install -vm755 $(find src/udev -type f \ - -not -name '*.*') /usr/lib/udev +install -vm755 $(find src/udev \ + -type f -not -name '*.*') /usr/lib/udev Install some custom rules and support files useful in an LFS environment: From e3ae0675026ae010f2aabaab6725915b203081fa Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 14 Nov 2023 03:05:23 +0800 Subject: [PATCH 49/51] whatsnew: Uncomment updated packages --- chapter01/whatsnew.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 896d4904e..0586b3d02 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -38,9 +38,9 @@ - + Bc-&bc-version; @@ -89,9 +89,9 @@ - + @@ -131,9 +131,9 @@ - + @@ -152,9 +152,9 @@ - + @@ -266,9 +266,9 @@ - + Zlib-&zlib-version; From f16cc36c29a7236852af50166ff8920543681a65 Mon Sep 17 00:00:00 2001 From: "Douglas R. Reno" Date: Wed, 15 Nov 2023 15:25:51 -0600 Subject: [PATCH 50/51] Typo fix --- chapter07/chroot.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index d7367c8ca..70f5717dd 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -34,7 +34,7 @@ chapters. The test suites of some packages (notably Autoconf, Libtool, and Tar) in &ch-final; are not affected by MAKEFLAGS, they use a TESTSUITEFLAGS environment variable instead. We - set set that here as well for running these test suites with multiple cores. + set that here as well for running these test suites with multiple cores. The -i option given to the env From 01247ac90a16aa37dc31dec1d743d77d09194234 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 20 Nov 2023 07:18:26 +0800 Subject: [PATCH 51/51] kernfs: Revise command creating the link target in case /dev/shm is a symlink When /dev/shm is a symlink we need to create its target or some tests will fail and Python 3 will be misconfigured. We wrote it as: mkdir -pv $LFS/$(readlink $LFS/dev/shm) But if $LFS/dev/shm is a relative symlink (say ../run/shm), we end up: mkdir -pv /mnt/lfs/../run/shm This command will create /mnt/run/shm, not $LFS/mnt/shm as we expected. Twist it a little to make it work for both absolute symlinks and relative symlinks. --- chapter07/kernfs.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index 4757b257d..049f6e804 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -107,7 +107,7 @@ mount -vt tmpfs tmpfs $LFS/run we must explicitly mount a tmpfs: if [ -h $LFS/dev/shm ]; then - mkdir -pv $LFS/$(readlink $LFS/dev/shm) + (cd $LFS/dev; mkdir $(readlink shm)) else mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi