control: severity -1 important
[2018-12-23 22:58] Adam Borowski <[email protected]> > Uh oh... looks like the logsave issue suddenly became RCish: it > prevents lxc containers from booting unattended: > [...] I can propose following ad-hoc solution. Objections? Better suggestions? diff --git a/debian/src/initscripts/etc/init.d/checkfs.sh b/debian/src/initscripts/etc/init.d/checkfs.sh index 44ac67f3..13a10d10 100755 --- a/debian/src/initscripts/etc/init.d/checkfs.sh +++ b/debian/src/initscripts/etc/init.d/checkfs.sh @@ -91,7 +91,7 @@ Continuing with system boot in 5 seconds." if [ "$VERBOSE" = no ] then log_action_begin_msg "Checking file systems" - logsave -s $FSCK_LOGFILE fsck $spinner -M -A $fix $force $FSCKTYPES_OPT + logsave_best_effort fsck $spinner -M -A $fix $force $FSCKTYPES_OPT FSCKCODE=$? if [ "$FSCKCODE" -eq 32 ] @@ -112,7 +112,7 @@ Continuing with system boot in 5 seconds." else log_action_msg "Will now check all file systems" fi - logsave -s $FSCK_LOGFILE fsck $spinner -V -M -A $fix $force $FSCKTYPES_OPT + logsave_best_effort fsck $spinner -V -M -A $fix $force $FSCKTYPES_OPT FSCKCODE=$? if [ "$FSCKCODE" -eq 32 ] then diff --git a/debian/src/initscripts/etc/init.d/checkroot.sh b/debian/src/initscripts/etc/init.d/checkroot.sh index ba35e439..b29ac72d 100755 --- a/debian/src/initscripts/etc/init.d/checkroot.sh +++ b/debian/src/initscripts/etc/init.d/checkroot.sh @@ -231,7 +231,7 @@ Will restart in 5 seconds." if [ "$VERBOSE" = no ] then log_action_begin_msg "Checking root file system" - logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -t $roottype $rootdev + logsave_best_effort fsck $spinner $force $fix -t $roottype $rootdev FSCKCODE=$? if [ "$FSCKCODE" = 0 ] then @@ -241,7 +241,7 @@ Will restart in 5 seconds." fi else log_daemon_msg "Will now check root file system" - logsave -s $FSCK_LOGFILE fsck $spinner $force $fix -V -t $roottype $rootdev + logsave_best_effort fsck $spinner $force $fix -V -t $roottype $rootdev FSCKCODE=$? log_end_msg $FSCKCODE fi diff --git a/debian/src/initscripts/lib/init/mount-functions.sh b/debian/src/initscripts/lib/init/mount-functions.sh index e453f6a8..7511761c 100644 --- a/debian/src/initscripts/lib/init/mount-functions.sh +++ b/debian/src/initscripts/lib/init/mount-functions.sh @@ -706,3 +706,13 @@ is_fastboot_active() { done return 1 } + +# This function does not actually belong here; it is duct-tape solution +# for #901289. +logsave_best_effort () { + if [ -x /sbin/logsave ] ; then + logsave -s "${FSCK_LOGFILE}" "$@" + else + "$@" + fi +}

