#!/bin/bash set -e if [ ! "${3}" ]; then printf "$0 xorriso_cmd dir_in image_out [--clean]\n" exit 1; fi XOR=${1} DIR=${2} IMG=${3} RES="${IMG}.iso ${IMG}.new ${IMG}.md5 ${IMG}.jigdo ${IMG}.template" # remove cruft from previous runs # rm -f ${RES} jigdo-gen-md5-list ${DIR} > ${IMG}.md5 ${XOR} \ -as mkisofs \ -o ${IMG}.iso \ -R -V 'ISO_JIGDO' \ -partition_offset 16 \ -J -joliet-long \ \ -jigdo-template-compress gzip \ -checksum_algorithm_iso md5,sha1,sha256,sha512 \ -checksum_algorithm_template md5,sha1,sha256,sha512 \ -jigdo-jigdo ${IMG}.jigdo \ -jigdo-template ${IMG}.template \ -jigdo-map Debian=${DIR} \ -md5-list ${IMG}.md5 \ -jigdo-min-file-size 1024 \ \ ${DIR} jigit-mkimage \ -t ${IMG}.template \ -j ${IMG}.jigdo \ -m Debian=${DIR} \ -o ${IMG}.new diff ${IMG}.iso ${IMG}.new # sort out the cruft if [ "${4}" == "--clean" ]; then rm -f ${RES} printf "removed: %s\n" ${RES} else printf "left: %s\n" ${RES} fi