X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=grml-debootstrap;h=d671de87aa4799f6fd61aefae508de0f5c6d56ef;hb=19dc059a0f67699116d83305ce8f0320ef0fe613;hp=759deaec8590215f50f03d3d8555293cc3768f0d;hpb=521689adb03b9c9db39843112e3326bb5f8e6df6;p=grml-debootstrap.git diff --git a/grml-debootstrap b/grml-debootstrap index 759deae..d671de8 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -251,14 +251,14 @@ cleanup() { einfo "Removing ${STAGES}" ; rmdir "$STAGES" || eend $? fi - if [ -n "$ARM_EFI_TARGET" ]; then - umount "${MNTPOINT}/boot/efi" >/dev/null 2>&1 + if findmnt "${MNTPOINT}"/boot/efi &>/dev/null ; then + umount "${MNTPOINT}"/boot/efi fi # Remove temporary mountpoint again if echo "$MNTPOINT" | grep -q '/mnt/debootstrap\.' ; then if [ -d "$MNTPOINT" ] ; then - rmdir "$MNTPOINT" + rmdir "$MNTPOINT" || true fi fi @@ -272,17 +272,17 @@ cleanup() { fi done - [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount -a >/dev/null 2>&1 + [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount -a >/dev/null 2>&1 || true # ugly, but make sure we really don't leave anything (/proc /proc and # /dev /dev are intended, trying to work around timing issues, see #657023) for ARG in /run/udev /sys /proc /proc /dev/pts /dev/pts /dev /dev ; do - [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 - umount "$MNTPOINT"/$ARG >/dev/null 2>&1 + [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 || true + umount "$MNTPOINT"/$ARG >/dev/null 2>&1 || true done if [ -n "$ISODIR" ] ; then - [ -d "$MNTPOINT/$ISODIR" ] && umount "$MNTPOINT/$ISODIR" >/dev/null 2>&1 + [ -d "$MNTPOINT/$ISODIR" ] && umount "$MNTPOINT/$ISODIR" >/dev/null 2>&1 || true fi if [ -n "$DIRECTORY" ] ; then @@ -299,7 +299,7 @@ cleanup() { # remove directory only if we used the default with process id inside the name if echo "$MNTPOINT" | grep -q '/mnt/debootstrap\.' ; then - if test -d "$MNTPOINT" ; then + if [ -d "$MNTPOINT" ] ; then einfo "Removing directory ${MNTPOINT}" rmdir "$MNTPOINT" || eend $? fi @@ -346,6 +346,7 @@ stage() { # source main configuration file {{{ if [ -r /etc/debootstrap/config ] ; then + bash -n /etc/debootstrap/config # shellcheck disable=SC1091 . /etc/debootstrap/config fi @@ -657,6 +658,7 @@ fi # source specified configuration file {{{ if [ -n "$CONFIGFILE" ] ; then einfo "Reading specified config file $CONFIGFILE." + bash -n "$CONFIGFILE" # shellcheck disable=SC1091 source=config if ! . "$CONFIGFILE" ; then eerror "Error reading config file $CONFIGFILE" ; bailout 1 @@ -1449,7 +1451,7 @@ prepare_vm() { fi # make sure loop module is present and a usable loop device exists - modprobe -q loop + modprobe loop || true if ! losetup -f >/dev/null 2>&1; then eerror "Error finding usable loop device" bailout 1 @@ -1457,7 +1459,7 @@ prepare_vm() { # if dm-mod isn't available then kpartx will fail with # "Is device-mapper driver missing from kernel? [...]" - modprobe -q dm-mod + modprobe dm-mod || true if ! grep -q 'device-mapper' /proc/misc >/dev/null 2>&1 ; then eerror "Device-mapper support missing in kernel." bailout 1 @@ -1546,8 +1548,8 @@ grub_install() { fi if [ -n "${ARM_EFI_TARGET}" ]; then - mkdir -p "${MNTPOINT}/boot/efi" - if ! mount "${ARM_EFI_TARGET}" "${MNTPOINT}/boot/efi" ; 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." bailout 1 fi @@ -1680,7 +1682,7 @@ grub_install() { umount "${MNTPOINT}"/dev/pts try_umount 3 "${MNTPOINT}"/dev - if [ -n "$VMEFI" ]; then + if findmnt "${MNTPOINT}"/boot/efi &>/dev/null ; then umount "${MNTPOINT}"/boot/efi fi @@ -1693,8 +1695,8 @@ umount_target() { return 0 fi - if [ -n "${ARM_EFI_TARGET}" ]; then - umount "${MNTPOINT}/boot/efi" + if findmnt "${MNTPOINT}"/boot/efi &>/dev/null ; then + umount "${MNTPOINT}"/boot/efi fi umount "${MNTPOINT}"