X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=chroot-script;h=b5f1abe3c7e551f0c884db7809c2fac0e7873b88;hp=2be4689c654c5250dc43cdb4e6ad07113a225386;hb=8e9c9cb1f148d1eac5bcea9f5f325a72d219df86;hpb=c2f80ef4cb996ef77d2486d0db91f1e03abf6ac3 diff --git a/chroot-script b/chroot-script index 2be4689..b5f1abe 100755 --- a/chroot-script +++ b/chroot-script @@ -36,9 +36,11 @@ stage() { echo "$2" > "$STAGES/$1" return 0 elif grep -q done "$STAGES/$1" 2>/dev/null ; then - echo "[*] Notice: stage $1 has been executed already, skipping execution therefore.">&2 + echo " [*] Notice: stage $1 has been executed already, skipping execution therefore.">&2 return 1 fi + echo " Executing stage ${1}" + return 0 } # }}} @@ -393,6 +395,17 @@ grub() { } # }}} +# execute all scripts present in /etc/debootstrap/chroot-scripts/ {{{ +custom_scripts() { + [ -d /etc/debootstrap/chroot-scripts/ ] || return 0 + + for script in /etc/debootstrap/chroot-scripts/* ; do + echo "Executing script $script" + $script && echo "done" || echo "failed" + done +} +# }}} + # make sure we don't have any running processes left {{{ services() { for service in ssh mdadm mdadm-raid ; do @@ -418,11 +431,13 @@ finalize() { # execute the functions {{{ for i in chrootmirror grmlrepos kernelimg_conf makedev install_policy_rcd \ packages extrapackages mkinitrd kernel reconfigure hosts interfaces \ - timezone fstab hostname initrd grub passwords services finalize ; do - if stage $i ; then + timezone fstab hostname initrd grub passwords custom_scripts services ; do + if stage $i ; then $i && stage $i done || exit 1 - fi + fi done + # always execute the finalize stage: + finalize # }}} # finally exit the chroot {{{