X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=grml-live;h=40598439ee8a1ba6b8baa0b5c5a99276f0287bb5;hb=62fb0801d7e9eebd972e7961ebde3067b324cfcd;hp=150615bd9d1c311489b981dc92da34da1256c7fb;hpb=0b3a678cb1bed476ece53502433fcc7b033eb62a;p=grml-live-grml.git diff --git a/grml-live b/grml-live index 150615b..4059843 100755 --- a/grml-live +++ b/grml-live @@ -23,7 +23,7 @@ fi # exit on any error: set -e -GRML_LIVE_VERSION='0.9.18' +GRML_LIVE_VERSION='0.9.20' PN="$(basename $0)" CMDLINE="$0 $@" ISO_DATE="$(date +%Y-%m-%d)" @@ -378,6 +378,15 @@ if [ -n "$SUITE" ] ; then # /usr/share/debootstrap/scripts/unstable does not exist, instead use 'sid': case $SUITE in unstable) SUITE='sid' ;; + # make sure that we *NEVER* write any broken suite name to sources.list, + # otherwise we won't be able to adjust it one next (correct) execution + stable) ;; + testing) ;; + etch) ;; + lenny) ;; + squeeze) ;; + sid) ;; + *) echo "Sorry, $SUITE is not a valid Debian suite, exiting.">&2; bailout 1 ;; esac DIST=" etch\| stable\| lenny\| squeeze\| testing\| sid\| unstable" @@ -625,6 +634,27 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f4 sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f5 + # jump back to grub from bsd4grml: + if [ -e "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 ]; then + if [ -e "$BUILD_OUTPUT"/boot/grub/core.img ]; then + GRUB_VERSION=2 + else + GRUB_VERSION=1 + fi + if [ -e "$BUILD_OUTPUT"/boot/grub/stage2 ]; then + GRUB_LEGACY=stage2 + else + GRUB_LEGACY=stage2_eltorito + fi + + # why not ed(1)? + for file in "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 \ + "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.cfg; do + sed -i -e "s!%GRUB_VERSION%!$GRUB_VERSION!g" \ + -e "s!%GRUB_LEGACY%!$GRUB_LEGACY!g" "$file" + done + fi + # autostart for Windows: if [ -d "${TEMPLATE_DIRECTORY}/windows/autostart/" ] ; then cp ${TEMPLATE_DIRECTORY}/windows/autostart/* "$BUILD_OUTPUT"/ @@ -734,6 +764,18 @@ elif [ "$BOOT_METHOD" = "grub" ] ; then fi if [ -f "${ISO_OUTPUT}/${ISO_NAME}" -a -z "$UPDATE" -a -z "$BUILD_ONLY" -a -z "$BUILD_DIRTY" ] ; then + + # support mkisofs as well as genisoimage + if which mkisofs >/dev/null 2>&1; then + MKISOFS=mkisofs + elif which genisoimage >/dev/null 2>&1; then + MKISOFS=genisoimage + else + log "Sorry, neither mkisofs nor genisoimage available - can not create ISO." + eerror "Sorry, neither mkisofs nor genisoimage available - can not create ISO." ; eend 1 + bailout + fi + log "$ISO_OUTPUT exists already, skipping stage 'iso build'" ewarn "$ISO_OUTPUT exists already, skipping stage 'iso build'" ; eend 0 else @@ -741,8 +783,8 @@ else CURRENT_DIR=$(pwd) if cd "$BUILD_OUTPUT" ; then - log "mkisofs -V '${GRML_NAME} ${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_NAME} ${VERSION}" -publisher 'grml-live | grml.org' \ + log "$MKISOFS -V '${GRML_NAME} ${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_NAME} ${VERSION}" -publisher 'grml-live | grml.org' \ -l -r -J -no-emul-boot -boot-load-size 4 -boot-info-table \ -b $BOOT_FILE -no-pad \ -o "${ISO_OUTPUT}/${ISO_NAME}" . ; RC=$?