Provide option --defaultinterfaces to install default /etc/network/interfaces
authorMichael Prokop <mika@grml.org>
Sun, 20 Apr 2014 00:01:18 +0000 (02:01 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 20 Apr 2014 00:27:03 +0000 (02:27 +0200)
This should complete all combinations that make sense WRT
default /etc/network/interfaces handling

cmdlineopts.clp
grml-debootstrap

index dd1e933..a89c985 100644 (file)
@@ -12,7 +12,7 @@
 # should be handled in the main script, where it belongs.
 ################################################################################
 
-CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,interactive,nodebootstrap,nointerfaces,nokernel,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,vmfile,vmsize:,keep_src_list,hostname:,password:,nopassword,grmlrepos,backportrepos,bootappend:,grub:,arch:,insecure,verbose,help,version,force,debug
+CMDLINE_OPTS=mirror:,iso:,release:,target:,mntpoint:,debopt:,defaultinterfaces,interactive,nodebootstrap,nointerfaces,nokernel,nopackages,filesystem:,config:,confdir:,packages:,chroot-scripts:,scripts:,pre-scripts:,debconf:,vmfile,vmsize:,keep_src_list,hostname:,password:,nopassword,grmlrepos,backportrepos,bootappend:,grub:,arch:,insecure,verbose,help,version,force,debug
 
 _opt_temp=`getopt --name grml-debootstrap -o +m:i:r:t:p:c:d:vhV --long \
     $CMDLINE_OPTS -- "$@"`
@@ -107,6 +107,9 @@ while :; do
   --password)          # Use specified password as password for user root
     shift; _opt_password="$1"
     ;;
+  --defaultinterfaces) # Install default /etc/network/interfaces
+    _opt_defaultinterfaces=T
+    ;;
   --nointerfaces)      # Skip installation of /etc/network/interfaces
     _opt_nointerfaces=T
     ;;
@@ -135,7 +138,7 @@ while :; do
     else _opt_verbose=1; fi
     ;;
   --debug)             # Execute in debug mode
-    _opt_debug==T
+    _opt_debug=T
     ;;
   --help|-h)           # Print usage information and exit
     _opt_help=T
index 06200d8..e7384f0 100755 (executable)
@@ -93,10 +93,12 @@ Configuration options:
                              instead of using /etc/debootstrap/packages.
       --nopackages         Skip installation of packages defined in
                              /etc/debootstrap/packages
+      --nokernel           Skip installation of default kernel images.
       --nointerfaces       Do not copy /etc/network/interfaces from host system
                            to target system.
                            (This option is automatically enabled when using --vmfile.)
-      --nokernel           Skip installation of default kernel images.
+      --defaultinterfaces  Install a default /etc/network/interfaces file (enabling
+                           DHCP for eth0) instead of taking over config from host system.
       --debconf <file>     Pre-seed packages using specified pre-seed db file.
       --grmlrepos          Enable Grml's Debian repository (deb.grml.org).
       --backportrepos      Enable Debian's backports repository (backports.debian.org).
@@ -332,6 +334,7 @@ fi
 [ "$_opt_hostname" ]            && HOSTNAME=$_opt_hostname
 [ "$_opt_password" ]            && ROOTPASSWORD=$_opt_password
 [ "$_opt_nopassword" ]          && NOPASSWORD='yes'
+[ "$_opt_defaultinterfaces" ]   && DEFAULTINTERFACES="true"
 [ "$_opt_nointerfaces" ]        && NOINTERFACES="true"
 [ "$_opt_nokernel" ]            && NOKERNEL="true"
 [ "$_opt_bootappend" ]          && BOOT_APPEND=$_opt_bootappend
@@ -1153,7 +1156,6 @@ preparechroot() {
   [ -n "$MIRROR" ]              && echo "MIRROR=\"$MIRROR\""                           >> $CHROOT_VARIABLES
   [ -n "$MKFS" ]                && echo "MKFS=\"$MKFS\""                               >> $CHROOT_VARIABLES
   [ -n "$NOPASSWORD" ]          && echo "NOPASSWORD=\"true\""                          >> $CHROOT_VARIABLES
-  [ -n "$NOINTERFACES" ]        && echo "NOINTERFACES=\"true\""                        >> $CHROOT_VARIABLES
   [ -n "$NOKERNEL" ]            && echo "NOKERNEL=\"true\""                            >> $CHROOT_VARIABLES
   [ -n "$PACKAGES" ]            && echo "PACKAGES=\"$PACKAGES\""                       >> $CHROOT_VARIABLES
   [ -n "$PRE_SCRIPTS" ]         && echo "PRE_SCRIPTS=\"$PRE_SCRIPTS\""                 >> $CHROOT_VARIABLES
@@ -1247,8 +1249,12 @@ iface eth0 inet dhcp
 
   if [ -n "$NOINTERFACES" ] ; then
     einfo "Not installing /etc/network/interfaces as requested via --nointerfaces option" ; eend 0
+  elif [ -n "$DEFAULT_INTERFACES" ] ; then
+    einfo "Installing default /etc/network/interfaces as requested via --defaultinterfaces options."
+    echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
+    eend $?
   elif [ -n "$VIRTUAL" ] ; then
-    einfo "Installing into Virtual Machine, installing default /etc/network/interfaces"
+    einfo "Setting up Virtual Machine, installing default /etc/network/interfaces"
     echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
     eend $?
   elif [ -r /etc/network/interfaces ] ; then