}
# }}}
-# read local (non-packaged) configuration {{{
-LOCAL_CONFIG=/etc/grml/grml-live.local
-if [ -r "$LOCAL_CONFIG" ] ; then
- . $LOCAL_CONFIG
-else
- LOCAL_CONFIG=''
-fi
-
-if [ -n "${GRML_LIVE_SOURCES:-}" ] ; then
- eerror "Config variable \$GRML_LIVE_SOURCES is set. This variable has been deprecated."
- ewarn "Please set up ${GRML_FAI_CONFIG}/config/files/etc/apt/sources.list.d/* instead."
- bailout 1
-fi
-# }}}
-
# command line parsing {{{
while getopts "a:C:c:d:D:g:i:I:o:r:s:t:T:U:v:AbBFnNquVz" opt; do
case "$opt" in
b) BUILD_ONLY=1 ;;
B) BUILD_DIRTY=1 ;;
c) CLASSES="$OPTARG" ;;
- C) CONFIG="$OPTARG" ;;
+ C) GRML_LIVE_LOCAL_CONFIG="$OPTARG" ;;
d) DATE="$OPTARG" ;;
D) GRML_FAI_CONFIG="$OPTARG" ;;
g) GRML_NAME="$OPTARG" ;;
shift $(($OPTIND - 1)) # set ARGV to the first not parsed commandline parameter
# }}}
+# read local (non-packaged) configuration {{{
+if [ -z "$GRML_LIVE_LOCAL_CONFIG" ]; then
+ if [ -r "/etc/grml/grml-live.local" ]; then
+ GRML_LIVE_LOCAL_CONFIG="/etc/grml/grml-live.local"
+ fi
+fi
+if [ -n "$GRML_LIVE_LOCAL_CONFIG" ]; then
+ if [ -r "$GRML_LIVE_LOCAL_CONFIG" ]; then
+ . $GRML_LIVE_LOCAL_CONFIG
+ else
+ eerror "Could not read specified local configuration file \"$GRML_LIVE_LOCAL_CONFIG\"."
+ bailout 1
+ fi
+ GRML_LIVE_LOCAL_CONFIG=$(readlink -f "$GRML_LIVE_LOCAL_CONFIG")
+else
+ GRML_LIVE_LOCAL_CONFIG=''
+fi
+
+if [ -n "${GRML_LIVE_SOURCES:-}" ] ; then
+ eerror "Config variable \$GRML_LIVE_SOURCES is set. This variable has been deprecated."
+ ewarn "Please set up \${GRML_FAI_CONFIG}/config/files/etc/apt/sources.list.d/* instead."
+ bailout 1
+fi
+# }}}
+
# assume sane defaults (if not set already) {{{
[ -n "$ARCH" ] || ARCH="$(dpkg --print-architecture)"
[ -n "$BOOT_METHOD" ] || BOOT_METHOD='isolinux'
echo "${PN} [${GRML_LIVE_VERSION}]: check your configuration (or use -F to force execution):"
echo
echo " FAI classes: $CLASSES"
- [ -r "$LOCAL_CONFIG" ] && echo " Local config: /etc/grml/grml-live.local"
- [ -n "$CONFIG" ] && echo " Configuration: $CONFIG"
+ [ -n "$GRML_LIVE_LOCAL_CONFIG" ] && echo " Configuration: $GRML_LIVE_LOCAL_CONFIG"
[ -n "$GRML_FAI_CONFIG" ] && echo " Config directory: $GRML_FAI_CONFIG"
echo " main directory: $OUTPUT"
[ -n "$UNPACK_CHROOT" ] && echo " Chroot from: $UNPACK_CHROOT"
start_seconds=$(cut -d . -f 1 /proc/uptime)
log "------------------------------------------------------------------------------"
log "Starting grml-live [${GRML_LIVE_VERSION}] run on $(date)"
-if [ -n "$LOCAL_CONFIG" ]; then
- log "Using local config file: $LOCAL_CONFIG"
-fi
+log "Using local config file: $GRML_LIVE_LOCAL_CONFIG"
log "Executed grml-live command line:"
log "$CMDLINE"
log "Unpacking chroot from ${UNPACK_CHROOT}"
einfo "Unpacking chroot from ${UNPACK_CHROOT}"
[ -d "$CHROOT_OUTPUT" ] || mkdir -p "${CHROOT_OUTPUT}"
- tar -xf "${UNPACK_CHROOT}" -C "${CHROOT_OUTPUT}/" --strip-components 1 | RC=$?
- echo $RC
+ tar -xf "${UNPACK_CHROOT}" -C "${CHROOT_OUTPUT}/" --strip-components 1 ; RC=$?
if [ "$RC" != 0 ] ; then
eend 1
bailout 1
esac
export SUITE # make sure it's available in FAI scripts
-for file in "$LIVE_CONF" "$CONFIG" "$LOCAL_CONFIG" "$NFSROOT_CONF" ; do
+for file in "$LIVE_CONF" "$GRML_LIVE_LOCAL_CONFIG" "$NFSROOT_CONF" ; do
if [ -n "$file" ] ; then
sed "s|^FAI_DEBOOTSTRAP=\"[a-z]* |FAI_DEBOOTSTRAP=\"$SUITE |" "$file" | sponge "$file"
fi
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 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" fai $VERBOSE \
+ log "BUILD_ONLY=$BUILD_ONLY BOOTSTRAP_ONLY=$BOOTSTRAP_ONLY GRML_LIVE_LOCAL_CONFIG=$GRML_LIVE_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="$GRML_LIVE_LOCAL_CONFIG" 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