From 7542fba94e3f6d4f3646a0e2e3e95efa6ee39c8f Mon Sep 17 00:00:00 2001 From: fatalerrors Date: Fri, 5 May 2023 19:50:16 +0200 Subject: [PATCH] fixed few minor issues --- lib/chroot.sh | 4 +++- lib/command_line.sh | 6 +++--- lib/display.sh | 5 ++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/chroot.sh b/lib/chroot.sh index 12aaf4c..87c43ee 100644 --- a/lib/chroot.sh +++ b/lib/chroot.sh @@ -32,7 +32,9 @@ chroot_bootstrap() cp -av $bootstrap_items $tmpdir prnt I "Changing root and starting a fork of init.sh..." - chroot $CHROOT_PATH /bin/bash -c 'CHROOT_DONE=true; $tmpdir/init.sh $@' + # on the following line, true allows to correctly exit in case of error since + # errors are managed by the chrooted environment + chroot $CHROOT_PATH /bin/bash -c 'CHROOT_DONE=true; $tmpdir/init.sh $@' || true # If stage file still exists we copy it to be able to resume later if [[ -e $tmpdir/$(basename $STAGE_FILE) ]]; then diff --git a/lib/command_line.sh b/lib/command_line.sh index e0fac79..3622b6d 100644 --- a/lib/command_line.sh +++ b/lib/command_line.sh @@ -140,7 +140,7 @@ read_commandline() syntax_error fi - unset want_conffile want_logfile want_module + unset want_conffile want_logfile want_module want_chroot } export -f read_commandline @@ -165,8 +165,8 @@ process_commandline_and_vars() prnt E "Resuming doesn't make sense with --check-only." die 1 --force fi - if [[ $MANUAL_MODULE_LIST ]]; then - prnt E "Recovery mode can't work with a manual module list." + if [[ -n $MANUAL_MODULE_LIST ]]; then + prnt E "Resume mode can't work with a manual module list." die 1 --force fi fi diff --git a/lib/display.sh b/lib/display.sh index 45199b2..c674a6c 100644 --- a/lib/display.sh +++ b/lib/display.sh @@ -106,7 +106,7 @@ prnt() ;; "W") local heads="[${IYellow}Warning${DEFAULTFG}]" - shift + shift ;; "E") local heads="[ ${IRed}ERROR${DEFAULTFG} ]" @@ -148,8 +148,7 @@ export -f separator dsleep() { i=$1 - while test $i -gt 0 - do + while test $i -gt 0; do if [[ -n $2 ]]; then echo -n "$2" else