From: Michael Prokop Date: Wed, 19 Nov 2008 10:13:39 +0000 (+0100) Subject: Support -q option to build the ISO without (re-)creating the squashfs file X-Git-Tag: v0.9.6^0 X-Git-Url: https://git.grml.org/?p=grml-live.git;a=commitdiff_plain;h=5f8bc68065c2395c347271320ce654026332468c Support -q option to build the ISO without (re-)creating the squashfs file --- diff --git a/debian/changelog b/debian/changelog index 88961be..e11a4f6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -29,8 +29,10 @@ grml-live (0.9.6) unstable; urgency=low * Generate ISO with volume label "${GRML_NAME} ${VERSION}" instead of "grml $VERSION" so we propagate the according grml-name. Thanks to Thomas Lehmann! + * Support -q option to build the ISO without (re-)creating the squashfs + compressed file using mksquashfs. - -- Michael Prokop Tue, 18 Nov 2008 23:47:24 +0100 + -- Michael Prokop Wed, 19 Nov 2008 11:13:05 +0100 grml-live (0.9.5) unstable; urgency=low diff --git a/docs/grml-live.txt b/docs/grml-live.txt index f3173b7..1e9f0cc 100644 --- a/docs/grml-live.txt +++ b/docs/grml-live.txt @@ -12,7 +12,7 @@ Synopsis grml-live [-a ] [-c ] [-C ] [-g ] [-i ] [-o ] [-r ] [-s -] [-t ] [-v ] [-bFhuVz] +] [-t ] [-v ] [-bFhquVz] CAUTION: Please check out <> for details about current state of involved @@ -121,6 +121,12 @@ inside this target directory, being: grml_cd (where the files for creating the ISO are located, including the compressed squashfs file), grml_chroot (the chroot system) and grml_isos (where the resulting ISO is stored). + -q:: + +Build the ISO without (re-)creating the squashfs compressed file using mksquashfs. +This option is useful if you just want to update parts outside the chroot in the ISO. +Consider combining this option with the build-only option '-b'. + -r **RELEASENAME**:: Specify name of the release. diff --git a/grml-live b/grml-live index 9263342..bfc853b 100755 --- a/grml-live +++ b/grml-live @@ -36,6 +36,7 @@ Usage: $PN [options, see as follows] -h display short usage information and exit -i name of ISO -o main output directory of the build process + -q skip mksquashfs -r release name -s Debian suite; values: etch, lenny, sid -t place of the templates @@ -208,7 +209,7 @@ fi # }}} # command line parsing {{{ -while getopts "a:C:c:g:i:o:r:s:t:v:bFuVz" opt; do +while getopts "a:C:c:g:i:o:r:s:t:v:bFuqVz" opt; do case "$opt" in a) ARCH="$OPTARG" ;; b) BUILD_ONLY=1 ;; @@ -221,6 +222,7 @@ while getopts "a:C:c:g:i:o:r:s:t:v:bFuVz" opt; do BUILD_OUTPUT="$OUTPUT/grml_cd" ISO_OUTPUT="$OUTPUT/grml_isos" ;; + q) SKIP_MKSQUASHFS=1 ;; r) RELEASENAME="$OPTARG" ;; s) SUITE="$OPTARG" ;; t) TEMPLATE_DIRECTORY="$OPTARG";; @@ -294,6 +296,7 @@ if [ -z "$FORCE" ] ; then [ -n "$SQUASHFS_OPTIONS" ] && echo " Using SQUASHFS_OPTIONS ${SQUASHFS_OPTIONS}" [ -n "$VERBOSE" ] && echo " Using VERBOSE mode." [ -n "$UPDATE" ] && echo " Executing UPDATE instead of fresh installation." + [ -n "$SKIP_MKSQUASHFS" ] && echo " Skipping creation of SQUASHFS file." [ -n "$BUILD_ONLY" ] && echo " Executing BUILD_ONLY instead of fresh installation or UPDATE." echo echo -n "Is this ok for you? [y/N] " @@ -604,6 +607,9 @@ fi if [ -f "$BUILD_OUTPUT"/live/${GRML_NAME}.squashfs -a -z "$UPDATE" -a -z "$BUILD_ONLY" ] ; then log "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ; eend 0 +elif [ -f "$BUILD_OUTPUT"/live/${GRML_NAME}.squashfs -a -n "$SKIP_MKSQUASHFS" ] ; then + log "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs' as requested" + ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs' as requested" ; eend 0 else [ -d "$BUILD_OUTPUT"/live ] || mkdir "$BUILD_OUTPUT"/live # make sure we don't leave (even an empty) base.tgz: