New option -z to use ZLIB instead of LZMA compression
[grml-live.git] / grml-live
index 8b23f62..2d8781e 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 Nov 25 18:29:07 CET 2007 [mika]
+# Latest change: Mon Nov 26 15:13:41 CET 2007 [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.10'
+GRML_LIVE_VERSION='0.0.11'
 CMDLINE="$0 $@"
 ISO_DATE="$(date +%Y-%m-%d)"
 
@@ -68,6 +68,7 @@ bailout() {
   log "------------------------------------------------------------------------------"
   exit "$EXIT"
 }
+# trap bailout 1 2 3 6 9 14 15
 trap bailout 1 2 3 15
 # }}}
 
@@ -90,16 +91,15 @@ fi
 touch $LOGFILE
 chown root:adm $LOGFILE
 chmod 640 $LOGFILE
-# clean/zero logfile:
+# clean/zero grml-live logfile:
 if [ -n "$ZERO_LOGFILE" ] ; then
    echo -n > $LOGFILE
 fi
 
+# clean/zero/remove old FAI directory:
 if [ -n "$ZERO_FAI_LOGFILE" ] ; then
    if [ -d /var/log/fai/"$HOSTNAME" ] ; then
-      rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink last)"
-#      rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink last-softupdate)"
-#      rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink last-dirinstall)"
+      rm -rf /var/log/fai/"$HOSTNAME"/"$(readlink /var/log/fai/"$HOSTNAME"/last)"
    fi
 fi
 
@@ -187,7 +187,7 @@ http://grml.org/bugs/
 
 # command line parsing {{{
 
-while getopts "a:C:c:g:i:o:r:s:t:v:FhuV" opt; do
+while getopts "a:C:c:g:i:o:r:s:t:v:FhuVz" opt; do
   case "$opt" in
     a) ARCH="$OPTARG" ;;
     c) CLASSES="$OPTARG" ;;
@@ -207,6 +207,7 @@ while getopts "a:C:c:g:i:o:r:s:t:v:FhuV" opt; do
     h) usage ; bailout 0 ;;
     u) UPDATE=1 ;;
     V) VERBOSE="-v" ;;
+    z) SQUASHFS_COMPRESSION="-nolzma" ;;
     ?) echo "invalid option -$OPTARG" >&2; bailout 1 ;;
   esac
 done
@@ -531,7 +532,12 @@ if [ -f "$BUILD_OUTPUT"/live/grml.squashfs -a -z "$UPDATE" ] ; then
    ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ; eend 0
 else
    [ -d "$BUILD_OUTPUT"/live ] || mkdir "$BUILD_OUTPUT"/live
-   mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend
+   # make sure we don't leave (even an empty) base.tgz:
+   [ -f "$CHROOT_OUTPUT/base.tgz" ] && rm -f "$CHROOT_OUTPUT/base.tgz"
+
+   # execute squashfs:
+   log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend"
+   mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend $SQUASHFS_OPTIONS $SQUASHFS_COMPRESSION
    log "Finished execution of stage 'squashfs' [$(date)]"
    einfo "Finished execution of stage 'squashfs'" ; eend 0
 fi
@@ -558,6 +564,7 @@ else
    mkdir -p "$ISO_OUTPUT" || bailout 6 "Problem with creating $ISO_OUTPUT for stage 'iso build'"
    CURRENT_DIR=$(pwd)
    cd "$BUILD_OUTPUT" &&
+   log "mkisofs -V grml $VERSION -publisher 'grml-live | grml.org' -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table -b $BOOT_FILE -o ${ISO_OUTPUT}/${ISO_NAME} ."
    mkisofs -V "grml $VERSION" -publisher 'grml-live | grml.org' \
            -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table    \
            -b $BOOT_FILE \