- # $SQUASHFS_BINARY is specified in the configuration:
- if [ -n "$SQUASHFS_BINARY" ] ; then
- if ! which "$SQUASHFS_BINARY" >/dev/null 2>&1 ; then
- log "Error: specified mksquashfs binary ($SQUASHFS_BINARY) not found. Exiting."
- eerror "Error: specified mksquashfs binary ($SQUASHFS_BINARY) not found. Exiting." ; eend 1
- bailout
- fi
- else # no $SQUASHFS_BINARY configured, let's find the according binary:
- # Note: this is ALL for backward compability and yes: it's serious PITA.
- # We'll definitely drop this once people build >2.6.28-grml* only and
- # the squashfs-tools vs. squashfs-lzma-tools + zlib vs. lzma situation
- # is settling...
-
- # assume the safe default if mksquashfs-lzma isn't present:
- if ! which mksquashfs-lzma >/dev/null 2>&1 ; then
- SQUASHFS_BINARY='mksquashfs'
- else # mksquashfs-lzma is available since squashfs-lzma-tools 4.0:
- # if the user wants to use zlib then don't use mksquashfs-lzma:
- if echo "$SQUASHFS_OPTIONS" | grep -q -- "-nolzma" || [ -n "$SQUASHFS_ZLIB" ] ; then
- SQUASHFS_BINARY='mksquashfs'
- else # neither -nolzma nor -z and mksquashfs-lzma is available:
- SQUASHFS_BINARY='mksquashfs-lzma'
-
- # backwards compability: someone has squashfs-lzma-tools >=4 installed but
- # 1) doesn't use -nolzma in $SQUASHFS_OPTIONS or the grml-live's -z option *and*
- # 2) builds against kernel version <=2.6.28-grml[64]
- if ls $CHROOT_OUTPUT/boot/vmlinuz* >/dev/null 2>&1 ; then
- KERNEL_IMAGE="$(ls $CHROOT_OUTPUT/boot/vmlinuz* 2>/dev/null | sort -r | head -1)"
-
- case $KERNEL_IMAGE in
- *vmlinuz-2.6.28-grml*|*vmlinuz-2.6.26-grml*|*vmlinuz-2.6.23-grml*)
- log "You seem to be building a system with squashfs file format 3 using squashfs-lzma-tools >=4."
- ewarn "You seem to be building a system with squashfs file format 3 using squashfs-lzma-tools >=4."
- ewarn "|-> Consider installing squashfs-lzma-tools 3.3-1 for support of file format version 3."
- ewarn "|-> Trying the mksquashfs binary instead of mksquashfs-lzma (though this might fail)."
- ewarn "\`-> Visit http://grml.org/grml-live/#current_state for further details if building fails."
- eend 0
- SQUASHFS_BINARY='mksquashfs'
- ;;
- esac
- fi
- fi
-
- fi