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-$$( &external; - None + + scdoc (for man pages) + diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 12d2f79f4..4e420b168 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,9 +40,91 @@ 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 + + + [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 + + + [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 + + [bdubbs] - Update to gcc-14.2.0. Fixes + #5530. + [bdubbs] - Update to iana-etc-20240723. Addresses #5006. @@ -68,8 +150,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/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/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index d1f32a467..58e39c8de 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -135,7 +135,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. 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/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/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/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: 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/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.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' diff --git a/chapter10/kernel/systemd.xml b/chapter10/kernel/systemd.xml index 8636cf314..fe48c9732 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] @@ -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 deeef1583..f0d4a7797 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: diff --git a/packages.ent b/packages.ent index c10f54da5..d95e49225 100644 --- a/packages.ent +++ b/packages.ent @@ -26,7 +26,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -44,18 +44,18 @@ - - + + - - + + - + - + @@ -65,17 +65,17 @@ - - + + - + - + - - + + - + @@ -86,7 +86,7 @@ - + @@ -101,25 +101,25 @@ - - + + - + - - + + - + @@ -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 @@ - + @@ -365,12 +365,12 @@ - - + + - + - + @@ -378,7 +378,7 @@ - + @@ -403,14 +403,14 @@ - + - + @@ -419,24 +419,24 @@ - + - + - + - + - + - + - + - + - - - - + + + + - - + + - + - + - + @@ -637,12 +637,12 @@ - - + + - + - + @@ -650,7 +650,7 @@ - + @@ -658,13 +658,14 @@ - + - + @@ -675,15 +676,15 @@ - - + + - + @@ -694,7 +695,7 @@ - + @@ -705,8 +706,8 @@ - - + + @@ -739,15 +740,15 @@ - + - + - + - + - + - - + + - - + + - + @@ -787,9 +788,9 @@ - + - + @@ -809,6 +810,6 @@ - - + + diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 7997b0891..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 @@ -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. 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 @@ - +