for Issue555
[grml-debootstrap.git] / grml-debootstrap
index cc19118..809e9e4 100755 (executable)
@@ -49,13 +49,14 @@ Bootstrap options:
 Configuration options:
 
 
 Configuration options:
 
 
+  -d, --confdir=path     Place of config files for debootstrap, defaults to
+                           /etc/debootstrap
   -c, --config=file      Use specified configuration file, defaults to
   -c, --config=file      Use specified configuration file, defaults to
-                           /etc/debootstrap/config
-      --packages[=f]     Install packages defined in /etc/debootstrap/packages.
-                           Option arg: alternative package list file.
-      --debconf[=f]      Pre-seed packages using
-                           /etc/debootstrap/debconf-selections. Option arg:
-                           alternative preseed db file.
+                           <confdir>/config
+      --packages[=f]     Install packages defined in <confdir>/packages. Option
+                           arg: alternative package list file.
+      --debconf[=f]      Pre-seed packages using <confdir>/debconf-selections.
+                           Option arg: alternative pre-seed db file.
       --keep_src_list    Do not overwrite user provided apt sources.list.
       --hostname=name    Hostname of Debian system.
       --password=pwd     Use specified password as password for user root.
       --keep_src_list    Do not overwrite user provided apt sources.list.
       --hostname=name    Hostname of Debian system.
       --password=pwd     Use specified password as password for user root.
@@ -103,6 +104,7 @@ fi
 # source external command line parameter-processing script
 . $prog_real.clp
 
 # source external command line parameter-processing script
 . $prog_real.clp
 
+# business-logic of command line parameter-processing
 [ "$_opt_mirror" ]             && MIRROR=$_opt_mirror
 [ "$_opt_iso" ]                        && ISO=$_opt_iso
 [ "$_opt_release" ]            && RELEASE=$_opt_release
 [ "$_opt_mirror" ]             && MIRROR=$_opt_mirror
 [ "$_opt_iso" ]                        && ISO=$_opt_iso
 [ "$_opt_release" ]            && RELEASE=$_opt_release
@@ -110,6 +112,7 @@ fi
 [ "$_opt_mntpoint" ]           && MNTPOINT=$_opt_mntpoint
 [ "$_opt_debopt" ]             && DEBOOTSTRAP_OPT=$_opt_debopt
 [ "$_opt_interactive" ]                && INTERACTIVE=1
 [ "$_opt_mntpoint" ]           && MNTPOINT=$_opt_mntpoint
 [ "$_opt_debopt" ]             && DEBOOTSTRAP_OPT=$_opt_debopt
 [ "$_opt_interactive" ]                && INTERACTIVE=1
+[ "$_opt_confdir" ]            && CONFFILES=$_opt_confdir
 [ "$_opt_config" ]             && CONFIGFILE=$_opt_config
 [ "$_opt_packages_set" ]       && PACKAGES='yes'
 [ "$_opt_debconf_set" ]                && DEBCONF='yes'
 [ "$_opt_config" ]             && CONFIGFILE=$_opt_config
 [ "$_opt_packages_set" ]       && PACKAGES='yes'
 [ "$_opt_debconf_set" ]                && DEBCONF='yes'
@@ -720,9 +723,11 @@ preparechroot() {
   sed -i "s#GRUB=.*#GRUB=\"$GRUB\"#"          $MNTPOINT/etc/debootstrap/config
   sed -i "s#GROOT=.*#GROOT=\"$GROOT\"#"       $MNTPOINT/etc/debootstrap/config
 
   sed -i "s#GRUB=.*#GRUB=\"$GRUB\"#"          $MNTPOINT/etc/debootstrap/config
   sed -i "s#GROOT=.*#GROOT=\"$GROOT\"#"       $MNTPOINT/etc/debootstrap/config
 
-  cp /etc/debootstrap/packages  $MNTPOINT/etc/debootstrap/packages
-  [ -f /etc/debootstrap/debconf-selections -a "$DEBCONF" = 'yes' ] && \
-    cp /etc/debootstrap/debconf-selections $MNTPOINT/etc/debootstrap/
+  cp ${_opt_packages:-/etc/debootstrap/packages} \
+    $MNTPOINT/etc/debootstrap/packages
+  _opt_debconf=${_opt_debconf:-/etc/debootstrap/debconf-selections}
+  [ -f $_opt_debconf -a "$DEBCONF" = 'yes' ] && \
+    cp $_opt_debconf $MNTPOINT/etc/debootstrap/debconf-selections
 
   # notice: do NOT use $CHROOT_VARIABLES inside chroot but statically file instead!
   cp $CHROOT_VARIABLES          $MNTPOINT/etc/debootstrap/variables
 
   # notice: do NOT use $CHROOT_VARIABLES inside chroot but statically file instead!
   cp $CHROOT_VARIABLES          $MNTPOINT/etc/debootstrap/variables