Merge branch 'upstream'
[automated-distro-installer] / fai / config / scripts / DEBIAN / 40-misc
index 8d4e85d7f6f5f3456d53e43396ee49cc6f33927c..052bfc6a3b076460736367f6ccf12b8261c1604c 100755 (executable)
@@ -44,7 +44,12 @@ elif [ -f $target/lib/systemd/system/getty@.service ]; then
     sed -i -e 's#sbin/agetty --noclear#sbin/agetty -f /etc/issue.linuxlogo --noclear#' $target/lib/systemd/system/getty@.service
 fi
 
-if [ ! -f $target/etc/machine-id -a -f $target/bin/systemd-machine-id-setup ]; then
+# make sure a machine-id exists
+if [ ! -f $target/etc/machine-id ]; then
+    > $target/etc/machine-id
+fi
+# recreate machine-id if the file is empty
+if [ X"$(stat -c '%s' $target/etc/machine-id 2>/dev/null)"  = X0 -a -f /bin/systemd-machine-id-setup ]; then
     $ROOTCMD systemd-machine-id-setup
 fi
 
@@ -52,13 +57,11 @@ ln -fs /proc/mounts $target/etc/mtab
 
 rm -f $target/etc/dpkg/dpkg.cfg.d/fai $target/etc/dpkg/dpkg.cfg.d/unsafe-io
 
-if [ $FAI_ACTION = "install" -o $FAI_ACTION = "dirinstall" ] ; then
-  [ -f /etc/fai/fai.conf ] && cp /etc/fai/fai.conf $target/etc/fai/fai.conf
+if [ -d /etc/fai ]; then
+    if ! fcopy -Mv /etc/fai/fai.conf; then
+       ainsl -a /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC"
+    fi
 fi
-
-ainsl -a /etc/fai/fai.conf "FAI_CONFIG_SRC=$FAI_CONFIG_SRC"
-
-fcopy -Miv /etc/fai/fai.conf
 fcopy -iv /etc/rc.local
 
 exit $error