X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=780bf3c766615dd7d13656832902c0d466e1c69d;hp=7459f3d8d38b2eb6db2e99dd56e80f07f0dd06c1;hb=8a3599309071d17acb6e63f362274248d20e79c6;hpb=cb537a8079da9d9a75b049f2e2c6c7f87a905aa1 diff --git a/grml-live b/grml-live index 7459f3d..780bf3c 100755 --- a/grml-live +++ b/grml-live @@ -20,10 +20,11 @@ else fi # exit on any error: -set -e +# disable for now since it seems to cause some problems +# set -e # global variables -GRML_LIVE_VERSION='0.13.3' +GRML_LIVE_VERSION='0.14.1' PN="$(basename $0)" CMDLINE="$0 $@" SOURCES_LIST_FILE='/etc/grml/fai/apt/sources.list' @@ -131,18 +132,29 @@ LIVE_CONF=/etc/grml/grml-live.conf . $LIVE_CONF # }}} +# umount all directories {{{ +umount_all() { + # make sure we don't leave any mounts - FAI doesn't remove them always + umount $CHROOT_OUTPUT/proc 2>/dev/null || /bin/true + umount $CHROOT_OUTPUT/sys 2>/dev/null || /bin/true + umount $CHROOT_OUTPUT/dev/pts 2>/dev/null || /bin/true + umount $CHROOT_OUTPUT/dev 2>/dev/null || /bin/true + [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" +} +# }}} + # clean exit {{{ bailout() { rm -f /var/run/fai/fai_softupdate_is_running \ /var/run/fai/FAI_INSTALLATION_IN_PROGRESS [ -n "$SQUASHFS_STDERR" ] && rm -rf "$SQUASHFS_STDERR" - [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" + umount_all [ -n "$1" ] && EXIT="$1" || EXIT="1" [ -n "$2" ] && eerror "$2">&2 log "------------------------------------------------------------------------------" exit "$EXIT" } -trap bailout 1 2 3 3 6 9 14 15 +trap bailout 1 2 3 3 6 9 14 15 EXIT # }}} # log file stuff {{{ @@ -439,7 +451,7 @@ for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" ; do done # notice: activate grml-live pool only if we are building against unstable: -if grep -qe unstable -qe sid "$SOURCES_LIST_FILE" ; then +if grep -qwe unstable -qwe sid "$SOURCES_LIST_FILE" ; then grep -q 'grml-live.*main' "$SOURCES_LIST_FILE" || \ grep grml-stable "$SOURCES_LIST_FILE" | \ sed 's/grml-stable/grml-live/' >> "$SOURCES_LIST_FILE" @@ -546,15 +558,10 @@ else # Remove all FAI logs from chroot if class RELEASE is used: if [ -f "$CHROOT_OUTPUT"/etc/grml_fai_release ] ; then rm -rf "$CHROOT_OUTPUT"/var/log/fai/* + rm -f "$CHROOT_OUTPUT"/var/log/install_packages.list fi - # make sure we don't leave any mounts - FAI doesn't remove them always - umount $CHROOT_OUTPUT/proc 2>/dev/null || /bin/true - umount $CHROOT_OUTPUT/sys 2>/dev/null || /bin/true - umount $CHROOT_OUTPUT/dev/pts 2>/dev/null || /bin/true - umount $CHROOT_OUTPUT/dev 2>/dev/null || /bin/true - - [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" + umount_all # notice: 'fai dirinstall' does not seem to exit appropriate, so: ERROR=''