Adjust version string in grml-live script itself
[grml-live.git] / grml-live
index dff9efd..640c760 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -4,7 +4,7 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2 or any later version.
-# Latest change: Sun Dec 16 12:39:04 CET 2007 [mika]
+# Latest change: Sun Jan 20 22:30:49 CET 2008 [mika]
 ################################################################################
 
 # read configuration files, set some misc variables {{{
@@ -15,7 +15,7 @@ export LC_ALL=C
 # exit on any error:
 set -e
 
-GRML_LIVE_VERSION='0.0.13'
+GRML_LIVE_VERSION='0.2'
 CMDLINE="$0 $@"
 ISO_DATE="$(date +%Y-%m-%d)"
 
@@ -38,17 +38,12 @@ if [ -r /var/run/fai/fai_softupdate_is_running ] ; then
    exit 1
 fi
 
-if [ -r /var/run/fai/fai_chrootupdate_is_running ] ; then
-   echo "/usr/sbin/fai chrootupdate already running or was aborted before.">&2
-   echo "You may remove /var/run/fai/fai_chrootupdate_is_running and try again.">&2
-   exit 1
-fi
-
 # make sure they are not set by default
 VERBOSE=''
 FORCE=''
 UPDATE=''
 BUILD_ONLY=''
+HOSTNAME=''
 
 if [ -r /etc/grml/lsb-functions ] ; then
    . /etc/grml/lsb-functions
@@ -70,7 +65,6 @@ PN=$(basename $0)
 bailout() {
   [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}"
   rm -f /var/run/fai/fai_softupdate_is_running \
-        /var/run/fai/fai_chrootupdate_is_running \
         /var/run/fai/FAI_INSTALLATION_IN_PROGRESS
   [ -n "$1" ] && EXIT="$1" || EXIT="1"
   [ -n "$2" ] && eerror "$2">&2
@@ -99,7 +93,7 @@ if [ -z "$LOGFILE" ] ; then
 fi
 touch $LOGFILE
 chown root:adm $LOGFILE
-chmod 640 $LOGFILE
+chmod 664 $LOGFILE
 
 NFSROOT_CONF=/etc/grml/fai/make-fai-nfsroot.conf
 
@@ -241,10 +235,8 @@ if [ -n "$ZERO_FAI_LOGFILE" ] ; then
       rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink /var/log/fai/"$HOSTNAME"/last)"
       rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink /var/log/fai/"$HOSTNAME"/last-dirinstall)"
       rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink /var/log/fai/"$HOSTNAME"/last-softupdate)"
-      rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink /var/log/fai/"$HOSTNAME"/last-chrootupdate)"
       rm -f /var/log/fai/"$HOSTNAME"/last \
             /var/log/fai/"$HOSTNAME"/last-dirinstall \
-            /var/log/fai/"$HOSTNAME"/last-chrootupdate \
             /var/log/fai/"$HOSTNAME"/last-softupdate
    fi
 fi
@@ -273,7 +265,7 @@ if [ -z "$FORCE" ] ; then
    [ -n "$FAI_ARGS" ]      && echo "  additional arguments for FAI: $FAI_ARGS"
    [ -n "$LOGFILE" ]       && echo "  Logging to file:   $LOGFILE"
    [ -n "$VERBOSE" ]       && echo "  Using VERBOSE mode."
-   [ -n "$SQUASHFS_ZLIB" ] && echo "  Using ZLIB (instead od LZMA) compression."
+   [ -n "$SQUASHFS_ZLIB" ] && echo "  Using ZLIB (instead of LZMA) compression."
    [ -n "$UPDATE" ]        && echo "  Executing UPDATE instead of fresh installation."
    [ -n "$BUILD_ONLY" ]    && echo "  Executing BUILD_ONLY instead of fresh installation or UPDATE."
    echo
@@ -366,10 +358,8 @@ fi
 # CHROOT_OUTPUT - execute FAI {{{
 [ -n "$CHROOT_OUTPUT" ] || CHROOT_OUTPUT="$OUTPUT/grml_chroot"
 
-if [ -n "$UPDATE" ] ; then
+if [ -n "$UPDATE" -o -n "$BUILD_ONLY" ] ; then
    FAI_ACTION=softupdate
-elif [ -n "$BUILD_ONLY" ] ; then
-   FAI_ACTION=chrootupdate
 else
    FAI_ACTION=dirinstall
 fi
@@ -395,16 +385,16 @@ else
    fi
 
    log "Executed FAI command line:"
-   log "fai $VERBOSE -C $GRML_FAI_CONFIG -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
-   fai $VERBOSE -C "$GRML_FAI_CONFIG" -c"$CLASSES" -u "$HOSTNAME" $FAI_ACTION "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
+   log "BUILD_ONLY=$BUILD_ONLY fai $VERBOSE -C $GRML_FAI_CONFIG -c$CLASSES -u $HOSTNAME $FAI_ACTION $CHROOT_OUTPUT $FAI_ARGS"
+   BUILD_ONLY="$BUILD_ONLY" fai $VERBOSE -C "$GRML_FAI_CONFIG" -c"$CLASSES" -u "$HOSTNAME" $FAI_ACTION "$CHROOT_OUTPUT" $FAI_ARGS | tee -a $LOGFILE
 
    log "Setting /etc/grml_version to $GRML_NAME $VERSION Release Codename $RELEASENAME [$ISO_DATE]"
    echo "$GRML_NAME $VERSION Release Codename $RELEASENAME [$ISO_DATE]" > $CHROOT_OUTPUT/etc/grml_version
    chmod 644 $CHROOT_OUTPUT/etc/grml_version
 
    # Remove all FAI logs from chroot if class RELEASE is used:
-   if [ -f $CHROOT_OUTPUT/etc/grml_fai_release ] ; then
-      rm -rf $CHROOT_OUTPUT/var/log/fai/*
+   if [ -f "$CHROOT_OUTPUT"/etc/grml_fai_release ] ; then
+      rm -rf "$CHROOT_OUTPUT"/var/log/fai/*
    fi
 
    umount $CHROOT_OUTPUT/proc 2>/dev/null || /bin/true
@@ -557,8 +547,13 @@ else
    [ -f "$CHROOT_OUTPUT/base.tgz" ] && rm -f "$CHROOT_OUTPUT/base.tgz"
 
    # execute squashfs:
-   log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend -no-progress"
-   mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend -no-progress $SQUASHFS_OPTIONS $SQUASHFS_ZLIB
+   if mksquashfs --help 2>&1 | grep -- -no-progress ; then
+      log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend -no-progress"
+      mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend -no-progress $SQUASHFS_OPTIONS $SQUASHFS_ZLIB
+   else
+      log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend"
+      mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB
+   fi
    log "Finished execution of stage 'squashfs' [$(date)]"
    einfo "Finished execution of stage 'squashfs'" ; eend 0
 fi