Silence LOGFILE errors when using log too early
[grml-live.git] / grml-live
index 8ec8348..73ee61b 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -151,7 +151,7 @@ umount_all() {
 
    # certain FAI versions sadly leave a ramdisk behind, so better safe than sorry
    if [ -x /usr/lib/fai/mkramdisk ] ; then
-     /usr/lib/fai/mkramdisk -u "$(realpath ${CHROOT_OUTPUT}/var/lib/dpkg)" >/dev/null 2>&1 || /bin/true
+     /usr/lib/fai/mkramdisk -u "$(readlink -f ${CHROOT_OUTPUT}/var/lib/dpkg)" >/dev/null 2>&1 || /bin/true
    fi
 
    umount "${CHROOT_OUTPUT}/grml-live/sources/" 2>/dev/null || /bin/true
@@ -196,7 +196,7 @@ trap umount_all EXIT
 
 # log output:
 # usage: log "string to log"
-log() { echo "$*" >> $LOGFILE ; }
+log() { [ -n "$LOGFILE" ] && echo "$*" >> $LOGFILE ; }
 
 # cut string at character number int = $1
 # usage: cut_string 5 "1234567890" will output "12345"
@@ -333,7 +333,7 @@ shift $(($OPTIND - 1))  # set ARGV to the first not parsed commandline parameter
 # assume sane defaults (if not set already) {{{
 [ -n "$ARCH" ]                    || ARCH="$(dpkg --print-architecture)"
 [ -n "$BOOT_METHOD" ]             || BOOT_METHOD='isolinux'
-[ -n "$CLASSES" ]                 || CLASSES="GRMLBASE,GRML_MEDIUM,$(echo ${ARCH} | tr 'a-z' 'A-Z')"
+[ -n "$CLASSES" ]                 || CLASSES="GRMLBASE,GRML_FULL,$(echo ${ARCH} | tr 'a-z' 'A-Z')"
 [ -n "$DATE" ]                    || DATE="$(date +%Y-%m-%d)"
 [ -n "$DISTRI_INFO" ]             || DISTRI_INFO='Grml - Live Linux for system administrators   '
 [ -n "$DISTRI_NAME" ]             || DISTRI_NAME="grml"
@@ -631,18 +631,18 @@ else
       # 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
+      # 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/*
-      rm -rf "$CHROOT_OUTPUT"/var/log/fai
-
-      # Remove all FAI logs from chroot if class RELEASE is used:
-      rm -f "$CHROOT_OUTPUT"/var/log/install_packages.list
 
       umount_all
 
       # notice: 'fai dirinstall' does not seem to exit appropriate, so:
       ERROR=''
-      CHECKLOG=/var/log/fai/$HOSTNAME/last
+      CHECKLOG="$LOG_OUTPUT"/fai/
       if [ -r "$CHECKLOG/software.log" ] ; then
          # 1 errors during executing of commands
          grep 'dpkg: error processing' $CHECKLOG/software.log >> $LOGFILE && ERROR=1
@@ -666,10 +666,6 @@ else
          log "Finished execution of stage 'fai dirinstall' [$(date)]"
          einfo "Finished execution of stage 'fai dirinstall'"
       fi
-
-      einfo "Find FAI build logs at $(readlink -f /var/log/fai/$HOSTNAME/last)"
-      log   "Find FAI build logs at $(readlink -f /var/log/fai/$HOSTNAME/last)"
-      eend 0
    fi
 fi # BUILD_DIRTY?
 # }}}