X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=grml-live;h=29d19f973e3d637d32c621b407acae7c490b5423;hb=0a249151a07fb36736c71b53b029eb0342385679;hp=17222ba96f589947f10e444c2ca92739acf6e2b2;hpb=13709006bdcef20cdb32241a26e338759f78803f;p=grml-live.git diff --git a/grml-live b/grml-live index 17222ba..29d19f9 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)" @@ -230,11 +230,7 @@ while getopts "a:C:c:g:i:o:r:s:t:v:bBFuqVz" opt; do C) CONFIG="$OPTARG" ;; g) GRML_NAME="$OPTARG" ;; i) ISO_NAME="$OPTARG" ;; - o) OUTPUT="$OPTARG" - CHROOT_OUTPUT="$OUTPUT/grml_chroot" - BUILD_OUTPUT="$OUTPUT/grml_cd" - ISO_OUTPUT="$OUTPUT/grml_isos" - ;; + o) OUTPUT="$OPTARG" ;; q) SKIP_MKSQUASHFS=1 ;; r) RELEASENAME="$OPTARG" ;; s) SUITE="$OPTARG" ;; @@ -256,6 +252,11 @@ specify it on the command line using the -c option." [ -n "$OUTPUT" ] || bailout 1 "Error: \$OUTPUT unset, please set it in $LIVE_CONF or specify it on the command line using the -o option." +# set subdirectories according to $OUTPUT: +CHROOT_OUTPUT="$OUTPUT/grml_chroot" +BUILD_OUTPUT="$OUTPUT/grml_cd" +ISO_OUTPUT="$OUTPUT/grml_isos" + # trim characters that are known to cause problems inside $GRML_NAME; # for example isolinux does not like '-' inside the directory name [ -n "$GRML_NAME" ] && export SHORT_GRML_NAME="$(echo $GRML_NAME | tr -d ',./;\- ')" @@ -378,6 +379,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" @@ -755,6 +765,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 @@ -762,8 +784,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=$?