--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bin/run Mon Dec 15 08:17:27 2014 +0100
@@ -0,0 +1,55 @@
+#! /bin/bash
+
+set -e
+export LC_ALL=C
+
+# http://cdimage.debian.org/cdimage/weekly-builds/amd64/jigdo-dvd/debian-testing-amd64-DVD-1.jigdo
+# http://cdimage.debian.org/cdimage/weekly-builds/amd64/jigdo-dvd/debian-testing-amd64-DVD-1.template
+# http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/jessie/current/firmware.tar.gz
+
+for p in isohybrid genisoimage curl
+do
+ command -v "$p" > /dev/null || {
+ echo "$0: command $p not found" >&2
+ exit 2
+ }
+done
+
+iso="${1?iso file}"
+
+
+if [[ -d target ]]; then
+ echo "skipping: unpack iso"
+else
+ mkdir -p target
+ bsdtar xf "$iso" -C target/
+ chmod -R u+w target
+fi
+
+if [[ $(find target/firmware -type f | wc -l) -gt 1 ]]; then
+ echo "skipping: firmware unpack"
+else
+ tar xf firmware.tar.gz -C target/firmware
+fi
+
+if grep -q 'ius.cfg' target/isolinux/menu.cfg; then
+ echo "skipping: isolinux"
+else
+ cp -v ~heiko/d/preseed/isolinux/ius.cfg target/isolinux/
+ perl -i.bak -pe 's/^include stdmenu.cfg\Z/${&}\ninclude ius.cfg/' \
+ target/isolinux/menu.cfg
+fi
+
+
+if [[ -f target.iso ]]; then
+ echo "skipping: geniso"
+else
+ volid=$(isoinfo -d -i ${iso} | grep '^Volume id:' | cut -f3- -d' ')
+ genisoimage -o target.iso -V "$volid" \
+ -r -J \
+ -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -b isolinux/isolinux.bin \
+ -c isolinux/isolinux.cat \
+ ./target
+ isohybrid target.iso
+fi