diff --git a/Makefile b/Makefile index 597ae1faa..bd6884a66 100644 --- a/Makefile +++ b/Makefile @@ -151,39 +151,45 @@ profile-html: stylesheets/lfs-xsl/profile.xsl \ $(RENDERTMP)/lfs-full.xml -wget-list: $(BASEDIR)/wget-list +wget-list: $(BASEDIR)/wget-list $(BASEDIR)/wget-list-$(REV) $(BASEDIR)/wget-list: stylesheets/wget-list.xsl chapter03/chapter03.xml \ packages.ent patches.ent general.ent @echo "Generating consolidated wget list at $(BASEDIR)/wget-list ..." $(Q)mkdir -p $(BASEDIR) - -# $(Q)xsltproc --nonet --xinclude \ -# --stringparam profile.revision $(REV) \ -# --output $(RENDERTMP)/sysd-wget.xml \ -# stylesheets/lfs-xsl/profile.xsl \ -# chapter03/chapter03.xml - $(Q)xsltproc --xinclude --nonet \ --output $(BASEDIR)/wget-list \ stylesheets/wget-list.xsl \ chapter03/chapter03.xml +$(BASEDIR)/wget-list-$(REV): stylesheets/wget-list.xsl \ + chapter03/chapter03.xml \ + packages.ent patches.ent general.ent + $(Q)xsltproc --nonet --xinclude \ + --stringparam profile.revision $(REV) \ + --output $(RENDERTMP)/wget-list.xml \ + stylesheets/lfs-xsl/profile.xsl \ + chapter03/chapter03.xml + $(Q)xsltproc --xinclude --nonet \ + --output $(BASEDIR)/wget-list-$(REV) \ + stylesheets/wget-list.xsl \ + $(RENDERTMP)/wget-list.xml + md5sums: $(BASEDIR)/md5sums $(BASEDIR)/md5sums: stylesheets/wget-list.xsl chapter03/chapter03.xml \ packages.ent patches.ent @echo "Generating consolidated md5sum file at $(BASEDIR)/md5sums ..." $(Q)mkdir -p $(BASEDIR) - $(Q)xsltproc --nonet --xinclude \ + $(Q)xsltproc --nonet --xinclude \ --stringparam profile.revision $(REV) \ - --output $(RENDERTMP)/sysv-md5sum.xml \ + --output $(RENDERTMP)/md5sum.xml \ stylesheets/lfs-xsl/profile.xsl \ chapter03/chapter03.xml - $(Q)xsltproc --xinclude --nonet \ + $(Q)xsltproc --xinclude --nonet \ --output $(BASEDIR)/md5sums \ stylesheets/md5sum.xsl \ - $(RENDERTMP)/sysv-md5sum.xml + $(RENDERTMP)/md5sum.xml $(Q)sed -i -e \ "s/BOOTSCRIPTS-MD5SUM/$(shell md5sum lfs-bootscripts*.tar.xz | cut -d' ' -f1)/" \ $(BASEDIR)/md5sums diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 6493aa1f9..3ad5c0097 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -244,7 +244,7 @@ &dependencies; - Bash, Binutils, Coreutils, GCC, Glibc, Grep, and Make + Bash, Binutils, Coreutils, GCC, Glibc, Grep, Make, and Readline @@ -2615,7 +2615,7 @@ &before; - Bash and Gawk + Bash, Bc, and Gawk diff --git a/bootscripts/lfs/init.d/cleanfs b/bootscripts/lfs/init.d/cleanfs index c75923c34..9ab994fcc 100644 --- a/bootscripts/lfs/init.d/cleanfs +++ b/bootscripts/lfs/init.d/cleanfs @@ -105,7 +105,7 @@ case "${1}" in (exit ${failed}) evaluate_retval - if egrep -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then + if grep -E -qv '^(#|$)' /etc/sysconfig/createfiles 2>/dev/null; then log_info_msg "Creating files and directories... " create_files # Always returns 0 evaluate_retval diff --git a/bootscripts/lfs/init.d/modules b/bootscripts/lfs/init.d/modules index 3ef4cec0d..19d7b1388 100644 --- a/bootscripts/lfs/init.d/modules +++ b/bootscripts/lfs/init.d/modules @@ -35,7 +35,7 @@ case "${1}" in # Exit if there's no modules file or there are no # valid entries [ -r /etc/sysconfig/modules ] || exit 0 - egrep -qv '^($|#)' /etc/sysconfig/modules || exit 0 + grep -E -qv '^($|#)' /etc/sysconfig/modules || exit 0 log_info_msg "Loading modules:" diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 85dfc2f36..c1ac5a88c 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,90 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2022-06-14 + + + [bdubbs] - Update to python3-3.10.5. Fixes + #5070. + + + [bdubbs] - Update to meson-0.62.2. Fixes + #5068. + + + [bdubbs] - Update to kbd-2.5.0. Fixes + #5067. + + + [bdubbs] - Update to file-5.42. Fixes + #5072. + + + [bdubbs] - Update to linux-5.18.3. Fixes + #5069. + + + [bdubbs] - Update to bc-5.3.1. Fixes + #5071. + + + + + + 2022-05-29 + + + [bdubbs] - Update to iana-etc-20220524. + Addresses #5006. + + + [bdubbs] - Update to iproute2-5.18.0. Fixes + #5065. + + + [bdubbs] - Update to linux-5.18.1. Fixes + #5061. + + + [bdubbs] - Update to perl-5.36.0. Fixes + #5066. + + + + + + 2022-05-29 + + + [xry111] - Update to vim-8.2.5014 (security fixes). + Addresses #4500. + + + [xry111] - Update to ninja-1.11.0. Fixes + #5062. + + + [xry111] - Update to systemd-251. Fixes + #5064. + + + + + + 2022-05-16 + + + [bdubbs] - Update to linux-5.17.7. Fixes + #5059. + + + [bdubbs] - Update to psmisc-23.5. Fixes + #5060. + + + + 2022-05-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 6ae480aa0..6d73b9759 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -80,9 +80,9 @@ - + @@ -122,9 +122,9 @@ Gzip-&gzip-version; - + @@ -137,9 +137,9 @@ Jinja2-&jinja2-version; - + @@ -194,9 +194,9 @@ - + Openssl-&openssl-version; @@ -212,9 +212,9 @@ Procps-ng-&procps-ng-version; - + Python-&python-version; @@ -230,9 +230,9 @@ - + SysVinit-&sysvinit-version; @@ -298,6 +298,12 @@ perl-5.34.0-upstream_fixes-1.patch + + systemd-250-kernel_5.17_fixes-1.patch + + + systemd-250-upstream_fixes-1.patch + diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml index bc95ed071..76fd5ee12 100644 --- a/chapter03/introduction.xml +++ b/chapter03/introduction.xml @@ -79,11 +79,11 @@ To download all of the packages and patches by using - wget-list as an input to the - wget command, use: - -wget --input-file=wget-list --continue --directory-prefix=$LFS/sources + &wget-list; + as an input to the wget command, use: +wget --input-file=&wget-list; --continue --directory-prefix=$LFS/sources + Additionally, starting with LFS-7.0, there is a separate file, md5sums, which can be used to verify that all the correct packages are available before proceeding. Place that file in diff --git a/chapter03/patches.xml b/chapter03/patches.xml index bed7d4735..1df01b443 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -135,22 +135,6 @@ - - Systemd Upstream Fixes Patch - &systemd-upstream-fixes-patch-size;: - - Download: - MD5 sum: &systemd-upstream-fixes-patch-md5; - - - - - Systemd Kernel Fixes Patch - &systemd-kernel-fixes-patch-size;: - - Download: - MD5 sum: &systemd-kernel-fixes-patch-md5; - - - Xz Upstream Fix Patch - &xz-upstream-fix-patch-size;: diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index e9316ef98..34426d4b7 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -134,6 +134,11 @@ popd make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so + Remove an unneeded static library not handled by + configure: + +rm -v $LFS/usr/lib/libncurses++w.a + The meaning of the install options: diff --git a/chapter07/creatingdirs.xml b/chapter07/creatingdirs.xml index a1dafc1ee..bc6162e61 100644 --- a/chapter07/creatingdirs.xml +++ b/chapter07/creatingdirs.xml @@ -12,13 +12,13 @@ It is time to create the full structure in the LFS file system. + Some of the directories mentioned in this section may be + already created earlier with explicit instructions or when installing some + packages. They are repeated below for completeness. + Create some root-level directories that are not in the limited set required in the previous chapters by issuing the following command: - Some of the directories below have already been created earlier - with explicit instructions or when installing some packages. They are - repeated below for completeness. - mkdir -pv /{boot,home,mnt,opt,srv} Create the required set of subdirectories below the root-level by diff --git a/chapter08/bc.xml b/chapter08/bc.xml index 9678ddd54..4493f8219 100644 --- a/chapter08/bc.xml +++ b/chapter08/bc.xml @@ -43,7 +43,7 @@ Prepare Bc for compilation: -CC=gcc ./configure --prefix=/usr -G -O3 +CC=gcc ./configure --prefix=/usr -G -O3 -r The meaning of the configure options: @@ -55,6 +55,14 @@ + + -G + + Omit parts of the test suite that won't work + without a GNU bc present. + + + -O3 @@ -63,10 +71,10 @@ - -G + -r - Omit parts of the test suite that won't work - without a GNU bc present. + Enable the use of Readline to + improve the line editing feature of bc. diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 0aa4e8456..5fb87ba58 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -173,15 +173,13 @@ cd build Test the results: make -k check - - + + One gold test, pr17704a_test, is known to + fail if CONFIG_IA32_EMULATION is disabled in the + kernel configuration of the host system. + Install the package: make tooldir=/usr install diff --git a/chapter08/check.xml b/chapter08/check.xml index 1e7e4ec17..cb6b3590d 100644 --- a/chapter08/check.xml +++ b/chapter08/check.xml @@ -92,7 +92,7 @@ - libcheck.{a,so} + libcheck.so Contains functions that allow Check to be called from a test program diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index 1a181b385..9c143bb2f 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -136,6 +136,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ + + The sort-NaN-infloop test is known to fail with GCC-12. + Remove the temporary group: sed -i '/dummy/d' /etc/group diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 044c04aeb..9845c7431 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -56,20 +56,11 @@ --disable-doxygen-docs \ --disable-xml-docs \ --docdir=/usr/share/doc/dbus-&dbus-version; \ - --with-console-auth-dir=/run/console \ --with-system-socket=/run/dbus/system_bus_socket The meaning of the configure options: - - --with-console-auth-dir=/run/console - - This specifies the location of the ConsoleKit authorization - directory. - - - --runstatedir=/run and diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index ce8e761bb..1e342b12f 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -174,10 +174,22 @@ esac - The nss/tst-nss-files-hosts-multi - test is known to fail on relatively slow systems due to an internal + Some tests, for example + nss/tst-nss-files-hosts-multi, + are known to fail on relatively slow systems due to an internal timeout. + + + + About 27 tests, for example elf/tst-pldd, + are known to fail if the kernel supports namespaces (see + namespaces(7) for details) but the host distro + has disabled them via sysctl. + -save_usrlib="$(cd /usr/lib; ls ld-linux*) +save_usrlib="$(cd /usr/lib; ls ld-linux*[^g]) libc.so.6 libthread_db.so.1 libquadmath.so.&libquadmath-version; diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 43e1cea6c..0f11da410 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -40,16 +40,6 @@ Installation of systemd - First, apply a patch to fix a security vulnerability and regressions - with hostnames and idle units: - -patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-1.patch - - Now, apply a patch to fix a problem with the linux kernel's headers in - version 5.17 and later: - -patch -Np1 -i ../systemd-&systemd-version;-kernel_5.17_fixes-1.patch - Remove two unneeded groups, render and sgx, from the default udev @@ -64,21 +54,18 @@ cd build meson --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ --buildtype=release \ - -Dblkid=true \ -Ddefault-dnssec=no \ -Dfirstboot=false \ -Dinstall-tests=false \ -Dldconfig=false \ -Dsysusers=false \ - -Db_lto=false \ -Drpmmacrosdir=no \ -Dhomed=false \ -Duserdb=false \ -Dman=false \ -Dmode=release \ + -Dpamconfdir=no \ -Ddocdir=/usr/share/doc/systemd-&systemd-version; \ .. @@ -173,6 +160,13 @@ meson --prefix=/usr \ + + -Dpamconfdir=no + + Prevent the installation of a PAM configuration file not + functional on LFS. + + Compile the package: @@ -185,11 +179,9 @@ meson --prefix=/usr \ Install the man pages: -tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz -C /usr/share/man - - Remove a useless directory: - -rm -rf /usr/lib/pam.d + +tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz --strip-components=1 -C /usr/share/man Create the /etc/machine-id file needed by systemd-journald: @@ -200,6 +192,12 @@ meson --prefix=/usr \ systemctl preset-all + Disable a service for upgrading binary distros. It's useless for + a basic Linux system built from source, and it will report an error if + it's enabled but not configured: + +systemctl disable systemd-sysupdate + - + - + - + - + - + - - + + @@ -646,20 +646,20 @@ - + - + - + - + - + @@ -728,13 +728,13 @@ - + - + - + diff --git a/patches.ent b/patches.ent index 2bd68296b..6c5acb77c 100644 --- a/patches.ent +++ b/patches.ent @@ -85,14 +85,6 @@ - - - - - - - -