+ [ -d "$BUILD_OUTPUT"/live ] || mkdir "$BUILD_OUTPUT"/live
+ # make sure we don't leave (even an empty) base.tgz:
+ [ -f "$CHROOT_OUTPUT/base.tgz" ] && rm -f "$CHROOT_OUTPUT/base.tgz"
+
+ # make sure mksquashfs can handle the according option:
+ if [ -n "$SQUASHFS_ZLIB" ] ; then
+ mksquashfs --help 2>&1 | grep -q -- "$SQUASHFS_ZLIB" || SQUASHFS_ZLIB=''
+ fi
+
+ if echo "$SQUASHFS_OPTIONS" | grep -q -- "-nolzma" ; then
+ if ! mksquashfs --help 2>&1 | grep -q -- '-nolzma' ; then
+ ewarn "mksquashfs does NOT support the nolzma option, just using default zlib mode."
+ SQUASHFS_OPTIONS="$(echo $SQUASHFS_OPTIONS | sed 's/-nolzma//g')"
+ eend 0
+ fi
+ fi
+
+ if echo "$SQUASHFS_OPTIONS" | grep -q -- "-lzma" ; then
+ if ! mksquashfs --help 2>&1 | grep -q -- '-lzma' ; then
+ ewarn "mksquashfs does NOT support the lzma option, falling back to zlib mode."
+ SQUASHFS_OPTIONS="$(echo $SQUASHFS_OPTIONS | sed 's/-lzma//g')"
+ eend 0
+ fi
+ fi
+
+ # support exclusion of files via exclude-file:
+ if [ -n "$SQUASHFS_EXCLUDES_FILE" -a "$SQUASHFS_EXCLUDES_FILE" ] ; then
+ SQUASHFS_OPTIONS="$SQUASHFS_OPTIONS -ef $SQUASHFS_EXCLUDES_FILE"
+ fi
+
+ # get rid of unnecessary files when building grml-small for final release:
+ if echo "$CLASSES" | grep -q GRML_SMALL ; then
+ SQUASHFS_OPTIONS="$SQUASHFS_OUTPUT -e initrd.img* vmlinuz*"
+ fi
+
+ SQUASHFS_OUTPUT="$(mktemp -t grml-live.XXXXXX)"
+ log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/${GRML_NAME}.squashfs -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB"
+ if mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/"${GRML_NAME}".squashfs \
+ -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB 2>"${SQUASHFS_OUTPUT}" ; then
+ echo "${GRML_NAME}.squashfs" > $BUILD_OUTPUT/live/filesystem.module
+ log "Finished execution of stage 'squashfs' [$(date)]"
+ einfo "Finished execution of stage 'squashfs'" ; eend 0
+ rm -f "${SQUASHFS_OUTPUT}"
+ else
+ log "There was an error executing stage 'squashfs' [$(date)]:"
+ log "$(cat $SQUASHFS_OUTPUT)"
+ eerror "There was an error executing stage 'squashfs':" ; eend 1
+ cat "${SQUASHFS_OUTPUT}"
+ rm -f "${SQUASHFS_OUTPUT}"
+ bailout
+ fi