From 4200e096172fe974a742aab971c9f2d9e784af6a Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 4 Mar 2025 13:55:09 -0600 Subject: [PATCH 01/27] Remove old change entries and update whatsnew. --- chapter01/changelog.xml | 590 ---------------------------------------- chapter01/whatsnew.xml | 200 +++++++------- 2 files changed, 100 insertions(+), 690 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7780b3dc9..abcf7c7cf 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -50,595 +50,5 @@ - - 2025-02-27 - - - [bdubbs] - Update to zstd-1.5.7. Fixes - #5652. - - - [bdubbs] - Update to systemd-257.3. Fixes - #5612. - - - [bdubbs] - Update to shadow-4.17.3. Fixes - #5660. - - - [bdubbs] - Update to setuptools-75.8.1. Fixes - #5662. - - - [bdubbs] - Update to linux-6.13.4. Fixes - #5647. - - - [bdubbs] - Update to kmod-34. Fixes - #5657. - - - [bdubbs] - Update to inetutils-2.6. Fixes - #5656. - - - [bdubbs] - Update to gettext-0.24. Fixes - #5661. - - - [bdubbs] - Update to flit_core-3.11.0. Fixes - #5654. - - - - - - 2025-02-24 - - - [bdubbs] - Update to man-pages-6.12. Fixes - #5658. - - - - - - 2025-02-19 - - - [xry111] - Update to vim-9.1.1122 (Security Update). - Addresses #4500. - - - [xry111] - Update to man-pages-6.11. Fixes - #5646. - - - - - - 2025-02-13 - - - [bdubbs] - Update to vim-9.1.1106. Addresses - #4500. - - - [bdubbs] - Update to diffutils-3.11. Fixes - #5639. - - - [bdubbs] - Update to libffi-3.4.7. Fixes - #5642. - - - [bdubbs] - Update to linux-6.13.2. Fixes - #5643. - - - [bdubbs] - Update to Python3-3.13.2. Fixes - #5640. - - - [bdubbs] - Update to sysvinit-3.14. Fixes - #5641. - - - - - - 2025-02-02 - - - [bdubbs] - Update to vim-9.1.1071. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20250123. Addresses - #5006. - - - [bdubbs] - Update to binutils-2.44.0. Fixes - #5634. - - - [bdubbs] - Update to coreutils-9.6. Fixes - #5628. - - - [bdubbs] - Update to e2fsprogs-1.47.2. Fixes - #5637. - - - [bdubbs] - Update to glibc-2.41. Fixes - #5638. - - - [bdubbs] - Update to iproute2-6.13.0. Fixes - #5631. - - - [bdubbs] - Update to libxcrypt-4.4.38. Fixes - #5626. - - - [bdubbs] - Update to linux-6.13.1. Fixes - #5629. - - - [bdubbs] - Update to man-pages-6.10. Fixes - #5632. - - - [bdubbs] - Update to meson-1.7.0. Fixes - #5636. - - - [bdubbs] - Update to perl-5.40.1. Fixes - #5630. - - - [bdubbs] - Update to tcl8.6.16. Fixes - #5635. - - - [bdubbs] - Update to tzdata2025a. Fixes - #5627. - - - [bdubbs] - Update to xz-5.6.4. Fixes - #5633. - - - - - - 2025-01-15 - - - [bdubbs] - Update to vim-9.1.1016. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20250108. Addresses - #5006. - - - [bdubbs] - Update to util-linux-2.40.4. Fixes - #5624. - - - [bdubbs] - Update to sysvinit-3.13. Fixes - #5621. - - - [bdubbs] - Update to sysklogd-2.7.0. Fixes - #5623. - - - [bdubbs] - Update to shadow-4.17.2. Fixes - #5625. - - - [bdubbs] - Update to setuptools-75.8.0. Fixes - #5622. - - - [bdubbs] - Update to linux-6.12.9. Fixes - #5620. - - - [bdubbs] - Update to gettext-0.23.1. Fixes - #5619. - - - - - - 2025-01-01 - - - [renodr] - Update to libxcrypt-4.4.37. Fixes - #5618. - - - [renodr] - Update to dbus-1.16.0. Fixes - #5609. - - - [bdubbs] - Update to iana-etc-20241220. Addresses - #5006. - - - [bdubbs] - Update to texinfo-7.2. Fixes - #5616. - - - [bdubbs] - Update to sysvinit-3.12. Fixes - #5615. - - - [bdubbs] - Update to shadow-4.17.1. Fixes - #5617. - - - [bdubbs] - Update to procps-ng-4.0.5. Fixes - #5611. - - - [bdubbs] - Update to meson-1.6.1. Fixes - #5610. - - - [bdubbs] - Update to linux-6.12.7. Fixes - #5613. - - - [bdubbs] - Update to kbd-2.7.1. Fixes - #5608. - - - [bdubbs] - Update to jinja2-3.1.5 (Security Update). Fixes - #5614. - - - - - - 2024-12-15 - - - [bdubbs] - Update to vim-9.1.0927. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20241206. Addresses - #5006. - - - [bdubbs] - Update to systemd-257. Fixes - #5559. - - - [bdubbs] - Update to Python-3.13.1 (Security Update). Fixes - #5605. - - - [bdubbs] - Update to libcap-2.73. Fixes - #5604. - - - [bdubbs] - Update to linux-6.12.5. Fixes - #5607. - - - [bdubbs] - Update to kbd-2.7. Fixes - #5608. - - - [bdubbs] - Update to gettext-0.23. Fixes - #5603. - - - - - - 2024-12-01 - - - [bdubbs] - Update to iana-etc-20241122. Addresses - #5006. - - - [bdubbs] - Update to file-5.46. Fixes - #5601. - - - [bdubbs] - Update to iproute2-6.12.0. Fixes - #5597. - - - [bdubbs] - Update to libtool-2.5.4. Fixes - #5598. - - - [bdubbs] - Update to linux-6.12.1. Fixes - #5586. - - - [bdubbs] - Update to setuptools-75.6.0 (Python Module). Fixes - #5599. - - - [bdubbs] - Update to wheel-0.45.1 (Python Module). Fixes - #5600. - - - - - - 2024-11-15 - - - [bdubbs] - Update to vim-9.1.0866. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20241024. Addresses - #5006. - - - [bdubbs] - Update to wheel-0.45.0 (Python Module). Fixes - #5593. - - - [bdubbs] - Update to setuptools-75.5.0 (Python Module). Fixes - #5595. - - - [bdubbs] - Update to linux-6.11.8. Fixes - #5582. - - - [bdubbs] - Update to libcap-2.72. Fixes - #5594. - - - - - - 2024-11-08 - - - [bdubbs] - Added binutils-2.43.1-upstream_fix-1.patch. Fixes - #5591. - - - [bdubbs] - Update to flit_core-3.10.1. Fixes - #5589. - - - [bdubbs] - Update to expat-2.6.4. Fixes - #5590. - - - - - - 2024-10-25 - - - [bdubbs] - Update to linux-6.11.6. Fixes - #5588. - - - [bdubbs] - Update to libcap-2.71. Fixes - #5584. - - - [bdubbs] - Update to setuptools-75.3.0. Fixes - #5585. - - - [bdubbs] - Update to flit_core-3.10.0. Fixes - #5587. - - - - - - 2024-10-25 - - - [bdubbs] - Update to iana-etc-20241015. Addresses - #5006. - - - [bdubbs] - Update to vim-9.1.0813. Addresses - #4500. - - - [bdubbs] - Update to xz-5.6.3. Fixes - #5572. - - - [bdubbs] - Update to sysvinit-3.11. Fixes - #5581. - - - [bdubbs] - Update to setuptools-75.2.0. Fixes - #5577. - - - [bdubbs] - Update to Python3-3.13.0. Fixes - #5575. - - - [bdubbs] - Update to openssl-3.4.0. Fixes - #5582. - - - [bdubbs] - Update to meson-1.6.0. Fixes - #5580. - - - [bdubbs] - Update to markupsafe-3.0.2. Fixes - #5576. - - - [bdubbs] - Update to linux-6.11.5. Fixes - #5574. - - - [bdubbs] - Update to less-668. Fixes - #5578. - - - [bdubbs] - Update to elfutils-0.192. Fixes - #5579. - - - - - - 2024-10-03 - - - [bdubbs] - Revert back to tcl8.6.15. - - - - - - 2024-10-01 - - - [bdubbs] - Update to Python3-3.12.7. Fixes - #5571. - - - [bdubbs] - Update to tcl9.0.0. Fixes - #5570. - - - [bdubbs] - Update to linux-6.11.1. Fixes - #5556. - - - [bdubbs] - Update to libtool-2.5.3. Fixes - #5569. - - - [bdubbs] - Update to iproute2-6.11.0. Fixes - #5561. - - - [bdubbs] - Update to bash-5.2.37. Fixes - #5567. - - - [bdubbs] - Update to bc-7.0.3. Fixes - #5568. - - - - - - 2024-09-20 - - - [bdubbs] - Update to vim-9.1.0738. Addresses - #4500. - - - [bdubbs] - Update to texinfo-7.1.1. Fixes - #5558. - - - [bdubbs] - Update to tcl8.6.15. Fixes - #5562. - - - [bdubbs] - Update to sysklogd-2.6.2. Fixes - #5557. - - - [bdubbs] - Update to setuptools-75.1.0. Fixes - #5560. - - - [bdubbs] - Update to meson-1.5.2. Fixes - #5566. - - - [bdubbs] - Update to iana-etc-20240912. Addresses - #5006. - - - [bdubbs] - Update to gawk-5.3.1. Fixes - #5564. - - - [bdubbs] - Update to bc-7.0.2. Fixes - #5563. - - - - - - 2024-09-07 - - - [bdubbs] - Update to tzdata-2024b. Fixes - #5554. - - - [bdubbs] - Update to systemd-256.5. Fixes - #5551. - - - [bdubbs] - Update to setuptools-74.1.2. Fixes - #5546. - - - [bdubbs] - Update to python3-3.12.6. Fixes - #5555. - - - [bdubbs] - Update to openssl-3.3.2. Fixes - #5552. - - - [bdubbs] - Update to man-db-2.13.0. Fixes - #5550. - - - [bdubbs] - Update to linux-6.10.8. Fixes - #5545. - - - [bdubbs] - Update to libpipeline-1.5.8. Fixes - #5548. - - - [bdubbs] - Update to expat-2.6.3. Fixes - #5553. - - - [bdubbs] - Update to bc-7.0.1. Fixes - #5547. - - - - - - 2024-09-01 - - - [bdubbs] - LFS-12.2 released. - - - - diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 16f23520d..5e2092d84 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -23,9 +23,9 @@ Upgraded to: - + @@ -38,15 +38,15 @@ - + + + @@ -56,54 +56,54 @@ - + - + + + + - + - + + - + + @@ -122,54 +122,54 @@ - + + - + + + + + - + + + + + + + @@ -179,18 +179,18 @@ - + + + + @@ -203,84 +203,84 @@ - + - + - + - + - + + + + + - + + + + + + + - + - + - 2025-03-02 + 2025-03-05 - [bdubbs] - Update to vim-9.1.1166 (Security Update). Fixes - #5666. + [bdubbs] - LFS-12.3 released. diff --git a/chapter10/fstab.xml b/chapter10/fstab.xml index ad835be30..8eb314b87 100644 --- a/chapter10/fstab.xml +++ b/chapter10/fstab.xml @@ -108,6 +108,8 @@ EOF Default iocharset for FAT (). There is no way to specify these settings for the ntfs filesystem at kernel compilation time. + diff --git a/general.ent b/general.ent index b3bce5ae8..09c98f613 100644 --- a/general.ent +++ b/general.ent @@ -7,9 +7,9 @@ - - - + + + From ed2611fa6fec142b9c4a87dd7b21b8a3b28a877b Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 6 Mar 2025 12:55:07 +0800 Subject: [PATCH 03/27] glibc: Remove ja_JP.SJIS (#5669) --- chapter08/glibc.xml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index c803d0c07..a04bc8ac3 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -393,7 +393,6 @@ localedef -i it_IT -f ISO-8859-1 it_IT localedef -i it_IT -f ISO-8859-15 it_IT@euro localedef -i it_IT -f UTF-8 it_IT.UTF-8 localedef -i ja_JP -f EUC-JP ja_JP -localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R @@ -415,15 +414,6 @@ localedef -i zh_TW -f UTF-8 zh_TW.UTF-8 make localedata/install-locales - Then use the localedef command to create and - install locales not listed in the - glibc-&glibc-version;/localedata/SUPPORTED file - when you need them. For instance, the following two locales are - needed for some tests later in this chapter: - -localedef -i C -f UTF-8 C.UTF-8 -localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true - Glibc now uses libidn2 when resolving internationalized domain names. This is a run time dependency. If this capability is needed, the instructions for installing libidn2 are in the From a2bf74a9b5ec941a61974490ae40e247f2db2e58 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sun, 9 Mar 2025 13:08:32 +0800 Subject: [PATCH 04/27] More info about "deploying LFS" --- chapter08/libffi.xml | 7 +++++-- chapter08/pkgmgt.xml | 12 +++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/chapter08/libffi.xml b/chapter08/libffi.xml index 40af81288..f15d08b07 100644 --- a/chapter08/libffi.xml +++ b/chapter08/libffi.xml @@ -51,11 +51,14 @@ Like GMP, Libffi builds with optimizations specific to the processor in use. If building for another system, change the value of the --with-gcc-arch= parameter in the - following command to an architecture name fully implemented by the + following command to an architecture name fully implemented by + both the host CPU and the CPU on that system. If this is not done, all applications that link to libffi will trigger - Illegal Operation Errors. + Illegal Operation Errors. If you cannot figure out a value + safe for both the CPUs, replace the parameter with + to produce a generic library. Prepare Libffi for compilation: diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 10ec5d199..7cda95755 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -370,11 +370,13 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install differences in system hardware and the original kernel configuration. - There have been some reports of issues when copying between - similar but not identical architectures. For instance, the instruction set - for an Intel system is not identical with the AMD processor's instructions, and later - versions of some processors may provide instructions that are unavailable with - earlier versions. + If you want to deploy the LFS system onto a system + with a different CPU, when you build and + you must follow the notes about + overriding the architecture-specific optimization to produce libraries + suitable for both the host system and the system(s) where you'll deploy + the LFS system. Otherwise you'll get Illegal + Instruction errors running LFS. Finally, the new system has to be made bootable via . From e2789b4c66f9e762fb826e6abc24d68e6c2086bb Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Tue, 11 Mar 2025 15:45:14 +0100 Subject: [PATCH 05/27] stylesheets: fix generation of footnotes There was two problems: - the sect1 template did not process the footnote - footnote processing needed to use a template matching footnote/para[1], but we had a template matching para at a higher precendence level. So: - call process.footnotes at the end of the sect1 template - Add a templates matching footnote/para[1] at the same import level as the template matching para (this just call the original template) We also add a priority 1 to the sect1 template in chunk-code.xsl, although it is not strictly necessary. This is what upstream recommends... --- stylesheets/lfs-xsl/chunk-master.xsl | 8 ++++++-- stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl | 10 ++++++++++ stylesheets/lfs-xsl/xhtml/lfs-sections.xsl | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/stylesheets/lfs-xsl/chunk-master.xsl b/stylesheets/lfs-xsl/chunk-master.xsl index 029332162..b353e75ca 100644 --- a/stylesheets/lfs-xsl/chunk-master.xsl +++ b/stylesheets/lfs-xsl/chunk-master.xsl @@ -27,8 +27,12 @@ Prevent creation of dummy sect1 files used to emulate sub-chapters. The original template is in {docbook-xsl}/xhtml/chunk-code.xsl It also matches other sect* tags. The code for those tags are - unchanged. --> - + unchanged. Note that the priority attribute is not strictly + required, because the original template is less restrictive in + matching, so has less precedence. But in case the docbook dev + add a match="sect1" template in their chunk-code.xsl, then it will + be necessary!--> + diff --git a/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl b/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl index 59859c12e..d33cd4f12 100644 --- a/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl +++ b/stylesheets/lfs-xsl/xhtml/lfs-mixed.xsl @@ -43,6 +43,16 @@ + + + + + + diff --git a/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl b/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl index b13e5e11b..0ecfaa4f6 100644 --- a/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl +++ b/stylesheets/lfs-xsl/xhtml/lfs-sections.xsl @@ -166,7 +166,7 @@ - + From 42eaacedbc6ab598b0e4b1a86650f630e64195a7 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 12 Mar 2025 20:55:50 +0800 Subject: [PATCH 06/27] pkgmgmt: Add the definition of "library name" as a footnote --- chapter08/pkgmgt.xml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 7cda95755..3640b519d 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -69,10 +69,25 @@ If a package containing a shared library is updated, and - if the name of the library changes, then any packages dynamically + if the name of the libraryThe name of a shared library is + the string coded in the DT_SONAME entry of its + ELF dynamic section. You can get it with the + readelf -d <library file> + | grep SONAME command. In most cases it's suffixed with + .so.<a version + number>, but there are some cases where + it contains multiple numbers for versioning (like + libbz2.so.1.0), contains the version number + before the .so suffix (like + libbfd-&binutils-version;), or does not contain + any version number at all (for example + libmemusage.so). + Generally there is no correlation between the package version and the + version number(s) in the library name. + changes, then any packages dynamically linked to the library must be recompiled, to link against the - newer library. (Note that there is no correlation between the package - version and the name of the library.) For example, consider a package + newer library. + For example, consider a package foo-1.2.3 that installs a shared library with the name libfoo.so.1. Suppose you upgrade the package to a newer version foo-1.2.4 that installs a shared library with the name From 461741b243906ffc0140fe07971cc9345c87337b Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Fri, 14 Mar 2025 15:53:55 -0500 Subject: [PATCH 07/27] Update packages for mid-March 2025. Update to vim-9.1.1202. Update to iana-etc-20250304. Update to sysklogd-2.7.1. Update to setuptools-76.0.0. Update to pkgconf-2.4.3. Update to man-pages-6.13. Update to linux-6.13.7. Update to libcap-2.75. Update to kmod-34.1. Update to jinja2-3.1.6. Update to expat-2.7.0. Update to dbus-1.16.2. --- chapter01/changelog.xml | 54 ++++++++++++++++++++++++++++++++ chapter01/whatsnew.xml | 48 ++++++++++++++--------------- packages.ent | 68 ++++++++++++++++++++--------------------- 3 files changed, 112 insertions(+), 58 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index a9b74d0dc..ebd5fb27e 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,60 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2025-03-15 + + + [bdubbs] - Update to vim-9.1.1202. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20250304. Addresses + #5006. + + + [bdubbs] - Update to sysklogd-2.7.1. Fixes + #5668. + + + [bdubbs] - Update to setuptools-76.0.0. Fixes + #5665. + + + [bdubbs] - Update to pkgconf-2.4.3. Fixes + #5672. + + + [bdubbs] - Update to man-pages-6.13. Fixes + #5673. + + + [bdubbs] - Update to linux-6.13.7. Fixes + #5664. + + + [bdubbs] - Update to libcap-2.75. Fixes + #5667. + + + [bdubbs] - Update to kmod-34.1. Fixes + #5671. + + + [bdubbs] - Update to jinja2-3.1.6. Fixes + #5670. + + + [bdubbs] - Update to expat-2.7.0. Fixes + #5675. + + + [bdubbs] - Update to dbus-1.16.2. Fixes + #5663. + + + + 2025-03-05 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 5e2092d84..ef204b334 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -62,18 +62,18 @@ - + - + @@ -122,9 +122,9 @@ - + @@ -134,24 +134,24 @@ - + - + - + @@ -167,9 +167,9 @@ - + @@ -182,9 +182,9 @@ - + @@ -212,9 +212,9 @@ - + @@ -230,15 +230,15 @@ - + - + @@ -263,9 +263,9 @@ - + diff --git a/packages.ent b/packages.ent index 48fff096f..97867ab5d 100644 --- a/packages.ent +++ b/packages.ent @@ -114,10 +114,10 @@ - - + + - + @@ -156,10 +156,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -349,10 +349,10 @@ - - + + - + @@ -365,10 +365,10 @@ - + - + @@ -389,10 +389,10 @@ - - + + - + @@ -431,12 +431,12 @@ - + - + - + - + - + From a4b4001f03dfa961ac882d399ed44bd603e40ea6 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Sat, 15 Mar 2025 21:50:05 +0800 Subject: [PATCH 08/27] changelog: Add revision attributes for sysklogd and dbus --- chapter01/changelog.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index ebd5fb27e..8e1f81ddf 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -51,7 +51,7 @@ [bdubbs] - Update to iana-etc-20250304. Addresses #5006. - + [bdubbs] - Update to sysklogd-2.7.1. Fixes #5668. @@ -87,7 +87,7 @@ [bdubbs] - Update to expat-2.7.0. Fixes #5675. - + [bdubbs] - Update to dbus-1.16.2. Fixes #5663. From 7cd3a3fec1d45a46bd92f3485d23d1b777f0887a Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Sat, 15 Mar 2025 08:19:35 +0100 Subject: [PATCH 09/27] Fix displaying note numbers also in pdf --- stylesheets/lfs-xsl/pdf/lfs-mixed.xsl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl b/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl index 834b7057c..8f5576d9f 100644 --- a/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl +++ b/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl @@ -80,6 +80,16 @@ + + + + + + + 2025-04-01 + + + [bdubbs] - Update to vim-9.1.1263. Addresses + #4500. + + + [bdubbs] - Update to iana-etc-20250328. Addresses + #5006. + + + [bdubbs] - Update to xz-5.8.0. Fixes + #5684. + + + [bdubbs] - Update to util-linux-2.41. Fixes + #5648. + + + [bdubbs] - Update to tzdata-2025b. Fixes + #5681. + + + [bdubbs] - Update to shadow-4.17.4. Fixes + #5678. + + + [bdubbs] - Update to setuptools-78.1.0. Fixes + #5676. + + + [bdubbs] - Update to patch-2.8. Fixes + #5689. + + + [bdubbs] - Update to mpfr-4.2.2. Fixes + #5677. + + + [bdubbs] - Update to kmod-34.2. Fixes + #5688. + + + [bdubbs] - Update to gdbm-1.25. Fixes + #5679. + + + [bdubbs] - Update to flit_core-3.12.0. Fixes + #5683. + + + [bdubbs] - Update to expat-2.7.1. Fixes + #5685. + + + 2025-03-15 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index ef204b334..3e3591edb 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -86,18 +86,18 @@ - + - + @@ -194,9 +194,9 @@ - + @@ -206,9 +206,9 @@ - + @@ -233,9 +233,9 @@ Setuptools-&setuptools-version; - + Sysklogd-&sysklogd-version; @@ -254,15 +254,15 @@ - + - + Vim-&vim-version; @@ -272,9 +272,9 @@ - + diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index 763f55ced..1cc918234 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -223,7 +223,7 @@ su tester -c "PATH=$PATH make -k check" that compiling and linking will work as expected. We do this by performing some sanity checks: -echo 'int main(){}' | cc dummy.c -x c - -v -Wl,--verbose &> dummy.log +echo 'int main(){}' | cc -x c - -v -Wl,--verbose &> dummy.log readelf -l a.out | grep ': /lib' There should be no errors, diff --git a/packages.ent b/packages.ent index 97867ab5d..cd692a8c8 100644 --- a/packages.ent +++ b/packages.ent @@ -61,7 +61,7 @@ - + @@ -156,10 +156,10 @@ - - + + - + @@ -200,10 +200,10 @@ - - + + - + @@ -237,10 +237,10 @@ - - + + - + @@ -317,10 +317,10 @@ - - + + - + @@ -365,10 +365,10 @@ - - + + - + @@ -519,10 +519,10 @@ - - + + - + @@ -553,10 +553,10 @@ - - + + - + @@ -637,18 +637,18 @@ - - + + - + - - + + - + @@ -719,10 +719,10 @@ - - + + - + @@ -733,21 +733,21 @@ - - - + + + - + - + - + - + @@ -782,10 +782,10 @@ - - + + - + From d116c1bdb0c8e2fa18245dbe1adc8df2e0d1b27a Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Wed, 2 Apr 2025 17:55:34 +0800 Subject: [PATCH 18/27] whatsnew: Align flit-core entry with the package page title --- chapter01/whatsnew.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 3e3591edb..7610363a6 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -87,7 +87,7 @@ Flex-&flex-version; --> - Flit-core-&flit-core-version; + Flit-Core-&flit-core-version; - + From 7ea7a3b3d32750e8beb52d6fa7cc36d6cd7457f6 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Tue, 8 Apr 2025 12:50:25 -0500 Subject: [PATCH 21/27] Change expat url and fix a grammar issue. --- packages.ent | 2 +- part3intro/toolchaintechnotes.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages.ent b/packages.ent index cd692a8c8..5dbbfed1a 100644 --- a/packages.ent +++ b/packages.ent @@ -158,7 +158,7 @@ - + diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 0d3c66b55..2239b2c7a 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -242,7 +242,7 @@ The build system should not attempt to run any generated machine code supposed to be executed on the host. For - example, when building an utility natively, its man page can be + example, when building a utility natively, its man page can be generated by running the utility with the --help switch and processing the output, but generally it's not possible to do so for a cross-compilation From 32a9d4b35bc4486cfc970301a24af64f2476cdc4 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Thu, 3 Apr 2025 11:33:20 +0800 Subject: [PATCH 22/27] Remove check (#5650) --- appendices/dependencies.xml | 43 -------------- chapter01/whatsnew.xml | 9 +-- chapter03/packages.xml | 9 --- chapter08/chapter08.xml | 1 - chapter08/check.xml | 109 ------------------------------------ lfs-latest-git.php | 1 - packages.ent | 8 --- 7 files changed, 3 insertions(+), 177 deletions(-) delete mode 100644 chapter08/check.xml diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 84dc75acd..4ba8d13c4 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -399,49 +399,6 @@ - - Check - - - &dependencies; - - Gawk, GCC, Grep, Make, Sed, and Texinfo - - - - - &runtime; - - Bash and Gawk - - - - - &testsuites; - - None - - - - - &before; - - None - - - - - &external; - - - libsubunit - and - - patchutils - - - - Coreutils diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index b8ff551d3..8e1bec99c 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -305,12 +305,9 @@ Removed: - - + + Check-0.15.2 + diff --git a/chapter03/packages.xml b/chapter03/packages.xml index d58002ad2..2b3dbd9e7 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -110,15 +110,6 @@ - - Check (&check-version;) - &check-size;: - - Home page: - Download: - MD5 sum: &check-md5; - - - Coreutils (&coreutils-version;) - &coreutils-size;: diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 85589c3be..cb13689e7 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -70,7 +70,6 @@ - diff --git a/chapter08/check.xml b/chapter08/check.xml deleted file mode 100644 index 1000aaa68..000000000 --- a/chapter08/check.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - %general-entities; -]> - - - - - - check - &check-version; -
&check-url;
-
- - Check-&check-version; - - - Check - - - - - - <para>Check is a unit testing framework for C.</para> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&check-fin-sbu;</seg> - <seg>&check-fin-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Check - - Prepare Check for compilation: - -./configure --prefix=/usr --disable-static - - Build the package: - -make - - Compilation is now complete. To run the Check test suite, issue the - following command: - -make check - - - Install the package: - - make docdir=/usr/share/doc/check-&check-version; install - - - - - Contents of Check - - - Installed program - Installed library - - - checkmk - libcheck.so - - - - - Short Descriptions - - - - - checkmk - - Awk script for generating C unit tests for use with the Check - unit testing framework - - checkmk - - - - - - libcheck.so - - Contains functions that allow Check to be called from a test - program - - libcheck - - - - - - - - -
diff --git a/lfs-latest-git.php b/lfs-latest-git.php index f189871eb..d8da03ef5 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -118,7 +118,6 @@ function get_packages( $package, $dirpath ) //if ( $package != "wheel" ) return 0; // debug if ( $package == "bc" ) $dirpath = github("gavinhoward/bc"); -if ( $package == "check" ) $dirpath = github("libcheck/check"); if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs"; if ( $package == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files"; if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; diff --git a/packages.ent b/packages.ent index 5dbbfed1a..c5d645e4c 100644 --- a/packages.ent +++ b/packages.ent @@ -96,14 +96,6 @@ - - - - - - - - From f3e6b8964f8b83146b57083a7d70a1e274f9f10d Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Fri, 4 Apr 2025 15:44:07 +0800 Subject: [PATCH 23/27] make: Remove --without-guile from chapter 6 This seems just a remnant from the pre-cross-chap5 era. Now with the cross- toolchain the build system cannot find guile headers and libraries, thus guile should be disabled by default. I've also tried this on a host distro with guile installed. --- chapter06/make.xml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/chapter06/make.xml b/chapter06/make.xml index eaf0db48f..3d3ca9b38 100644 --- a/chapter06/make.xml +++ b/chapter06/make.xml @@ -45,23 +45,9 @@ Prepare Make for compilation: ./configure --prefix=/usr \ - --without-guile \ --host=$LFS_TGT \ --build=$(build-aux/config.guess) - - The meaning of the new configure option: - - - --without-guile - - Although we are cross-compiling, configure tries to use - guile from the build host if it finds it. This makes compilation - fail, so this switch prevents using it. - - - - Compile the package: make From d470cdb21ca21afb19ec38fa587ef9da90daa99b Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 14 Apr 2025 13:10:11 -0500 Subject: [PATCH 24/27] Package updates. Update to libcap-2.76. Update to perl-5.40.2 (Security update). Add packaging-24.2 (Python module). Needed for wheel. Update to xz-5.8.1. Update to wheel-0.46.1 (Python Module). Update to sysklogd-2.7.2. Update to Python3-3.13.3. Update to openssl-3.5.0. Update to meson-1.7.2. Update to linux-6.14.2. Update to libffi-3.4.8. Update to iproute2-6.14.0. Update to gzip-1.14. Update to grep-3.12. Update to gperf-3.2.1. Update to gawk-5.3.2. Update to diffutils-3.12. Update to coreutils-9.7. --- appendices/dependencies.xml | 42 ++++++++++++- chapter01/changelog.xml | 78 ++++++++++++++++++++++++ chapter01/whatsnew.xml | 61 +++++++++---------- chapter03/packages.xml | 9 +++ chapter06/diffutils.xml | 6 ++ chapter08/chapter08.xml | 1 + chapter08/packaging.xml | 76 +++++++++++++++++++++++ packages.ent | 116 +++++++++++++++++++----------------- patches.ent | 4 +- 9 files changed, 304 insertions(+), 89 deletions(-) create mode 100644 chapter08/packaging.xml diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 4ba8d13c4..a8675a805 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -2416,6 +2416,46 @@ + + Packaging + + + &dependencies; + + Python + + + + + &runtime; + + Python + + + + + &testsuites; + + No test suite available + + + + + &before; + + Wheel + + + + + &external; + + + pytest + + + + Patch @@ -3269,7 +3309,7 @@ &dependencies; - Python and Flit-core + Python, Flit-core, and packaging diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 91d4de3e3..1ac0d51b7 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,84 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2025-04-15 + + + [bdubbs] - Update to libcap-2.76. Fixes + #5704. + + + [bdubbs] - Update to perl-5.40.2 (Security update). Fixes + #5703. + + + [bdubbs] - Add packaging-24.2 (Python module). Needed for wheel. + + + + [bdubbs] - Update to xz-5.8.1. Fixes + #5694. + + + [bdubbs] - Update to wheel-0.46.1 (Python Module). Fixes + #5693. + + + [bdubbs] - Update to sysklogd-2.7.2. Fixes + #5690. + + + [bdubbs] - Update to Python3-3.13.3. Fixes + #5697. + + + [bdubbs] - Update to openssl-3.5.0. Fixes + #5701. + + + [bdubbs] - Update to meson-1.7.2. Fixes + #5691. + + + [bdubbs] - Update to linux-6.14.2. Fixes + #5680. + + + [bdubbs] - Update to libffi-3.4.8. Fixes + #5700. + + + [bdubbs] - Update to iproute2-6.14.0. Fixes + #5682. + + + [bdubbs] - Update to gzip-1.14. Fixes + #5699. + + + [bdubbs] - Update to grep-3.12. Fixes + #5702. + + + [bdubbs] - Update to gperf-3.2.1. Fixes + #5695. + + + [bdubbs] - Update to gawk-5.3.2. Fixes + #5692. + + + [bdubbs] - Update to diffutils-3.12. Fixes + #5696. + + + [bdubbs] - Update to coreutils-9.7. Fixes + #5698. + + + + 2025-04-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 8e1bec99c..4ab0abff3 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -53,21 +53,18 @@ - - + D-Bus-&dbus-version; - + @@ -89,9 +86,9 @@ Flit-Core-&flit-core-version; - + @@ -107,21 +104,21 @@ - - +
- + Iana-Etc-&iana-etc-version; @@ -131,9 +128,9 @@ - + Jinja2-&jinja2-version; @@ -155,9 +152,9 @@ - + @@ -188,9 +185,9 @@ - + @@ -203,15 +200,15 @@ - + Patch-&patch-version; - + Pkgconf-&pkgconf-version; @@ -221,9 +218,9 @@ - + @@ -266,9 +263,9 @@ Vim-&vim-version; - + @@ -295,11 +292,11 @@ Added: - + diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 2b3dbd9e7..6cdb5e224 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -588,6 +588,15 @@
+ + Packaging (&packaging-version;) - &packaging-size;: + + Home page: + Download: + MD5 sum: &packaging-md5; + + + Patch (&patch-version;) - &patch-size;: diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml index 92951604d..c56b01c5a 100644 --- a/chapter06/diffutils.xml +++ b/chapter06/diffutils.xml @@ -43,6 +43,12 @@ Installation of Diffutils + First, fix a problem in the current version of diffutils: + + sed -e '46252,+3 s/^/#/' \ + -e '46596,+3 s/^/#/' \ + -i configure + Prepare Diffutils for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index cb13689e7..bd8571903 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -64,6 +64,7 @@ + diff --git a/chapter08/packaging.xml b/chapter08/packaging.xml new file mode 100644 index 000000000..b3e9e439d --- /dev/null +++ b/chapter08/packaging.xml @@ -0,0 +1,76 @@ + + + %general-entities; +]> + + + + + + packaging + &packaging-version; +
&packaging-url;
+
+ + Packaging-&packaging-version; + + + packaging + + + + + + <para> + The packaging module is a Python library that provides utilities that + implement the interoperability specifications which have clearly one + correct behaviour (PEP440) or benefit greatly from having a single shared + implementation (PEP425). This includes utilities for version handling, + specifiers, markers, tags, and requirements. + </para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + <seglistitem> + <seg>&packaging-fin-sbu;</seg> + <seg>&packaging-fin-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of packaging + + Compile packaging with the following command: + +pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD + + Install packaging with the following command: + +pip3 install --no-index --find-links dist packaging + + + + + Contents of Packaging + + + Installed directories + + + packaging + + /usr/lib/python&python-minor;/site-packages/packaging and + /usr/lib/python&python-minor;/site-packages/packaging-&packaging-version;.dist-info + + + + + + +
+ diff --git a/packages.ent b/packages.ent index c5d645e4c..38982675a 100644 --- a/packages.ent +++ b/packages.ent @@ -96,10 +96,10 @@ - - + + - + @@ -122,10 +122,10 @@ - - + + - + @@ -200,10 +200,10 @@ - - + + - + @@ -265,18 +265,18 @@ - - + + - + - - + + - + @@ -299,10 +299,10 @@ - - + + - + @@ -333,10 +333,10 @@ - - + + - + @@ -381,18 +381,18 @@ - - + + - + - - + + - + @@ -422,13 +422,13 @@ - - + + - + - + - + - + - + - - + + @@ -645,10 +653,10 @@ - - + + - + @@ -758,10 +766,10 @@ - - + + - + @@ -774,10 +782,10 @@ - - + + - + diff --git a/patches.ent b/patches.ent index c90d38120..c7b2ab19b 100644 --- a/patches.ent +++ b/patches.ent @@ -17,8 +17,8 @@ - - + + From 9103be90053dff74a1bd88571a54093db9f3a65a Mon Sep 17 00:00:00 2001 From: Zeckmathederg Date: Mon, 14 Apr 2025 18:02:27 -0600 Subject: [PATCH 25/27] chapter06/Diffutils: Elaborate what the sed does. --- chapter06/diffutils.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml index c56b01c5a..8738e32b0 100644 --- a/chapter06/diffutils.xml +++ b/chapter06/diffutils.xml @@ -43,7 +43,10 @@ Installation of Diffutils - First, fix a problem in the current version of diffutils: + When Diffutils is being configured, it checks to see if it is + being cross compiled. If it is, configuration fails. Since we are + cross compiling, comment out the specific lines that perform that + test now: sed -e '46252,+3 s/^/#/' \ -e '46596,+3 s/^/#/' \ From cb6741b0fa2fc32d6e6683166f786d8a8e0cffc1 Mon Sep 17 00:00:00 2001 From: Xi Ruoyao Date: Mon, 14 Apr 2025 22:10:25 +0800 Subject: [PATCH 26/27] general: Use "x.y-systemd" instead of "stable-systemd" in BLFS URL for release "stable-systemd" is the latest release, but we want to use the same version as the LFS book here. --- general.ent | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/general.ent b/general.ent index 09c98f613..27b62c37f 100644 --- a/general.ent +++ b/general.ent @@ -44,7 +44,7 @@ ]]> - + ]]> + gl_cv_func_strcasecmp_works=y + + This option specify the result of a check for the + strcasecmp. The check requires running a + compiled C program, and this is impossible during + cross-compilation because in general a cross-compiled program + cannot run on the host distro. Normally for such a check the + configure script would use a fall-back value + for cross-compilation, but the fall-back value for this check is + absent and the configure script would have no + value to use and error out. The upstream has already fixed the + issue, but to apply the fix we'd need to run + autoconf that the host distro may lack. So + we just specify the check result (y as we know + the strcasecmp function in + Glibc-&glibc-version; works fine) instead, then + configure will just use the specified value and + skip the check. + +
+ + Compile the package: make