X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=5ef31a192e01bc6f54e800fc86abd83f2c5ae4a1;hp=75b1b6ec7a32741660f120b4b3e682f0f16fb3c9;hb=a6d3e35e6d763abf62cff6d0c20ad7e837b6ac76;hpb=9102cb3dd4bcae6033e74c2a4a9b28bea438e833 diff --git a/grml-live b/grml-live index 75b1b6e..5ef31a1 100755 --- a/grml-live +++ b/grml-live @@ -12,6 +12,9 @@ export LANG=C export LC_ALL=C +# avoid leaking into chroots +unset TMPDIR + # define function getfilesize before "set -e" if stat --help >/dev/null 2>&1; then getfilesize='stat -c %s' # GNU stat @@ -61,7 +64,7 @@ Usage: $PN [options, see as follows] -q skip mksquashfs -Q skip netboot package build -r release name - -s Debian suite; values: etch, lenny, squeeze, sid + -s Debian suite/release, like: stable, testing, unstable -t place of the templates -u update existing chroot instead of rebuilding it from scratch -U arrange output to be owned by specified username @@ -74,7 +77,7 @@ Usage examples: $PN $PN -c GRMLBASE,GRML_FULL,AMD64 -o /dev/shm/grml $PN -c GRMLBASE,GRML_FULL,AMD64 -i grml_0.0-1.iso -v 0.0-1 - $PN -c GRMLBASE,GRML_FULL,AMD64 -s sid -V -r 'grml-live rocks' + $PN -c GRMLBASE,GRML_FULL,AMD64 -s stable -V -r 'grml-ftw' More details: man grml-live + /usr/share/doc/grml-live/grml-live.html http://grml.org/grml-live/ @@ -144,7 +147,13 @@ fi # source main configuration file: LIVE_CONF=/etc/grml/grml-live.conf -. $LIVE_CONF +if ! [ -r "$LIVE_CONF" ] ; then + ewarn "Configuration file $LIVE_CONF can not be read, ignoring" +else + einfo "Sourcing configuration file $LIVE_CONF" + . $LIVE_CONF + eend $? +fi # }}} # umount all directories {{{ @@ -330,10 +339,15 @@ while getopts "a:C:c:d:D:e:g:i:I:o:r:s:t:U:v:AbBFhnNqQuVz" opt; do U) CHOWN_USER="$OPTARG" ;; V) VERBOSE="-v" ;; z) SQUASHFS_ZLIB=1 ;; - ?) echo "invalid option -$OPTARG" >&2; bailout 1 ;; + ?) echo "invalid option -$OPTARG" >&2; usage; bailout 1 ;; esac done shift $(($OPTIND - 1)) # set ARGV to the first not parsed commandline parameter + +if [ -n "$1" ] ; then + echo "Error: unknown argument '$1' in options. Exiting to avoid possible data loss." >&2 + bailout 1 +fi # }}} # read local (non-packaged) configuration {{{ @@ -464,7 +478,8 @@ if [ -z "$FORCE" ] ; then read a if ! [ "$a" = 'y' -o "$a" = 'Y' ] ; then CLEAN_ARTIFACTS=0 - bailout 1 "Exiting as requested." + echo "Exiting as requested." + exit 0 fi echo fi @@ -613,7 +628,7 @@ fi # generate nfsroot configuration for FAI on the fly if [ -z "$FAI_DEBOOTSTRAP" ] ; then - FAI_DEBOOTSTRAP="$SUITE http://cdn.debian.net/debian" + FAI_DEBOOTSTRAP="$SUITE http://http.debian.net/debian" fi if [ -z "$FAI_DEBOOTSTRAP_OPTS" ] ; then @@ -1212,7 +1227,7 @@ fi # create md5sum file: if [ -z "$BOOTSTRAP_ONLY" ] ; then ( cd $BUILD_OUTPUT/GRML/"${GRML_NAME}" && - find .. -type f -not -name md5sums -not -name isolinux.bin -exec md5sum {} \; > md5sums ) + find ../.. -type f -not -name md5sums -not -name isolinux.bin -exec md5sum {} \; > md5sums ) fi # }}} @@ -1420,7 +1435,7 @@ create_netbootpackage() { mkdir -p "$NETBOOT" - if ! [ -r "${CHROOT}/usr/lib/syslinux/pxelinux.0" ] ; then + if ! [ -r "${CHROOT_OUTPUT}/usr/lib/syslinux/pxelinux.0" ] ; then ewarn "File /usr/lib/syslinux/pxelinux.0 not found in build chroot." ; eend 0 eindent einfo "Install syslinux[-common] package in chroot to get a netboot package."