From e91edadd00517fe2c7d00b6bef1ca870ce2dcbaf Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 30 Jun 2024 10:40:41 -0500 Subject: [PATCH 1/2] Package and format updates. Update to iana-etc-20240612. Update to bc-6.7.6. Update to man-pages-6.9.1. Update to linux-6.9.7. Update to sysklogd-2.5.2. Update to shadow-4.16.0. Update to systemd-256.1. Update to setuptools-70.1.1. Also change the formatting of options '-Dsomething' to '-D something'. --- bootscripts/lfs/init.d/sysklogd | 15 +++---- chapter01/askforhelp.xml | 8 ++-- chapter01/changelog.xml | 40 +++++++++++++++++- chapter01/whatsnew.xml | 8 ++-- chapter07/perl.xml | 26 ++++++------ chapter08/perl.xml | 36 ++++++++-------- chapter08/sysklogd.xml | 23 ++++------ chapter08/systemd.xml | 74 ++++++++++++++++----------------- chapter08/udev.xml | 25 ++++++----- chapter09/systemd-custom.xml | 2 +- packages.ent | 50 +++++++++++----------- 11 files changed, 165 insertions(+), 142 deletions(-) diff --git a/bootscripts/lfs/init.d/sysklogd b/bootscripts/lfs/init.d/sysklogd index e86b87b16..b9c782040 100644 --- a/bootscripts/lfs/init.d/sysklogd +++ b/bootscripts/lfs/init.d/sysklogd @@ -7,6 +7,9 @@ # Authors : Gerard Beekmans - gerard@linuxfromscratch.org # DJ Lucas - dj@linuxfromscratch.org # Update : Bruce Dubbs - bdubbs@linuxfromscratch.org +# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org LFS12.1 +# Remove kernel log daemon. The functionality has been +# merged with syslogd. # # Version : LFS 7.0 # @@ -20,8 +23,8 @@ # Should-Stop: sendsignals # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 -# Short-Description: Starts kernel and system log daemons. -# Description: Starts kernel and system log daemons. +# Short-Description: Starts system log daemon. +# Description: Starts system log daemon. # /etc/fstab. # X-LFS-Provided-By: LFS ### END INIT INFO @@ -34,17 +37,9 @@ case "${1}" in parms=${SYSKLOGD_PARMS-'-m 0'} start_daemon /sbin/syslogd $parms evaluate_retval - - log_info_msg "Starting kernel log daemon..." - start_daemon /sbin/klogd - evaluate_retval ;; stop) - log_info_msg "Stopping kernel log daemon..." - killproc /sbin/klogd - evaluate_retval - log_info_msg "Stopping system log daemon..." killproc /sbin/syslogd evaluate_retval diff --git a/chapter01/askforhelp.xml b/chapter01/askforhelp.xml index 7c6032389..2dd5f85d0 100644 --- a/chapter01/askforhelp.xml +++ b/chapter01/askforhelp.xml @@ -110,10 +110,10 @@ type of information to include from the make screen output. -gcc -DALIASPATH=\"/mnt/lfs/usr/share/locale:.\" --DLOCALEDIR=\"/mnt/lfs/usr/share/locale\" --DLIBDIR=\"/mnt/lfs/usr/lib\" --DINCLUDEDIR=\"/mnt/lfs/usr/include\" -DHAVE_CONFIG_H -I. -I. +gcc -D ALIASPATH=\"/mnt/lfs/usr/share/locale:.\" +-D LOCALEDIR=\"/mnt/lfs/usr/share/locale\" +-D LIBDIR=\"/mnt/lfs/usr/lib\" +-D INCLUDEDIR=\"/mnt/lfs/usr/include\" -D HAVE_CONFIG_H -I. -I. -g -O2 -c getopt1.c gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o expand.o file.o function.o getopt.o implicit.o job.o main.o diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index f42fdf445..6cf5816cc 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,6 +40,44 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2024-07-01 + + + [bdubbs] - Update to iana-etc-20240612. Addresses + #5006. + + + [bdubbs] - Update to bc-6.7.6. Fixes + #5506. + + + [bdubbs] - Update to man-pages-6.9.1. Fixes + #5507. + + + [bdubbs] - Update to linux-6.9.7. Fixes + #5508. + + + [bdubbs] - Update to sysklogd-2.5.2. Fixes + #5509. + + + [bdubbs] - Update to shadow-4.16.0. Fixes + #5510. + + + [bdubbs] - Update to systemd-256.1. Fixes + #5511. + + + [bdubbs] - Update to setuptools-70.1.1. Fixes + #5512. + + + + 2024-06-15 @@ -69,7 +107,7 @@ [bdubbs] - Update to linux-6.9.4. Fixes - #5505. + #5505. [bdubbs] - Update to findutils-4.10.0. Fixes diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 315a03bea..6a12dd5cb 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -41,9 +41,9 @@ - + @@ -233,9 +233,9 @@ Shadow-&shadow-version; - + Systemd-&systemd-version; diff --git a/chapter07/perl.xml b/chapter07/perl.xml index 0c400bf12..7d31677a5 100644 --- a/chapter07/perl.xml +++ b/chapter07/perl.xml @@ -45,16 +45,16 @@ Prepare Perl for compilation: - sh Configure -des \ - -Dprefix=/usr \ - -Dvendorprefix=/usr \ - -Duseshrplib \ - -Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \ - -Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \ - -Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \ - -Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \ - -Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \ - -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl + sh Configure -des \ + -D prefix=/usr \ + -D vendorprefix=/usr \ + -D useshrplib \ + -D privlib=/usr/lib/perl5/&perl-version-min;/core_perl \ + -D archlib=/usr/lib/perl5/&perl-version-min;/core_perl \ + -D sitelib=/usr/lib/perl5/&perl-version-min;/site_perl \ + -D sitearch=/usr/lib/perl5/&perl-version-min;/site_perl \ + -D vendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \ + -D vendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl The meaning of the Configure options: @@ -69,7 +69,7 @@ - -Dvendorprefix=/usr + -D vendorprefix=/usr This ensures perl knows how to tell packages where they should install their Perl modules. @@ -77,7 +77,7 @@ - -Duseshrplib + -D useshrplib Build libperl needed by some Perl modules as a shared library, instead of @@ -86,7 +86,7 @@ - -Dprivlib,-Darchlib,-Dsitelib,... + -D privlib,-D archlib,-D sitelib,... These settings define where Perl looks for installed modules. The LFS editors chose to put them in a directory structure diff --git a/chapter08/perl.xml b/chapter08/perl.xml index 34c6ed32a..df9489d37 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -60,26 +60,26 @@ export BUILD_BZIP2=0 this package is built. Alternatively, use the command exactly as shown below to use the defaults that Perl auto-detects: - sh Configure -des \ - -Dprefix=/usr \ - -Dvendorprefix=/usr \ - -Dprivlib=/usr/lib/perl5/&perl-version-min;/core_perl \ - -Darchlib=/usr/lib/perl5/&perl-version-min;/core_perl \ - -Dsitelib=/usr/lib/perl5/&perl-version-min;/site_perl \ - -Dsitearch=/usr/lib/perl5/&perl-version-min;/site_perl \ - -Dvendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \ - -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl \ - -Dman1dir=/usr/share/man/man1 \ - -Dman3dir=/usr/share/man/man3 \ - -Dpager="/usr/bin/less -isR" \ - -Duseshrplib \ - -Dusethreads + sh Configure -des \ + -D prefix=/usr \ + -D vendorprefix=/usr \ + -D privlib=/usr/lib/perl5/&perl-version-min;/core_perl \ + -D archlib=/usr/lib/perl5/&perl-version-min;/core_perl \ + -D sitelib=/usr/lib/perl5/&perl-version-min;/site_perl \ + -D sitearch=/usr/lib/perl5/&perl-version-min;/site_perl \ + -D vendorlib=/usr/lib/perl5/&perl-version-min;/vendor_perl \ + -D vendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl \ + -D man1dir=/usr/share/man/man1 \ + -D man3dir=/usr/share/man/man3 \ + -D pager="/usr/bin/less -isR" \ + -D useshrplib \ + -D usethreads The meaning of the new Configure options: - -Dpager="/usr/bin/less -isR" + -D pager="/usr/bin/less -isR" This ensures that less is used instead of more. @@ -87,8 +87,8 @@ export BUILD_BZIP2=0 - -Dman1dir=/usr/share/man/man1 - -Dman3dir=/usr/share/man/man3 + -D man1dir=/usr/share/man/man1 + -D man3dir=/usr/share/man/man3 Since Groff is not installed yet, Configure will not create man pages for Perl. These @@ -97,7 +97,7 @@ export BUILD_BZIP2=0 - -Dusethreads + -D usethreads Build Perl with support for threads. diff --git a/chapter08/sysklogd.xml b/chapter08/sysklogd.xml index 26382f8c1..c66d5d455 100644 --- a/chapter08/sysklogd.xml +++ b/chapter08/sysklogd.xml @@ -41,11 +41,12 @@ Installation of Sysklogd - First, fix a problem that causes a segmentation fault in klogd - under some conditions, and fix an obsolete program construct: + Prepare the package for compilation: -sed -i '/Error loading kernel symbols/{n;n;d}' ksym_mod.c -sed -i 's/union wait/int/' syslogd.c +./configure --prefix=/usr \ + --sysconfdir=/etc \ + --runstatedir=/run \ + --without-logger Compile the package: @@ -94,10 +95,10 @@ EOF Contents of Sysklogd - Installed programs + Installed program - klogd and syslogd + syslogd @@ -106,16 +107,6 @@ EOF - - klogd - - A system daemon for intercepting and logging kernel messages - - klogd - - - - syslogd diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index afc274f4f..275e92932 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -53,26 +53,25 @@ mkdir -p build cd build -meson setup \ - --prefix=/usr \ - --buildtype=release \ - -Ddefault-dnssec=no \ - -Dfirstboot=false \ - -Dinstall-tests=false \ - -Dldconfig=false \ - -Dsysusers=false \ - -Drpmmacrosdir=no \ - -Dhomed=disabled \ - -Duserdb=false \ - -Dman=disabled \ - -Dmode=release \ - -Dpamconfdir=no \ - -Ddev-kvm-mode=0660 \ - -Dnobody-group=nogroup \ - -Dsysupdate=disabled \ - -Dukify=disabled \ - -Ddocdir=/usr/share/doc/systemd-&systemd-version; \ - .. +meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D default-dnssec=no \ + -D firstboot=false \ + -D install-tests=false \ + -D ldconfig=false \ + -D sysusers=false \ + -D rpmmacrosdir=no \ + -D homed=disabled \ + -D userdb=false \ + -D man=disabled \ + -D mode=release \ + -D pamconfdir=no \ + -D dev-kvm-mode=0660 \ + -D nobody-group=nogroup \ + -D sysupdate=disabled \ + -D ukify=disabled \ + -D docdir=/usr/share/doc/systemd-&systemd-version; The meaning of the meson options: @@ -87,14 +86,14 @@ meson setup \ - -Ddefault-dnssec=no + -D default-dnssec=no This switch turns off the experimental DNSSEC support. - -Dfirstboot=false + -D firstboot=false This switch prevents installation of systemd services responsible for setting up the system for @@ -104,14 +103,14 @@ meson setup \ - -Dinstall-tests=false + -D install-tests=false This switch prevents installation of the compiled tests. - -Dldconfig=false + -D ldconfig=false This switch prevents installation of a systemd unit that runs ldconfig at boot; this is not useful for source @@ -121,7 +120,7 @@ meson setup \ - -Dsysusers=false + -D sysusers=false This switch prevents installation of systemd services responsible for setting up the @@ -133,7 +132,7 @@ meson setup \ - -Drpmmacrosdir=no + -D rpmmacrosdir=no This switch disables installation of RPM Macros for use with systemd, because LFS does not support RPM. @@ -141,8 +140,8 @@ meson setup \ - -Dhomed=disabled and - -Duserdb=false + -D homed=disabled and + -D userdb=false Remove two daemons with dependencies that do not fit within the scope of LFS. @@ -150,7 +149,7 @@ meson setup \ - -Dman=disabled + -D man=disabled Prevent the generation of man pages to avoid extra dependencies. We will install pre-generated man pages for systemd @@ -159,7 +158,7 @@ meson setup \ - -Dmode=release + -D mode=release Disable some features considered experimental by upstream. @@ -167,7 +166,7 @@ meson setup \ - -Dpamconfdir=no + -D pamconfdir=no Prevent the installation of a PAM configuration file not functional on LFS. @@ -175,7 +174,7 @@ meson setup \ - -Ddev-kvm-mode=0660 + -D dev-kvm-mode=0660 The default udev rule would allow all users to access /dev/kvm. The editors @@ -184,7 +183,7 @@ meson setup \ - -Dnobody-group=nogroup + -D nobody-group=nogroup Tell the package the group name with GID 65534 is nogroup. @@ -192,7 +191,7 @@ meson setup \ - -Dsysupdate=disabled + -D sysupdate=disabled Do not install the systemd-sysupdate tool. It's designed for automatically upgrading binary distros, @@ -203,7 +202,7 @@ meson setup \ - -Dukify=disabled + -D ukify=disabled Do not install the systemd-ukify script. At runtime this script requires the @@ -227,7 +226,8 @@ ninja test Three tests: systemd:core / test-namespace, - test-chase, and test-systemd-tmpfiles, + test-loopback, and + test-copy, are known to fail in the LFS chroot environment. Some other tests may fail because they depend on various kernel configuration options. @@ -239,7 +239,7 @@ ninja test -tar -xf ../../systemd-man-pages-&systemd-version;.tar.xz \ +tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \ --no-same-owner --strip-components=1 \ -C /usr/share/man diff --git a/chapter08/udev.xml b/chapter08/udev.xml index 98ee48cf2..b3c318a0b 100644 --- a/chapter08/udev.xml +++ b/chapter08/udev.xml @@ -65,15 +65,14 @@ mkdir -p build cd build -meson setup \ - --prefix=/usr \ - --buildtype=release \ - -Dmode=release \ - -Ddev-kvm-mode=0660 \ - -Dlink-udev-shared=false \ - -Dlogind=false \ - -Dvconsole=false \ - .. +meson setup .. \ + --prefix=/usr \ + --buildtype=release \ + -D mode=release \ + -D dev-kvm-mode=0660 \ + -D link-udev-shared=false \ + -D logind=false \ + -D vconsole=false The meaning of the meson options: @@ -88,7 +87,7 @@ meson setup \ - -Dmode=release + -D mode=release Disable some features considered experimental by upstream. @@ -96,7 +95,7 @@ meson setup \ - -Ddev-kvm-mode=0660 + -D dev-kvm-mode=0660 The default udev rule would allow all users to access /dev/kvm. The editors @@ -105,7 +104,7 @@ meson setup \ - -Dlink-udev-shared=false + -D link-udev-shared=false This option prevents udev from linking to the internal systemd shared library, @@ -116,7 +115,7 @@ meson setup \ - -Dlogind=false -Dvconsole=false + -D logind=false -D vconsole=false These options prevent the generation of several udev rule files belonging to the other Systemd components that we won't diff --git a/chapter09/systemd-custom.xml b/chapter09/systemd-custom.xml index ffca1a76f..742983e44 100644 --- a/chapter09/systemd-custom.xml +++ b/chapter09/systemd-custom.xml @@ -305,7 +305,7 @@ EOF Disable at build-time: You can disable lingering by default while building systemd by adding the switch - -Ddefault-kill-user-processes=false to the + -D default-kill-user-processes=false to the meson command for systemd. This completely disables the ability of systemd to kill user processes at session end. diff --git a/packages.ent b/packages.ent index 567726db5..b89b737bf 100644 --- a/packages.ent +++ b/packages.ent @@ -57,10 +57,10 @@ - - + + - + @@ -317,10 +317,10 @@ - + - + @@ -381,7 +381,7 @@ - + @@ -431,12 +431,12 @@ - + - + - + - + - + From ba0723a402ab449e56cadf25eac83428371159b3 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Sun, 30 Jun 2024 14:51:53 -0500 Subject: [PATCH 2/2] Tweak sysklogd bootscript for latest version. --- bootscripts/lfs/init.d/sysklogd | 1 - 1 file changed, 1 deletion(-) diff --git a/bootscripts/lfs/init.d/sysklogd b/bootscripts/lfs/init.d/sysklogd index b9c782040..04662efd9 100644 --- a/bootscripts/lfs/init.d/sysklogd +++ b/bootscripts/lfs/init.d/sysklogd @@ -60,7 +60,6 @@ case "${1}" in status) statusproc /sbin/syslogd - statusproc klogd ;; *)