X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=640c760bca82dc732c6609bc788d67323c93758e;hp=dff9efdb1b02b5c98c71298bd4d6927a2de9e559;hb=da17773665b471bfee8358395433d58e49568786;hpb=c6f2a325e4cd41d6b21f6b7b0f60e34b9bbab82d diff --git a/grml-live b/grml-live index dff9efd..640c760 100755 --- a/grml-live +++ b/grml-live @@ -4,7 +4,7 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # 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