X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=48f7c64fd1670d17f66fe1b55c501c5821dacd1b;hp=681acc7cbbcaee35d3b44047d67ce64317d90673;hb=ee2a7490fd324489ab008239c0b8657e880df2db;hpb=b379c74396164ff7ad0c5a750e053cba074eb60e diff --git a/grml-debootstrap b/grml-debootstrap index 681acc7..48f7c64 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -64,7 +64,8 @@ Configuration options: --password Use specified password as password for user root. --bootappend Add specified appendline to kernel whilst booting. --chroot-scripts Execute chroot scripts from specified directory. - --scripts Execute scripts from specified directory. + --pre-scripts Execute scripts from specified directory (before chroot-scripts). + --scripts Execute scripts from specified directory (after chroot-scripts). Other options: @@ -141,6 +142,7 @@ fi [ "$_opt_packages_set" ] && PACKAGES='yes' [ "$_opt_debconf_set" ] && DEBCONF='yes' [ "$_opt_scripts_set" ] && SCRIPTS='yes' +[ "$_opt_pre_scripts_set" ] && PRE_SCRIPTS='yes' [ "$_opt_chroot_scripts_set" ] && CHROOT_SCRIPTS='yes' [ "$_opt_keep_src_list" ] && KEEP_SRC_LIST='yes' [ "$_opt_hostname" ] && HOSTNAME=$_opt_hostname @@ -860,6 +862,22 @@ preparechroot() { } # }}} +# execute all scripts in /etc/debootstrap/pre-scripts/ {{{ +execute_pre_scripts() { + # make sure we have $MNTPOINT available for our scripts + export MNTPOINT + if [ -d "$_opt_pre_scripts" ] || [ "$PRE_SCRIPTS" = 'yes' ] ; then + [ -d "$_opt_pre_scripts" ] && pre_scripts="$_opt_pre_scripts" || pre_scripts="$CONFFILES/pre-scripts/" + for script in ${pre_scripts}/* ; do + if [ -x "$script" ] ; then + einfo "Executing pre-script $script" + $script ; eend $? + fi + done + fi +} +# }}} + # execute all scripts in /etc/debootstrap/scripts/ {{{ execute_scripts() { # make sure we have $MNTPOINT available for our scripts @@ -958,7 +976,7 @@ fscktool() { # now execute all the functions {{{ for i in mkfs tunefs mount_target debootstrap_system preparechroot \ - chrootscript execute_scripts grub_install umount_chroot \ + execute_pre_scripts chrootscript execute_scripts grub_install umount_chroot \ fscktool ; do if stage "${i}" ; then $i && ( stage "${i}" done && rm -f "${STAGES}/${i}" ) || bailout 2 "i"