X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=4957e8f7d46135bfbe9f59bd284e4038d0fda992;hp=9ad26622c19d82596477d09732982ab1f2f05358;hb=refs%2Fheads%2Fmaster;hpb=cbd20a07125a419e7e3a62e360d07e65a084587c diff --git a/grml-debootstrap b/grml-debootstrap index 9ad2662..97dc26b 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -13,6 +13,12 @@ error_handler() { last_bash_command="$BASH_COMMAND" echo "Unexpected non-zero exit code $last_exit_code in ${BASH_SOURCE[*]} at line ${BASH_LINENO[*]} detected! last bash command: $last_bash_command" + if [ -r "$MNTPOINT/debootstrap/debootstrap.log" ] && \ + [ -s "$MNTPOINT/debootstrap/debootstrap.log" ] ; then + einfo "Presenting last ten lines of debootstrap.log:" + tail -10 "${MNTPOINT}"/debootstrap/debootstrap.log + einfo "End of debootstrap.log" + fi ## Check if "bailout" function is available. ## This is not the case in chroot-script. if command -v bailout >/dev/null 2>&1; then @@ -241,6 +247,32 @@ check4progs(){ } # }}} +# unmount mountpoint {{{ +try_umount() { + local tries=$1 + local mountpoint="$2" + + if ! mountpoint "$mountpoint" &>/dev/null ; then + return 0 + fi + + for (( try=1; try<=tries; try++ )); do + if [[ ${try} -eq ${tries} ]]; then + # Last time, show errors this time + umount "${mountpoint}" && return 0 + else + # Not last time, hide errors until fatal + if umount "${mountpoint}" 2>/dev/null ; then + return 0 + else + sleep 1 + fi + fi + done + return 1 # Tried enough +} +# }}} + # helper functions {{{ cleanup() { if [ -n "$CHROOT_VARIABLES" ] ; then @@ -1724,16 +1756,6 @@ debootstrap_system() { # shellcheck disable=SC2086 "$DEBOOTSTRAP" $ARCHCMD $DEBOOTSTRAP_OPT "$RELEASE" "$MNTPOINT" "$MIRROR" fi - - if [ $RC -ne 0 ] ; then - if [ -r "$MNTPOINT/debootstrap/debootstrap.log" ] && \ - [ -s "$MNTPOINT/debootstrap/debootstrap.log" ] ; then - einfo "Presenting last ten lines of debootstrap.log:" - tail -10 "${MNTPOINT}"/debootstrap/debootstrap.log - einfo "End of debootstrap.log" - fi - fi - } # }}} @@ -2016,32 +2038,6 @@ execute_post_scripts() { } # }}} -# unmount mountpoint {{{ -try_umount() { - local tries=$1 - local mountpoint="$2" - - if ! mountpoint "$mountpoint" &>/dev/null ; then - return 0 - fi - - for (( try=1; try<=tries; try++ )); do - if [[ ${try} -eq ${tries} ]]; then - # Last time, show errors this time - umount "${mountpoint}" && return 0 - else - # Not last time, hide errors until fatal - if umount "${mountpoint}" 2>/dev/null ; then - return 0 - else - sleep 1 - fi - fi - done - return 1 # Tried enough -} -# }}} - # execute chroot-script {{{ chrootscript() { if ! [ -r "$MNTPOINT/bin/chroot-script" ] ; then