From 5ff15e6275dc46e6fd7ae287323597a9bd7c928c Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Thu, 1 Aug 2024 14:46:50 -0500 Subject: [PATCH 01/15] Package updates. Update to setuptools-71.1.0. Update to gcc-14.2.0. --- chapter01/changelog.xml | 8 ++++++-- packages.ent | 12 ++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 12d2f79f4..8f79339aa 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -43,6 +43,10 @@ 2024-08-01 + + [bdubbs] - Update to gcc-14.2. Fixes + #5530. + [bdubbs] - Update to iana-etc-20240723. Addresses #5006. @@ -68,8 +72,8 @@ #5527. - [bdubbs] - Update to setuptools-71.1.0. Fixes - #5524. + [bdubbs] - Update to setuptools-72.1.0. Fixes + #5531. [bdubbs] - Update to sysklogd-2.6.1. Fixes diff --git a/packages.ent b/packages.ent index c10f54da5..26f0f3fb3 100644 --- a/packages.ent +++ b/packages.ent @@ -218,10 +218,10 @@ - - + + - + @@ -637,10 +637,10 @@ - - + + - + From 175b2b6ab6c71532b9294d4a62428585ce368e1e Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 4 Aug 2024 16:21:55 -0500 Subject: [PATCH 02/15] Typo --- chapter01/changelog.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 8f79339aa..439c9c0df 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -44,7 +44,7 @@ 2024-08-01 - [bdubbs] - Update to gcc-14.2. Fixes + [bdubbs] - Update to gcc-14.2.0. Fixes #5530. From 7119cf2a83718de38f9c07c1a365404c1ecce6e8 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 4 Aug 2024 16:28:24 -0500 Subject: [PATCH 03/15] Fix a minor issue with liblz4.pc. --- chapter08/lz4.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter08/lz4.xml b/chapter08/lz4.xml index 993d213e2..efb200557 100644 --- a/chapter08/lz4.xml +++ b/chapter08/lz4.xml @@ -45,7 +45,7 @@ Compile the package: -make BUILD_STATIC=no +make BUILD_STATIC=no PREFIX=/usr To test the results, issue: From 678acc1775ba3760b1f56213b1db7d153c10b9bb Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 5 Aug 2024 12:02:35 +0800 Subject: [PATCH 04/15] toolchaintechnotes: Update the paragraph describing ch05 glibc We no longer pass CC="$LFS_TGT-gcc -nostdinc -isysroot" since cross-chap5. --- part3intro/toolchaintechnotes.xml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 7997b0891..6deffe91c 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -359,20 +359,17 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ldNext comes glibc. The most important considerations for building glibc are the compiler, binary tools, and - kernel headers. The compiler is generally not an issue since glibc will - always use the compiler relating to the --host + kernel headers. The compiler and binary tools are generally not an issue + since glibc will always those relating to the --host parameter passed to its configure script; e.g., in our case, the compiler - will be $LFS_TGT-gcc. The binary tools and kernel - headers can be a bit more complicated. Therefore, we take no risks and use - the available configure switches to enforce the correct selections. After + will be $LFS_TGT-gcc and the readelf + tool will be $LFS_TGT-readelf. The kernel headers can + be a bit more complicated. Therefore, we take no risks and use + the available configure switch to enforce the correct selection. After the run of configure, check the contents of the config.make file in the build directory for all important details. - Note the use of CC="$LFS_TGT-gcc" (with - $LFS_TGT expanded) to control which binary tools are used - and the use of the -nostdinc and - -isystem flags to control the compiler's include - search path. These items highlight an important aspect of the glibc + These items highlight an important aspect of the glibc package—it is very self-sufficient in terms of its build machinery, and generally does not rely on toolchain defaults. From 653ead1781c5dda7de0bd7395a5eeb89db7e2191 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 5 Aug 2024 12:08:18 +0800 Subject: [PATCH 05/15] toolchaintechnotes: Refer to Glibc wiki instead of shlib-versions The list of dynamic linkers is removed in shlib-versions since 2014. Link: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=ba90e05052ce --- part3intro/toolchaintechnotes.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 6deffe91c..3714596fc 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -192,9 +192,9 @@ sure-fire way to determine the name of the dynamic linker is to inspect a random binary from the host system by running: readelf -l <name of binary> | grep interpreter and noting the - output. The authoritative reference covering all platforms is in the - shlib-versions file in the root of the glibc source - tree. + output. The authoritative reference covering all platforms is in + a Glibc wiki + page. In order to fake a cross-compilation in LFS, the name of the host triplet From dd151db302a14f62cbac4c8726a41e7cccd6f94d Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 5 Aug 2024 13:06:09 -0500 Subject: [PATCH 06/15] Package updates. Update to bash-5.2.32. Update to iana-etc-20240801. Update to vim-9.1.0660. Update to binutils-2.43. Update to linux-6.10.3. Update to readline-8.2.13. Update to wheel-0.44.0. --- chapter01/changelog.xml | 34 ++++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 20 ++++++++++++-------- chapter03/patches.xml | 7 ++++--- chapter08/bash.xml | 4 ---- chapter08/readline.xml | 4 ---- packages.ent | 40 ++++++++++++++++++++-------------------- patches.ent | 7 ++++--- 7 files changed, 74 insertions(+), 42 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 439c9c0df..f3eafe40d 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-08-05 + + + [bdubbs] - Update to bash-5.2.32. Fixes + #5532. + + + [bdubbs] - Update to iana-etc-20240801. Addresses + #5006. + + + [bdubbs] - Update to vim-9.1.0660. Addresses + #4500. + + + [bdubbs] - Update to binutils-2.43. Fixes + #5535. + + + [bdubbs] - Update to linux-6.10.3. Fixes + #5534. + + + [bdubbs] - Update to readline-8.2.13. Fixes + #5533. + + + [bdubbs] - Update to wheel-0.44.0. Fixes + #5536. + + + + 2024-08-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 11bad5db3..614ea5c9d 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -38,15 +38,15 @@ Automake-&automake-version; - + Bc-&bc-version; - + @@ -221,9 +221,9 @@ Python-&python-version; - + @@ -301,8 +301,12 @@ Removed: - - + + bash-5.2.21-upstream_fixes-1.patch + + + readline-8.2-upstream_fixes-3.patch + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index de4e0b529..ef00fbe5a 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -26,7 +26,7 @@ --> - + + SysVinit Consolidated Patch - &sysvinit-consolidated-patch-size;: diff --git a/chapter08/bash.xml b/chapter08/bash.xml index c217d5576..9dbcf7863 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -40,10 +40,6 @@ Installation of Bash - First, fix some issues identified upstream: - -patch -Np1 -i ../&bash-upstream-fixes-patch; - Prepare Bash for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/readline.xml b/chapter08/readline.xml index d1c385bbc..882391cae 100644 --- a/chapter08/readline.xml +++ b/chapter08/readline.xml @@ -56,10 +56,6 @@ sed -i '/{OLDSUFF}/c:' support/shlib-install sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf - Now fix a problem identified upstream: - -patch -Np1 -i ../&readline-fixes-patch; - Prepare Readline for compilation: ./configure --prefix=/usr \ diff --git a/packages.ent b/packages.ent index 26f0f3fb3..f583b777c 100644 --- a/packages.ent +++ b/packages.ent @@ -47,10 +47,10 @@ - - + + - + @@ -65,10 +65,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -431,12 +431,12 @@ - + - + - + - + - + @@ -744,10 +744,10 @@ - + - + - + - - + + - + diff --git a/patches.ent b/patches.ent index 3dc18d14c..fbb773577 100644 --- a/patches.ent +++ b/patches.ent @@ -2,10 +2,11 @@ + @@ -29,11 +30,11 @@ - + From 079ced733c5184d6c98e0ca12483cdf9cdb6342e Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 6 Aug 2024 11:10:46 +0800 Subject: [PATCH 07/15] pkgconf: Switch home page to GitHub The upstream maintainer told me (s)he is not controlling pkgconf.org as at now. --- packages.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages.ent b/packages.ent index f583b777c..843d8d0a5 100644 --- a/packages.ent +++ b/packages.ent @@ -581,7 +581,7 @@ - + From 93bffa3abf3ea177e1eed0d1461388de1c967651 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 9 Aug 2024 15:49:05 +0800 Subject: [PATCH 08/15] Regenerate kernel configuration with Linux 6.10.2 source Now all DRM drivers are entries in the DRM submenu. --- chapter10/kernel/kernel.version | 2 +- chapter10/kernel/systemd.xml | 4 ++-- chapter10/kernel/sysv.xml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/chapter10/kernel/kernel.version b/chapter10/kernel/kernel.version index dd0026fc1..22cb9e553 100644 --- a/chapter10/kernel/kernel.version +++ b/chapter10/kernel/kernel.version @@ -1 +1 @@ -6.8.9 +6.10.2 diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml index 4960796ef..271744b65 100644 --- a/chapter10/kernel/systemd.xml +++ b/chapter10/kernel/systemd.xml @@ -45,8 +45,8 @@ Graphics support ---> < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] - # If [DRM] is selected as * or M, this must be selected: - [ /*] Enable legacy fbdev support for your modesetting driver + # If [DRM] is selected as * or M, this must be selected: + [ /*] Enable legacy fbdev support for your modesetting driver ... [DRM_FBDEV_EMULATION] Console display driver support ---> # If [DRM] is selected as * or M, this must be selected: diff --git a/chapter10/kernel/sysv.xml b/chapter10/kernel/sysv.xml index 25cb0c2a6..451898a21 100644 --- a/chapter10/kernel/sysv.xml +++ b/chapter10/kernel/sysv.xml @@ -31,8 +31,8 @@ Graphics support ---> < /*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] - # If [DRM] is selected as * or M, this must be selected: - [ /*] Enable legacy fbdev support for your modesetting driver + # If [DRM] is selected as * or M, this must be selected: + [ /*] Enable legacy fbdev support for your modesetting driver ... [DRM_FBDEV_EMULATION] Console display driver support ---> # If [DRM] is selected as * or M, this must be selected: From a18957940ced92d374e4e41e7eefb982d5c55749 Mon Sep 17 00:00:00 2001 From: Andrew Kreimer Date: Fri, 9 Aug 2024 17:01:15 +0300 Subject: [PATCH 09/15] docs: fix a typo In section "5.3. GCC-13.2.0 - Pass 1", the string "The are not strictly needed" should have "They". Fix that. --- chapter05/gcc-pass1.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 7f33e5215..6ea6d48b6 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -139,7 +139,7 @@ cd build Those switches allow GCC to compile programs with some hardening security features (more information on those in - the in chapter 8) by default. The + the in chapter 8) by default. They are not strictly needed at this stage, since the compiler will only produce temporary executables. But it is cleaner to have the temporary packages be as close as possible to the final ones. From aa00b47601b96634dff68eb62242d8c7eda4ac79 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 12 Aug 2024 19:19:32 +0800 Subject: [PATCH 10/15] build: Use -r for git ls-tree in make dist Without this we may pack things like *.swp into the tarball. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6247b294d..52034319c 100644 --- a/Makefile +++ b/Makefile @@ -212,7 +212,7 @@ dist: $(Q)DIST=/tmp/LFS-RELEASE ./git-version.sh $(REV) $(Q)rm -f lfs-$$( Date: Tue, 13 Aug 2024 09:16:25 +0200 Subject: [PATCH 11/15] Fix missing attribute 'revision' --- chapter10/kernel/systemd.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml index 271744b65..a03c67402 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] From 1e2c41871f37792e59ea5d3ca823bee9536edd3d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Tue, 13 Aug 2024 16:52:16 +0800 Subject: [PATCH 12/15] kernel: Really fix missing revision attribute --- chapter10/kernel/systemd.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter10/kernel/systemd.toml b/chapter10/kernel/systemd.toml index cfb8bf8f1..bfe7a1b40 100644 --- a/chapter10/kernel/systemd.toml +++ b/chapter10/kernel/systemd.toml @@ -25,12 +25,12 @@ TMPFS='*' TMPFS_POSIX_ACL='*' CGROUP_SCHED='* ' +revision='systemd' + [RT_GROUP_SCHED] value = ' ' comment = 'This may cause some systemd features malfunction' -revision='systemd' - [DRM_FBDEV_EMULATION] value = ' *' comment = 'If [DRM] is selected as * or M, this must be selected' From a1a1f9f4debaf5d10083a55d6c67d5b99eec3097 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 14 Aug 2024 10:34:56 -0500 Subject: [PATCH 13/15] Package updates. Update to iana-etc-20240806. Update to pkgconf-2.3.0. Update to python3-3.12.5. Update to linux-6.10.4. --- chapter01/changelog.xml | 22 +++++ chapter08/coreutils.xml | 2 +- packages.ent | 209 ++++++++++++++++++++-------------------- 3 files changed, 128 insertions(+), 105 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f3eafe40d..daa0d45cb 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,28 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-08-15 + + + [bdubbs] - Update to iana-etc-20240806. Addresses + #5006. + + + [bdubbs] - Update to pkgconf-2.3.0. Fixes + #5537. + + + [bdubbs] - Update to python3-3.12.5. Fixes + #5538. + + + [bdubbs] - Update to linux-6.10.4. Fixes + #5539. + + + + 2024-08-05 diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index ca02058b5..181153d1d 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -122,7 +122,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ remove < /dev/null. --> 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 + graphical terminal or a session in SSH or GNU Screen 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): diff --git a/packages.ent b/packages.ent index 843d8d0a5..a7f30cf39 100644 --- a/packages.ent +++ b/packages.ent @@ -26,7 +26,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -44,8 +44,8 @@ - - + + @@ -55,7 +55,7 @@ - + @@ -70,12 +70,12 @@ - + - - + + - + @@ -86,7 +86,7 @@ - + @@ -101,18 +101,18 @@ - - + + - + - - + + @@ -128,7 +128,7 @@ - + @@ -137,7 +137,7 @@ - + @@ -145,15 +145,15 @@ - - + + - + @@ -187,10 +187,10 @@ - - - - + + + + @@ -216,25 +216,25 @@ - + - - - - - - + + + + + + - + @@ -243,25 +243,25 @@ - + - + - - + + - - + + @@ -317,10 +317,10 @@ - + - + @@ -354,7 +354,7 @@ - + @@ -370,7 +370,7 @@ - + @@ -378,7 +378,7 @@ - + @@ -403,14 +403,14 @@ - + - + @@ -419,24 +419,24 @@ - + - + - + - + - + - + - + - + - - - - + + + + - - + + @@ -642,7 +642,7 @@ - + @@ -650,7 +650,7 @@ - + @@ -658,13 +658,14 @@ - + - + @@ -683,7 +684,7 @@ - + @@ -694,7 +695,7 @@ - + @@ -705,8 +706,8 @@ - - + + @@ -739,9 +740,9 @@ - + - + @@ -763,8 +764,8 @@ - - + + @@ -787,9 +788,9 @@ - + - + @@ -809,6 +810,6 @@ - - + + From 4c522f377577a217106d9b3fcd2ab63c9fbf8823 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sat, 17 Aug 2024 16:08:56 -0500 Subject: [PATCH 14/15] Package updates. Update to setuptools-72.2.0. Update to kmod-33. Update to binutils-2.43.1. Update to linux-6.10.5. --- appendices/dependencies.xml | 4 +++- chapter01/changelog.xml | 22 ++++++++++++++++++++++ chapter08/kmod.xml | 23 +++++++++++++++++------ packages.ent | 22 +++++++++++----------- 4 files changed, 53 insertions(+), 18 deletions(-) diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 27a7e2a57..fdd1f0f05 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -1615,7 +1615,9 @@ &external; - None + + scdoc (for man pages) + diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index daa0d45cb..4e420b168 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,28 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-08-17 + + + [bdubbs] - Update to setuptools-72.2.0. Fixes + #5542. + + + [bdubbs] - Update to kmod-33. Fixes + #5540. + + + [bdubbs] - Update to binutils-2.43.1. Fixes + #5543. + + + [bdubbs] - Update to linux-6.10.5. Fixes + #5541. + + + + 2024-08-15 diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index 6c875caed..912fe07a0 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -43,12 +43,13 @@ Prepare Kmod for compilation: -./configure --prefix=/usr \ - --sysconfdir=/etc \ - --with-openssl \ - --with-xz \ - --with-zstd \ - --with-zlib +./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-openssl \ + --with-xz \ + --with-zstd \ + --with-zlib \ + --disable-manpages The meaning of the configure options: @@ -74,6 +75,16 @@ + + + --disable-manpages + + + This option disables generating the manpages which + requires an external program. + + + Compile the package: diff --git a/packages.ent b/packages.ent index a7f30cf39..022333993 100644 --- a/packages.ent +++ b/packages.ent @@ -65,10 +65,10 @@ - - + + - + @@ -365,10 +365,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - - + +