X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-debootstrap;h=3c6ef2f54bc41a7cd4828c91c67475bd71e26317;hb=016c46616d5dcac315ef1796c4ba0464ee1610fc;hp=97409bc941d77995372e712b212948224d9ee107;hpb=c59878b7597b82fc8f94ba5312c01e0a94075a4f;p=grml-debootstrap.git diff --git a/grml-debootstrap b/grml-debootstrap index 97409bc..3c6ef2f 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -258,7 +258,7 @@ cleanup() { # 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 @@ -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 @@ -354,11 +355,10 @@ fi # cmdline handling {{{ CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,defaultinterfaces,interactive,nodebootstrap,nointerfaces,nokernel,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,post-scripts:,pre-scripts:,debconf:,vm,vmfile,vmsize:,vmefi,keep_src_list,hostname:,password:,nopassword,grmlrepos,backportrepos,bootappend:,grub:,efi:,arch:,insecure,verbose,help,version,force,debug,contrib,non-free,remove-configs,sshcopyid,sshcopyauth -_opt_temp=$(getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \ - $CMDLINE_OPTS -- "$@") - -if [ $? != 0 ]; then - eerror "Try 'grml-debootstrap --help' for more information."; eend 1; exit 1 +if ! _opt_temp=$(getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \ + $CMDLINE_OPTS -- "$@"); then + eerror "Try 'grml-debootstrap --help' for more information." + bailout 1 fi eval set -- "$_opt_temp" @@ -658,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 @@ -1051,8 +1052,7 @@ elif [ -n "$INTERACTIVE" ] ; then Is this ok for you? Notice: selecting 'No' will exit ${PN}." dialog --title "$PN" --no-collapse \ - --yesno "$INFOTEXT" 0 0 - [ $? -eq 0 ] || bailout 0 + --yesno "$INFOTEXT" 0 0 || bailout 0 else # if not running automatic installation display configuration and prompt for execution: einfo "$PN [${VERSION}] - Please recheck configuration before execution:" @@ -1451,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 @@ -1459,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