code simplification
authorPatrick Schleizer <adrelanos@whonix.org>
Wed, 25 Oct 2023 15:54:19 +0000 (11:54 -0400)
committerPatrick Schleizer <adrelanos@whonix.org>
Thu, 7 Dec 2023 18:11:46 +0000 (13:11 -0500)
No need to use both, `eend 1` and `bailout 1`.
In these cases, only `bailout 1` is sufficient.

grml-debootstrap

index 3bcaae5..cff0116 100755 (executable)
@@ -316,6 +316,7 @@ cleanup() {
 
 # we want to exit smoothly and clean:
 bailout(){
+  eend "$1" || true
 
   cleanup
 
@@ -532,11 +533,11 @@ done
   CONFFILES=$_opt_confdir
   einfo "Using config files under $CONFFILES/."
   if ! [ -r "$CONFFILES/config" ] ; then
-    eerror "Error: config file $CONFFILES/config not found."; eend 1; bailout 1
+    eerror "Error: config file $CONFFILES/config not found."; bailout 1
   fi
   # shellcheck disable=SC1091 source=config
   if ! . "$CONFFILES/config" ; then
-    eerror "Error reading config file $CONFFILES/config" ; eend 1 ; bailout 1
+    eerror "Error reading config file $CONFFILES/config" ; bailout 1
   fi
   # restore the command line parameter value
   CONFFILES=$_opt_confdir
@@ -605,20 +606,17 @@ fi
 if [ "$_opt_grub" ] && [ "$_opt_vmfile" ] ; then
   eerror "The --grub option is incompatible with --vmfile, please drop it from your command line."
   eerror "The --grub option is unneeded as GRUB will be installed automatically (unless GRUB_INSTALL='no')."
-  eend 1
   bailout 1
 fi
 
 if [ "${_opt_sshcopyid}" ] && [ "${_opt_sshcopyauth}" ] ; then
   eerror "The --sshcopyid option is incompatible with --sshcopyauth, please drop either of them from your command line."
-  eend 1
   bailout 1
 fi
 
 if [ -n "$ISO" ] && [[ "$DEBOOTSTRAP" =~ mmdebstrap$ ]] ; then
   eerror "The ISO option is incompatible with usage of mmdebstrap for bootstrapping."
   eerror "Either drop the --iso ... option or use plain debootstrap instead."
-  eend 1
   bailout 1
 fi
 
@@ -658,7 +656,7 @@ if [ -n "$CONFIGFILE" ] ; then
   einfo "Reading specified config file $CONFIGFILE."
   # shellcheck disable=SC1091 source=config
   if ! . "$CONFIGFILE" ; then
-    eerror "Error reading config file $CONFIGFILE" ; eend 1 ; bailout 1
+    eerror "Error reading config file $CONFIGFILE" ; bailout 1
   fi
 fi
 # }}}
@@ -668,14 +666,12 @@ if [ -n "$GROOT" ] ; then
    eerror "Error: you seem to have \$GROOT configured."
    eerror "This variable is no longer supported, please visit the"
    eerror "grml-debootstrap documentation for details."
-   eend 1
    bailout 1
 fi
 
 if echo "$GRUB" | grep -q '^hd' ; then
    eerror "Error: this syntax for the grub configuration variable is no longer supported."
    eerror "Please do not use hd... any longer but /dev/sdX instead."
-   eend 1
    bailout 1
 fi
 # }}}
@@ -979,7 +975,6 @@ format_efi_partition() {
     RC=$?
     if [ ! $RC -eq 0 ] ; then
       eerror "Error while creating filesystem on ${EFI}."
-      eend 1
       bailout 1
     fi
   fi
@@ -1109,7 +1104,7 @@ else # if not running automatic installation display configuration and prompt fo
      einfon "Is this ok for you? [y/N] "
      read -r a
      if ! [ "$a" = 'y' ] || [ "$a" = 'Y' ] ; then
-        eerror "Exiting as requested." ; eend 1
+        eerror "Exiting as requested."
         bailout 1
      fi
    fi
@@ -1159,7 +1154,7 @@ fi
 
 if [ -z "${ARCH:-}" ] ; then
   eerror 'Architecture neither set (environment variable ARCH), nor could be automatically identified (using dpkg).'
-  eerror 'Consider setting the --arch ... option.' ; eend 1
+  eerror 'Consider setting the --arch ... option.'
   bailout 1
 fi
 # }}}
@@ -1168,7 +1163,7 @@ fi
 CURRENT_ARCH="$(uname -m)"
 if [ "$CURRENT_ARCH" != "x86_64" ] ; then
    if [ "$ARCH" = "amd64" ] ; then
-      eerror "It is not possible to build amd64 on $CURRENT_ARCH. Consider installing and booting the 'linux-image-amd64' kernel or using '--arch i386' instead." ; eend 1
+      eerror "It is not possible to build amd64 on $CURRENT_ARCH. Consider installing and booting the 'linux-image-amd64' kernel or using '--arch i386' instead."
       bailout 1
    fi
 fi
@@ -1177,7 +1172,7 @@ fi
 # Support for generic release codenames is unavailable. {{{
 if [ "$RELEASE" = "stable" ] || [ "$RELEASE" = "testing" ] ; then
    eerror "Generic release codenames (stable, testing) are unsupported. \
-Please use specific codenames such as bullseye or bookworm." ; eend 1
+Please use specific codenames such as bullseye or bookworm."
    bailout 1
 fi
 # }}}
@@ -1189,7 +1184,7 @@ if [ -n "$TARGET" ] ; then
    SHORT_TARGET="${TARGET##*/}"
 else
    eerror "Please adjust $CONFFILES/config or..."
-   eerror "... use the interactive version for configuration before running ${0}" ; eend 1
+   eerror "... use the interactive version for configuration before running ${0}"
    bailout 1
 fi
 # }}}
@@ -1203,7 +1198,7 @@ fi
 if [ -r "$STAGES"/grml-debootstrap ] ; then
    if grep -q 'done' "${STAGES}/grml-debootstrap" ; then
       eerror "Error: grml-debootstrap has been executed already, won't continue therefore."
-      eerror "If you want to re-execute grml-debootstrap just manually remove ${STAGES}" ; eend 1
+      eerror "If you want to re-execute grml-debootstrap just manually remove ${STAGES}"
    fi
 fi
 # }}}
@@ -1231,7 +1226,7 @@ else
     # $TARGET was not detected as block device, but we do not want to create target directory in /dev/
     if [[ $TARGET == "/dev/"* ]]; then
       eerror "Error: Will not create target directory $TARGET in /dev."
-      eerror "  Please check the partition(s) of the blockdevice."; eend 1
+      eerror "  Please check the partition(s) of the blockdevice."
       bailout 1
     fi
     set_target_directory
@@ -1266,7 +1261,7 @@ mkfs() {
   fi
 
   if grep -q "$TARGET" /proc/mounts ; then
-    eerror "$TARGET already mounted, exiting to avoid possible damage. (Manually unmount $TARGET)" ; eend 1
+    eerror "$TARGET already mounted, exiting to avoid possible damage. (Manually unmount $TARGET)"
     bailout 1
   fi
 
@@ -1330,7 +1325,6 @@ mkfs() {
     if [ "$FIXED_DISK_IDENTIFIERS" = "yes" ] ; then
       if ! echo "$MKFS" | grep -q "mkfs.ext" ; then
         eerror "Not changing disk uuid for $TARGET because $MKFS doesn't seem to match for ext{2,3,4} file system"
-        eend 1
         bailout 1
       else
         einfo "Changing disk uuid for $TARGET to fixed (non-random) value $DISK_IDENTIFIER using tune2fs"
@@ -1454,19 +1448,17 @@ prepare_vm() {
 
   if [ -b "$TARGET" ] && [ -n "$VMFILE" ] ; then
      eerror "Error: specified virtual disk target ($TARGET) is an existing block device."
-     eend 1
      bailout 1
   fi
   if [ ! -b "$TARGET" ] && [ -z "$VMFILE" ] ; then
      eerror "Error: specified virtual disk target ($TARGET) does not exist yet."
-     eend 1
      bailout 1
   fi
 
   # make sure loop module is present and a usable loop device exists
   modprobe -q loop
   if ! losetup -f >/dev/null 2>&1; then
-    eerror "Error finding usable loop device" ; eend 1
+    eerror "Error finding usable loop device"
     bailout 1
   fi
 
@@ -1474,7 +1466,7 @@ prepare_vm() {
   # "Is device-mapper driver missing from kernel? [...]"
   modprobe -q dm-mod
   if ! grep -q 'device-mapper' /proc/misc >/dev/null 2>&1 ; then
-    eerror "Device-mapper support missing in kernel." ; eend 1
+    eerror "Device-mapper support missing in kernel."
     bailout 1
   fi
 
@@ -1515,7 +1507,7 @@ prepare_vm() {
 
   DEVINFO=$(kpartx -asv "$TARGET") # e.g. 'add map loop0p1 (254:5): 0 20477 linear 7:0 3' - will be multi-line for arm64
   if [ -z "${DEVINFO}" ] ; then
-    eerror "Error setting up loopback device." ; eend 1
+    eerror "Error setting up loopback device."
     bailout 1
   fi
 
@@ -1539,7 +1531,7 @@ prepare_vm() {
   export TARGET="/dev/mapper/$LOOP_PART" # '/dev/mapper/loop0p1'
 
   if [ -z "$TARGET" ] ; then
-     eerror "Error: target could not be set to according /dev/mapper/* device." ; eend 1
+     eerror "Error: target could not be set to according /dev/mapper/* device."
      bailout 1
   fi
 }
@@ -1556,14 +1548,14 @@ grub_install() {
   fi
 
   if ! mount "${TARGET}" "${MNTPOINT}" ; then
-    eerror "Error: Mounting ${TARGET} failed, can not continue." ; eend 1
+    eerror "Error: Mounting ${TARGET} failed, can not continue."
     bailout 1
   fi
 
   if [ -n "${ARM_EFI_TARGET}" ]; then
     mkdir -p "${MNTPOINT}/boot/efi"
     if ! mount "${ARM_EFI_TARGET}" "${MNTPOINT}/boot/efi" ; then
-      eerror "Error: Mounting ${ARM_EFI_TARGET} failed, can not continue." ; eend 1
+      eerror "Error: Mounting ${ARM_EFI_TARGET} failed, can not continue."
       bailout 1
     fi
   fi
@@ -1590,7 +1582,7 @@ grub_install() {
 
     mkdir -p "${MNTPOINT}/boot/grub"
     if ! [ -d "${MNTPOINT}"/usr/lib/grub/i386-pc/ ] ; then
-      eerror "Error: grub not installed inside Virtual Machine. Can not install bootloader." ; eend 1
+      eerror "Error: grub not installed inside Virtual Machine. Can not install bootloader."
       bailout 1
     fi
     cp -a "${MNTPOINT}"/usr/lib/grub/i386-pc "${MNTPOINT}/boot/grub/"
@@ -1955,7 +1947,6 @@ iface ${interface} inet dhcp
       chmod 0700 "${MNTPOINT}"/root/.ssh
       if ! ssh-add -L >> "${MNTPOINT}"/root/.ssh/authorized_keys ; then
         eerror "Error: executing 'ssh-add -L' failed."
-        eend 1
         bailout 1
       fi
     elif [ -f "$AUTHORIZED_KEYS_SOURCE" ]; then
@@ -1964,12 +1955,10 @@ iface ${interface} inet dhcp
       chmod 0700 "$AUTHORIZED_KEYS_TARGET"
       if ! cp "$AUTHORIZED_KEYS_SOURCE" "$AUTHORIZED_KEYS_TARGET" ; then
         eerror "Error: copying '$AUTHORIZED_KEYS_SOURCE' to '$AUTHORIZED_KEYS_TARGET' failed"
-        eend 1
         bailout 1
       fi
     else
       eerror "Error: Could not open a connection to your authentication agent or the agent has no identities."
-      eend 1
       bailout 1
     fi
   fi
@@ -1979,7 +1968,6 @@ iface ${interface} inet dhcp
 
     if ! [ -f "${AUTHORIZED_KEYS_SOURCE}" ]; then
       eerror "Error: could not read '${AUTHORIZED_KEYS_SOURCE}' for setting up SSH key login."
-      eend 1
       bailout 1
     fi
 
@@ -1989,7 +1977,6 @@ iface ${interface} inet dhcp
     chmod 0700 "${AUTHORIZED_KEYS_TARGET}"
     if ! cp "${AUTHORIZED_KEYS_SOURCE}" "${AUTHORIZED_KEYS_TARGET}" ; then
       eerror "Error: copying '${AUTHORIZED_KEYS_SOURCE}' to '${AUTHORIZED_KEYS_TARGET}' failed."
-      eend 1
       bailout 1
     fi
   fi