Expose (selected) config vars to fai scripts
authorChristian Hofstaedtler <ch@grml.org>
Sun, 11 Dec 2011 18:18:55 +0000 (19:18 +0100)
committerChristian Hofstaedtler <ch@grml.org>
Sun, 11 Dec 2011 18:18:55 +0000 (19:18 +0100)
etc/grml/fai/config/hooks/updatebase.GRMLBASE
etc/grml/fai/config/scripts/GRMLBASE/05-hostname
etc/grml/fai/config/scripts/GRMLBASE/15-initsetup
etc/grml/fai/config/scripts/GRMLBASE/20-sudo
etc/grml/fai/config/scripts/GRMLBASE/21-usersetup
etc/grml/fai/config/scripts/GRMLBASE/30-fstab
etc/grml/fai/config/scripts/GRMLBASE/34-hosts
grml-live

index 7a79cbe..9e0913a 100755 (executable)
@@ -8,14 +8,11 @@
 
 set -u
 set -e
+. "$GRML_LIVE_CONFIG"
 
 # visualize chroot inside zsh:
 echo grml_chroot > $target/etc/debian_chroot
 
-HOSTNAME=''
-[ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
-[ -n "$GRML_LIVE_LOCAL_CONFIG" ] && . "$GRML_LIVE_LOCAL_CONFIG"
-[ -n "$HOSTNAME" ] || HOSTNAME=grml
 echo "$HOSTNAME" > $target/etc/hostname
 
 if [ -n "${APT_PROXY:-}" ] ; then
index ce91001..0d52914 100755 (executable)
@@ -9,10 +9,7 @@
 set -u
 set -e
 
-HOSTNAME=''
-[ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
-[ -n "$GRML_LIVE_LOCAL_CONFIG" ] && . "$GRML_LIVE_LOCAL_CONFIG"
-[ -n "$HOSTNAME" ] || HOSTNAME=grml
+. "$GRML_LIVE_CONFIG"
 
 # the hostname of the chroot usually isn't the same as the one for the live-system
 BUILD_HOSTNAME="$($ROOTCMD hostname)"
index d7ad56e..277dcb0 100755 (executable)
@@ -8,11 +8,7 @@
 
 set -u
 set -e
-
-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
+. "$GRML_LIVE_CONFIG"
 
 if ! [ -r $target/etc/runlevel.conf ] ; then
    echo 'Warning: /etc/runlevel.conf does not exist...'
index be6d242..49fccff 100755 (executable)
@@ -8,11 +8,7 @@
 
 set -u
 set -e
-
-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
+. "$GRML_LIVE_CONFIG"
 
 fcopy -v /etc/sudoers
 sed -i "s/\$USERNAME/$USERNAME/" $target/etc/sudoers
index 29cf07e..ac63a8d 100755 (executable)
@@ -8,11 +8,7 @@
 
 set -u
 set -e
-
-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
+. "$GRML_LIVE_CONFIG"
 
 if grep -q "$USERNAME:x:1000" $target/etc/group ; then
    echo "group $USERNAME exists already, skipping"
index fd52cf7..c316ec6 100755 (executable)
@@ -8,11 +8,7 @@
 
 set -u
 set -e
-
-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
+. "$GRML_LIVE_CONFIG"
 
 fcopy -v /etc/fstab
 sed -i "s/uid=USERNAME,gid=USERNAME/uid=$USERNAME,gid=$USERNAME/" $target/etc/fstab
index 0b02c35..a08c3b9 100755 (executable)
@@ -8,11 +8,7 @@
 
 set -u
 set -e
-
-HOSTNAME=''
-[ -r /etc/grml/grml-live.conf ]  && . /etc/grml/grml-live.conf
-[ -n "$GRML_LIVE_LOCAL_CONFIG" ] && . "$GRML_LIVE_LOCAL_CONFIG"
-[ -n "$HOSTNAME" ] || HOSTNAME=grml
+. "$GRML_LIVE_CONFIG"
 
 fcopy -v /etc/hosts
 
index 27e8e6a..d4e27c7 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -120,6 +120,7 @@ BUILD_ONLY=''
 BUILD_DIRTY=''
 BOOTSTRAP_ONLY=''
 HOSTNAME=''
+CONFIGDUMP=''
 
 # don't use colors/escape sequences
 if [ -r /lib/lsb/init-functions ] ; then
@@ -165,6 +166,7 @@ umount_all() {
 bailout() {
   rm -f /var/run/fai/fai_softupdate_is_running \
         /var/run/fai/FAI_INSTALLATION_IN_PROGRESS
+  [ -n "$CONFIGDUMP"      ]  && rm -f  "$CONFIGDUMP"
   [ -n "$SQUASHFS_STDERR" ]  && rm -rf "$SQUASHFS_STDERR"
   umount_all
   [ -n "$1" ] && EXIT="$1" || EXIT="1"
@@ -517,6 +519,13 @@ log "$CMDLINE"
 einfo "Logging actions to logfile $LOGFILE"
 # }}}
 
+# dump config variables into file, for script access {{{
+CONFIGDUMP=$(mktemp)
+set | egrep \
+  '^(GRML_NAME|RELEASENAME|DATE|VERSION|SUITE|ARCH|DISTRI_NAME|USERNAME|HOSTNAME|APT_PROXY)=' \
+  > ${CONFIGDUMP}
+# }}}
+
 # unpack chroot {{{
 if [ -n "${UNPACK_CHROOT}" ]; then
   log "Unpacking chroot from ${UNPACK_CHROOT}"
@@ -631,8 +640,8 @@ else
       echo force-unsafe-io > "$CHROOT_OUTPUT/etc/dpkg/dpkg.cfg.d/unsafe-io"
 
       log "Executed FAI command line:"
-      log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY GRML_LIVE_LOCAL_CONFIG=$LOCAL_CONFIG fai $VERBOSE -C $GRML_FAI_CONFIG -s file:///$GRML_FAI_CONFIG/config -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
-      BUILD_ONLY="$BUILD_ONLY" BOOTSTRAP_ONLY="$BOOTSTRAP_ONLY" GRML_LIVE_LOCAL_CONFIG="$LOCAL_CONFIG" fai $VERBOSE \
+      log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY GRML_LIVE_CONFIG=$CONFIGDUMP fai $VERBOSE -C $GRML_FAI_CONFIG -s file:///$GRML_FAI_CONFIG/config -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
+      BUILD_ONLY="$BUILD_ONLY" BOOTSTRAP_ONLY="$BOOTSTRAP_ONLY" GRML_LIVE_CONFIG="$CONFIGDUMP" fai $VERBOSE \
                   -C "$GRML_FAI_CONFIG" -s "file:///$GRML_FAI_CONFIG/config" -c"$CLASSES" \
                   -u "$HOSTNAME" "$FAI_ACTION" "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
       RC="$PIPESTATUS" # notice: bash-only