diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index f9e0a5ef4..24fc8319a 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -1,3 +1,9 @@ +2021-04-28 Bruce Dubbs + * Make check_signal more robust. + * Use a better methog for killproc to remove a dead pid file. + * Clarify what signals killproc accepts. + * Thanks to input an ddiscussion from Scott Andrews. + 2021-02-01 Bruce Dubbs * Tweak mountfs to properly exit when an error is found. diff --git a/bootscripts/lfs/lib/services/init-functions b/bootscripts/lfs/lib/services/init-functions index 2e9b15b98..0a7ca4da1 100644 --- a/bootscripts/lfs/lib/services/init-functions +++ b/bootscripts/lfs/lib/services/init-functions @@ -283,7 +283,13 @@ killproc() 1) # Program is not running, but an invalid pid file exists # Remove the pid file. - rm -f "${pidfile}" + + progname=${program##*/} + + if [[ -e "/run/${progname}.pid" ]]; then + pidfile="/run/${progname}.pid" + rm -f "${pidfile}" + fi # This is only a success if no signal was passed. if [ -n "${nosig}" ]; then @@ -713,13 +719,13 @@ evaluate_retval() ################################################################################ # check_signal() # -# Usage: check_signal [ -{signal} | {signal} ] # +# Usage: check_signal [ -{signal} ] # # # # Purpose: Check for a valid signal. This is not defined by any LSB draft, # # however, it is required to check the signals to determine if the # # signals chosen are invalid arguments to the other functions. # # # -# Inputs: Accepts a single string value in the form or -{signal} or {signal} # +# Inputs: Accepts a single string value in the form of -{signal} # # # # Return values: # # 0 - Success (signal is valid # @@ -730,11 +736,11 @@ check_signal() local valsig # Add error handling for invalid signals - valsig="-ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2" + valsig=" -ALRM -HUP -INT -KILL -PIPE -POLL -PROF -TERM -USR1 -USR2" valsig="${valsig} -VTALRM -STKFLT -PWR -WINCH -CHLD -URG -TSTP -TTIN" valsig="${valsig} -TTOU -STOP -CONT -ABRT -FPE -ILL -QUIT -SEGV -TRAP" valsig="${valsig} -SYS -EMT -BUS -XCPU -XFSZ -0 -1 -2 -3 -4 -5 -6 -8 -9" - valsig="${valsig} -11 -13 -14 -15" + valsig="${valsig} -11 -13 -14 -15 " echo "${valsig}" | grep -- " ${1} " > /dev/null @@ -765,7 +771,7 @@ check_sig_type() local valsig # The list of termination signals (limited to generally used items) - valsig="-ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15" + valsig=" -ALRM -INT -KILL -TERM -PWR -STOP -ABRT -QUIT -2 -3 -6 -9 -14 -15 " echo "${valsig}" | grep -- " ${1} " > /dev/null diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index cad475f4e..3501a926a 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -45,6 +45,27 @@ appropriate for the entry or if needed the entire day's listitem. --> + + 2021-04-28 + + + [renodr] - Fix building systemd with Linux-API-Headers 5.11.14 + and higher, as well as with meson-0.57.2. Fixes + #4851. + + + [bdubbs] - Add manual locales needed for tests + if using alternate locale installation instructions. Fixes + #4844. + + + [bdubbs] - Minor changes to boot scripts. Fixes + #4842. + Thanks to Scott Andrews for the report. + + + + 2021-04-26 diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index 0cacb76cb..8aec64958 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -47,7 +47,10 @@ referenced in some test suites, and in one of Perl's configuration files as well: -echo "127.0.0.1 localhost $(hostname)" > /etc/hosts +cat > /etc/hosts << EOF +"127.0.0.1 localhost $(hostname)" +::1 localhost +EOF In order for user root to be able to login and for the name root to be recognized, there diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index b4e90b003..1fbd5c757 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -287,7 +287,11 @@ localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS Then use the localedef command to create and install locales not listed in the glibc-&glibc-version;/localedata/SUPPORTED file - in the unlikely case you need them. + when you need them. For instance, the following two locales are + needed for some tests later in this chapter: + +localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true +localedef -i ja_JP -f SHIFT_JIS ja_JP.SIJS 2> /dev/null || true Glibc now uses libidn2 when resolving internationalized domain names. This is a run time dependency. If this capability diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index fc26f6daf..5e8bf7780 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -50,7 +50,7 @@ First, apply a patch to fix some regressions and fix functionality with future versions of the kernel: -patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-2.patch +patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-3.patch Remove tests that cannot be built in chroot: diff --git a/packages.ent b/packages.ent index 167383f99..d63c45a18 100644 --- a/packages.ent +++ b/packages.ent @@ -384,7 +384,7 @@ - + diff --git a/patches.ent b/patches.ent index 5bbfc57ba..62a45216d 100644 --- a/patches.ent +++ b/patches.ent @@ -67,6 +67,6 @@ - - - + + +