Ensure /etc/network exists before setting up /etc/network/interfaces mika/buster
authorMichael Prokop <mika@grml.org>
Thu, 13 Jun 2019 09:27:45 +0000 (11:27 +0200)
committerMichael Prokop <mika@grml.org>
Thu, 13 Jun 2019 12:36:25 +0000 (14:36 +0200)
When grml-debootstrap is invoked with `--debopt --variant=minbase`, our
handling of /etc/network/interfaces fails, as the directory
/etc/network/ doesn't necessarily exist yet in the essential/minbase
variants (unless you explicitly install ifupdown/netbase).

Closes: #930468

grml-debootstrap

index 7953e0f..1dd6550 100755 (executable)
@@ -1758,25 +1758,30 @@ iface ${interface} inet dhcp
     einfo "Not installing /etc/network/interfaces as requested via --nointerfaces option" ; eend 0
   elif [ -n "$USE_DEFAULT_INTERFACES" ] ; then
     einfo "Installing default /etc/network/interfaces as requested via --defaultinterfaces options."
+    mkdir -p "${MNTPOINT}/etc/network"
     echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
     eend $?
   elif [ -n "$VIRTUAL" ] ; then
     einfo "Setting up Virtual Machine, installing default /etc/network/interfaces"
+    mkdir -p "${MNTPOINT}/etc/network"
     echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
     eend $?
   elif [ -r /etc/network/interfaces ] ; then
     einfo "Copying /etc/network/interfaces from host to target system"
+    mkdir -p "${MNTPOINT}/etc/network"
     cp $VERBOSE /etc/network/interfaces "${MNTPOINT}/etc/network/interfaces"
     eend $?
   else
     ewarn "Couldn't read /etc/network/interfaces, installing default /etc/network/interfaces"
+    mkdir -p "${MNTPOINT}/etc/network"
     echo "$DEFAULT_INTERFACES" > "${MNTPOINT}/etc/network/interfaces"
     eend $?
   fi
 
   # install config file providing some example entries
   if [ -r /etc/network/interfaces.examples ] && [ ! -r "$MNTPOINT/etc/network/interfaces.examples" ] ; then
-     cp /etc/network/interfaces.examples "$MNTPOINT/etc/network/interfaces.examples"
+    mkdir -p "${MNTPOINT}/etc/network"
+    cp /etc/network/interfaces.examples "$MNTPOINT/etc/network/interfaces.examples"
   fi
 
   if [ -n "${SSHCOPYID}" ] ; then