diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index d9c44641c..d93cc1f5e 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -4,8 +4,7 @@ %general-entities; - Systemd - Udev"> + SystemdUdev"> Berkeley DB"> ]> @@ -45,7 +44,7 @@ &dependencies; - Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, + Attr, Bash, Binutils, Coreutils, GCC, Gettext, Grep, M4, Make, Perl, Sed, and Texinfo @@ -2571,9 +2570,10 @@ &before; Binutils, - D-Bus, E2fsprogs, - IProute2, Kmod, Man-DB, Procps-ng, Python, - &systemd-udev;, and Util-linux + D-Bus, + E2fsprogs, IProute2, Kmod, Man-DB, Procps-ng, Python, + &systemd-udev;, + and Util-linux diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f6ef99d3f..4764a728d 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,202 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 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. 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 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 2bd9ce999..aa8d41543 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -77,18 +77,18 @@ - + - + Gawk-&gawk-version; @@ -98,9 +98,9 @@ - + @@ -137,24 +137,24 @@ - + - + - - + @@ -182,9 +182,9 @@ - + Meson-&meson-version; @@ -239,9 +239,9 @@ Systemd-&systemd-version; - + @@ -263,15 +263,15 @@ Vim-&vim-version; - + - + @@ -292,9 +292,9 @@ Added: - + + binutils-2.43.1-upstream_fix-1.patch + diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml index 05488ecbc..645686311 100644 --- a/chapter03/introduction.xml +++ b/chapter03/introduction.xml @@ -22,8 +22,9 @@ For some packages, the release tarball and the (Git or SVN) repository snapshot tarball for that release may be published with - similar file names. A release tarball contains generated files (for - example, a configure script generated by + similar or even identical file names. But the release tarball may contain + some files which are essential despite not stored in the repository + (for example, a configure script generated by autoconf), in addition to the contents of the corresponding repository snapshot. The book uses release tarballs whenever possible. Using a repository snapshot instead of a release diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 33594f396..a98c6575f 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -39,11 +39,19 @@ Binutils LoongArch Fix Patch - &binutils-loongarch-patch-size;: - Download: + Download: MD5 sum: &binutils-loongarch-patch-md5; + + Binutils Upstream Fixes Patch - &binutils-upstream-patch-size;: + + Download: + MD5 sum: &binutils-upstream-patch-md5; + + + Bzip2 Documentation Patch - &bzip2-docs-patch-size;: diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index d924abca5..03530cf61 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -180,8 +180,8 @@ cd build packages to define the location where the package should be installed. If it is not set, it defaults to the root (/) directory. Here we specify that - the package is installed in $LFS - , which will become the root directory in + $LFS, which will become the root directory in . diff --git a/chapter06/bash.xml b/chapter06/bash.xml index 66c6ef3fc..54fa6f444 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -48,8 +48,7 @@ ./configure --prefix=/usr \ --build=$(sh support/config.guess) \ --host=$LFS_TGT \ - --without-bash-malloc \ - bash_cv_strtold_broken=no + --without-bash-malloc The meaning of the configure options: diff --git a/chapter08/bash.xml b/chapter08/bash.xml index 9dbcf7863..f07a692e7 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -45,7 +45,6 @@ ./configure --prefix=/usr \ --without-bash-malloc \ --with-installed-readline \ - bash_cv_strtold_broken=no \ --docdir=/usr/share/doc/bash-&bash-version; diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 2716f4773..e06bafc4d 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -41,8 +41,15 @@ Installation of Binutils + First, apply a patch to prevent a bug that causing + unnecessary relinking with packages that depend on cmake-3.31.0 + or newer: + +patch -Np1 -i ../&binutils-upstream-patch; + - At first, fix a bug which may cause some packages fail to build: + Then fix a bug which may cause some packages fail to build for + LoongArch: patch -Np1 -i ../&binutils-loongarch-patch; diff --git a/chapter08/e2fsprogs.xml b/chapter08/e2fsprogs.xml index c5718c191..d99922610 100644 --- a/chapter08/e2fsprogs.xml +++ b/chapter08/e2fsprogs.xml @@ -146,7 +146,7 @@ install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info /etc/mke2fs.conf contains the default value of various command line options of mke2fs. You may - edit the file to make the default values suitable for your need. + edit the file to make the default values suitable for your needs. For example, some utilities (not in LFS or BLFS) cannot recognize a ext4 file system with metadata_csum_seed feature enabled. diff --git a/chapter08/gawk.xml b/chapter08/gawk.xml index bc19acaaf..bc3717653 100644 --- a/chapter08/gawk.xml +++ b/chapter08/gawk.xml @@ -84,8 +84,7 @@ make install If desired, install the documentation: -mkdir -pv /usr/share/doc/gawk-&gawk-version; -cp -v doc/{awkforai.txt,*.{eps,pdf,jpg}} /usr/share/doc/gawk-&gawk-version; +install -vDm644 doc/{awkforai.txt,*.{eps,pdf,jpg}} -t /usr/share/doc/gawk-&gawk-version; diff --git a/chapter08/gettext.xml b/chapter08/gettext.xml index f26d15536..d8fbc8f20 100644 --- a/chapter08/gettext.xml +++ b/chapter08/gettext.xml @@ -43,6 +43,14 @@ Installation of Gettext + At first, fix an issue causing the package fail to build with + libxml-2.12 or later. The fix is optional for building LFS, but + required if rebuilding this package in BLFS with libxml + installed: + +sed -e '/^structured/s/xmlError \*/typeof(xmlCtxtGetLastError(NULL)) /' \ + -i gettext-tools/src/its.c + Prepare Gettext for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 93fae530a..e83db8ca0 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -187,7 +187,7 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions grub-fstest - Is a tool to debug the filesystem driver + Is a tool to debug the file system driver grub-fstest diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index 8a6755f3d..bcf08858b 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -77,8 +77,7 @@ rm -fv man/man8/arpd.8 If desired, install the documentation: -mkdir -pv /usr/share/doc/iproute2-&iproute2-version; -cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version; +install -vDm644 COPYING README* -t /usr/share/doc/iproute2-&iproute2-version; @@ -278,7 +277,7 @@ cp -v COPYING README* /usr/share/doc/iproute2-&iproute2-version; tc class allows users to set up classes based - on the queuing discipline scheduling + on the queueing discipline scheduling tc filter allows users to set up the QoS/CoS packet filtering diff --git a/chapter08/python.xml b/chapter08/python.xml index 3dca716f6..0ed7c6c7c 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -88,7 +88,8 @@ limit and 1 SBU (measured when building Binutils pass 1 with one CPU core) should be enough. Some tests are flaky, so the test suite will automatically re-run failed tests. If a test failed but then passed - when re-run, it should be considered as passed. + when re-run, it should be considered as passed. One test, test_ssl, + is known to fail in the chroot environment. so don't do that + in the .bashrc file or anywhere else. + sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD YESCRYPT:' \ -e 's:/var/spool/mail:/var/mail:' \ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ -i etc/login.defs - - If you chose to build Shadow with Cracklib support, issue this command: - -sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs - + ]]> + ]]> + ]]> - - + + - + - - + + - + @@ -172,10 +172,10 @@ - - + + - + @@ -200,10 +200,10 @@ - - + + - + @@ -245,10 +245,10 @@ - - + + - + @@ -317,10 +317,10 @@ - - + + - + @@ -341,10 +341,10 @@ - - + + - + @@ -357,10 +357,10 @@ - - + + - + @@ -373,10 +373,10 @@ - - + + - + @@ -389,10 +389,10 @@ - - + + - + @@ -413,10 +413,10 @@ - - + + - + @@ -430,13 +430,13 @@ - - + + - + - + - - - + + + - + - - + + @@ -637,10 +637,10 @@ - - + + - + @@ -661,28 +661,28 @@ - + - + - + - - + + - + - + - + @@ -745,10 +745,10 @@ - + - + - + - - + + - + @@ -783,10 +783,10 @@ - - + + - + diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index 3714596fc..1dad94103 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -360,7 +360,7 @@ 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 and binary tools are generally not an issue - since glibc will always those relating to the --host + since glibc will always use those relating to the --host parameter passed to its configure script; e.g., in our case, the compiler will be $LFS_TGT-gcc and the readelf tool will be $LFS_TGT-readelf. The kernel headers can diff --git a/patches.ent b/patches.ent index 814a88105..35c52c3d4 100644 --- a/patches.ent +++ b/patches.ent @@ -12,6 +12,10 @@ + + + +