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
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
# 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
# source main configuration file {{{
if [ -r /etc/debootstrap/config ] ; then
+ bash -n /etc/debootstrap/config
# shellcheck disable=SC1091
. /etc/debootstrap/config
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
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:"
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
# 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
if [ "$ARCH" = 'arm64' ]; then
einfo "Setting up GPT partitions for arm64"
parted -s "${TARGET}" 'mklabel gpt'
- parted -s "${TARGET}" 'mkpart EFI fat32 1MiB 10MiB'
+ parted -s "${TARGET}" 'mkpart ESP fat32 1MiB 10MiB'
parted -s "${TARGET}" 'set 1 boot on'
parted -s "${TARGET}" 'mkpart LINUX ext4 10MiB 100%'
else
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
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
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}"