#!/bin/sh

# isoburn [-cd|-dvd] isofile...
#
# This recipe encapsulates DHR's procedure for burning from a .iso file.
#
# Copyright 2005 D. Hugh Redelmeier
# License: GPL
# Version: Wed Jun 22 10:35:24 EDT 2005

# cdrom drive
drive=/dev/cdwriter

# options for cdrecord
device=ATA:1,0,0
speed=8

medium="-cd"

# strict; show commands as executed
set -u -e -x

for iso
do
	case "$iso" in
	"-cd"|"-dvd")
		medium=$iso
		;;
	*)
		echo -n "press ENTER when you have loaded a new blank CD: "
		read junk

		isopad - "$iso"
		isopad + "$iso"
		case "$medium" in
		"-cd")
			time cdrecord -v dev=$device speed=$speed -dao driveropts=burnfree "$iso"
			;;
		"-dvd")
			# spare bits: -use-the-force-luke=tty
			time growisofs -Z "$drive"="$iso" -use-the-force-luke=notray -use-the-force-luke=dao
			;;
		esac
		isopad - "$iso"
		time cmp --bytes `isosize "$iso"` "$iso" $drive
		# because of -e, we only get here if the test passes
		echo "Test passed."
		eject $drive
		;;
	esac
done
