X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=53f1e20fc208975d87f2cfdcff99cdcd6dc0f09c;hp=2544c8542fab181c58114c3c54b611a161b002b7;hb=22e306074e919b92cbf50939112ac69e98c13a27;hpb=7614eb950deb2b036bc22b328929d79065f63153 diff --git a/grml-debootstrap b/grml-debootstrap index 2544c85..53f1e20 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: @@ -104,10 +105,10 @@ fi # cmdline handling {{{ # source external command line parameter-processing script -if [ -r /usr/share/grml-debootstrap/functions/cmdlineopts.clp ] ; then - . /usr/share/grml-debootstrap/functions/cmdlineopts.clp -elif [ -r ./cmdlineopts.clp ] ; then +if [ -r ./cmdlineopts.clp ] ; then . ./cmdlineopts.clp +elif [ -r /usr/share/grml-debootstrap/functions/cmdlineopts.clp ] ; then + . /usr/share/grml-debootstrap/functions/cmdlineopts.clp else echo "Error: cmdline function file not found, exiting.">&2 exit 1 @@ -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 @@ -576,13 +578,11 @@ set_target_directory(){ GRUB='' } -case $TARGET in - /dev/shm/*) set_target_directory ;; - /dev/*) +if [ -b "$TARGET" ] ; then PARTITION=1 - ;; - *) set_target_directory ;; -esac +else + set_target_directory +fi # }}} # architecture setup {{{ @@ -858,6 +858,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 @@ -956,7 +972,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"