Make username replacement in inittab more robust
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 15-initsetup
index 381c988..d7ad56e 100755 (executable)
@@ -1,5 +1,5 @@
-#!/bin/sh
-# Filename:      /etc/grml/fai/config/scripts/GRMLBASE/15-initsetup
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/15-initsetup
 # Purpose:       configure init system for the live-system
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
@@ -9,7 +9,10 @@
 set -u
 set -e
 
-[ -z "$GRML_NAME" ] && GRML_NAME=grml
+USERNAME=''
+[ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
+[ -n "$GRML_LIVE_LOCAL_CONFIG" ] && . "$GRML_LIVE_LOCAL_CONFIG"
+[ -n "$USERNAME" ] || USERNAME=grml
 
 if ! [ -r $target/etc/runlevel.conf ] ; then
    echo 'Warning: /etc/runlevel.conf does not exist...'
@@ -18,30 +21,26 @@ if ! [ -r $target/etc/runlevel.conf ] ; then
 fi
 
 # keep a backup of the original runlevel.conf file for reference
-# but only save it as /etc/runlevel.conf.original if it's not the
-# according live system version, this should prevent from overriding
-# /etc/runlevel.conf.original if re-running grml-live with -b option.
-if ! cmp $target/etc/runlevel.conf $target/etc/runlevel.conf.livecd 1>/dev/null || \
-   ! cmp $target/etc/runlevel.conf $target/etc/runlevel.conf.livecd.small 1>/dev/null ; then
-
-   # make sure to store old backup files if they differ as well
-   if [ -r $target/etc/runlevel.conf.original ] ; then
-      if ! cmp $target/etc/runlevel.conf $target/etc/runlevel.conf.original 1>/dev/null ; then
-         cp $target/etc/runlevel.conf.original $target/etc/runlevel.conf.original."$(date +%Y%m%d_%k:%M:%S)"
-      fi
-   fi
-
-   cp $target/etc/runlevel.conf $target/etc/runlevel.conf.original
+if [ -r $target/etc/runlevel.conf.original ] ; then
+  # make sure to store old backup files if they differ as well
+  if ! cmp $target/etc/runlevel.conf $target/etc/runlevel.conf.original >/dev/null ; then
+    cp $target/etc/runlevel.conf.original $target/etc/runlevel.conf.original."$(date +%Y%m%d_%k:%M:%S)"
+  fi
 fi
 
-# if we have a small ISO let's adjust runlevel.conf:
-if [ -n "$GRML_NAME" ] ; then
-   if echo "$GRML_NAME" | grep -q small ; then
-      cp $target/etc/runlevel.conf.livecd.small $target/etc/runlevel.conf
-   else
-      cp $target/etc/runlevel.conf.livecd $target/etc/runlevel.conf
-   fi
-fi
+cp $target/etc/runlevel.conf $target/etc/runlevel.conf.original
+
+# provide Grml's default file-rc configuration
+fcopy -v /etc/runlevel.conf
+
+# provide Grml's inittab configuration
+fcopy -v /etc/inittab
+sed -i "s/\$USERNAME\$/${USERNAME}/" $target/etc/inittab
+
+# provide Grml's bootlocal init scripts
+fcopy -v /etc/init.d/bootlocal.first
+fcopy -v /etc/init.d/bootlocal.middle
+fcopy -v /etc/init.d/bootlocal.last
 
 ## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=3
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2