X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=ab6b3c81ca0c2f97c235a0a892372c9dfe528cad;hp=00e4a7ec9fe507559504eaa057a66f82f88b8994;hb=0c469a66c1d77ef2aff158145bb3ccec02dc361a;hpb=1be31a7dd61ad5d081540a4b1c489ae2586ef69c diff --git a/grml-live b/grml-live index 00e4a7e..ab6b3c8 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: Die Okt 30 00:09:42 CET 2007 [mika] +# Latest change: Mon Nov 05 09:24:45 CET 2007 [mika] ################################################################################ # read configuration files, set some misc variables {{{ @@ -61,6 +61,7 @@ PN=$(basename $0) # clean exit {{{ bailout() { [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" + rm -f /var/run/fai/fai_softupdate_is_running /var/run/fai/FAI_INSTALLATION_IN_PROGRESS [ -n "$1" ] && EXIT="$1" || EXIT="1" [ -n "$2" ] && eerror "$2">&2 log "------------------------------------------------------------------------------" @@ -305,6 +306,15 @@ else FAI_ACTION=dirinstall fi +if [ -n "$UPDATE" ] ; then + if ! [ -r "$CHROOT_OUTPUT/etc/grml_version" ] ; then + log "Error: It does not look like you have a working chroot system. Updating not possible." + eerror "Error: It does not look like you have a working chroot system. Updating not possible." + eend 1 + bailout 20 + fi +fi + if [ -d "$CHROOT_OUTPUT/bin" -a -z "$UPDATE" ] ; then log "$CHROOT_OUTPUT exists already, skipping stage 'fai dirinstall'" ewarn "$CHROOT_OUTPUT exists already, skipping stage 'fai dirinstall'" ; eend 0 @@ -315,9 +325,16 @@ else mount --bind "${MIRROR_DIRECTORY}" "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" fi 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/* + fi + umount $CHROOT_OUTPUT/proc 2>/dev/null || /bin/true umount $CHROOT_OUTPUT/sys 2>/dev/null || /bin/true [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" @@ -374,7 +391,8 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then bailout 10 fi - cp "$CHROOT_OUTPUT"/boot/vmlinuz* "$BUILD_OUTPUT"/boot/isolinux/linux26 + KERNEL_IMAGE="$(ls $CHROOT_OUTPUT/boot/vmlinuz* | sort -r | head -1)" + cp "$KERNEL_IMAGE" "$BUILD_OUTPUT"/boot/isolinux/linux26 cp /usr/lib/syslinux/chain.c32 "$BUILD_OUTPUT"/boot/isolinux/ cp /usr/lib/syslinux/isolinux.bin "$BUILD_OUTPUT"/boot/isolinux/ cp /usr/lib/syslinux/memdisk "$BUILD_OUTPUT"/boot/isolinux/ @@ -387,10 +405,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then bailout 8 fi - cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ - cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ - if ! [ -d "${TEMPLATE_DIRECTORY}/boot/grub" ] ; then - cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/ + cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ + cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ + + if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then + cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/ fi if ! [ -d "${TEMPLATE_DIRECTORY}"/GRML ] ; then @@ -435,6 +454,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then ( cd "$BUILD_OUTPUT"/windows for file in pageant plink pscp psftp putty puttygen ; do wget -O ${file}.exe ${WINDOWS_BINARIES}/${file}.exe + md5sum ${WINDOWS_BINARIES}/${file}.exe > ${WINDOWS_BINARIES}/${file}.exe.md5 done ) fi fi @@ -455,7 +475,7 @@ if [ -f "$BUILD_OUTPUT"/live/grml.squashfs -a -z "$UPDATE" ] ; then log "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ; eend 0 else - mkdir "$BUILD_OUTPUT"/live + [ -d "$BUILD_OUTPUT"/live ] || mkdir "$BUILD_OUTPUT"/live mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend log "Finished execution of stage 'squashfs' [$(date)]" einfo "Finished execution of stage 'squashfs'" ; eend 0