}
# }}}
+# store logfiles {{{
+store_logfiles() {
+ # move fai logs into grml_logs directory
+ mkdir -p "$LOG_OUTPUT"/fai/
+ cp -r "$CHROOT_OUTPUT"/var/log/fai/"$HOSTNAME"/last/* "$LOG_OUTPUT"/fai/
+ rm -rf "$CHROOT_OUTPUT"/var/log/fai
+
+ # store copy of autogenerated configuration file
+ cp ${GRML_FAI_CONFIG}/nfsroot.conf "$LOG_OUTPUT"/fai/
+
+ # copy fai package list
+ cp "$CHROOT_OUTPUT"/var/log/install_packages.list "$LOG_OUTPUT"/fai/
+ # fixup owners
+ chown root:adm "$LOG_OUTPUT"/fai/*
+ chmod 664 "$LOG_OUTPUT"/fai/*
+}
+# }}}
+
# clean exit {{{
bailout() {
rm -f /var/run/fai/fai_softupdate_is_running \
RC="$PIPESTATUS" # notice: bash-only
if [ "$RC" != 0 ] ; then
- log "Error: critical error while executing fai [exit code ${RC}]. Exiting."
- eerror "Error: critical error while executing fai [exit code ${RC}]. Exiting." ; eend 1
- bailout 1
+ store_logfiles # ensure to have logfiles available even if building failed
+ log "Error: critical error while executing fai [exit code ${RC}]. Exiting."
+ eerror "Error: critical error while executing fai [exit code ${RC}]. Exiting." ; eend 1
+ bailout 1
fi
# provide inform fai about the ISO we build, needs to be provided
FORCE_ISO_REBUILD=true
- # move fai logs into grml_logs directory
- mkdir -p "$LOG_OUTPUT"/fai/
- cp -r "$CHROOT_OUTPUT"/var/log/fai/"$HOSTNAME"/last/* "$LOG_OUTPUT"/fai/
- rm -rf "$CHROOT_OUTPUT"/var/log/fai
-
- # store copy of autogenerated configuration file
- cp ${GRML_FAI_CONFIG}/nfsroot.conf "$LOG_OUTPUT"/fai/
-
- # copy fai package list
- cp "$CHROOT_OUTPUT"/var/log/install_packages.list "$LOG_OUTPUT"/fai/
- # fixup owners
- chown root:adm "$LOG_OUTPUT"/fai/*
- chmod 664 "$LOG_OUTPUT"/fai/*
+ store_logfiles
umount_all