#!/bin/sh

# Modify these for your system configuration.
DEVICE=3,1,0
SPEED=52
FLAGS="-v -eject"

die() {
    echo "burn: Error burning directory"
    exit 1
}

usage() {
    echo "Usages:"
    echo "    burn <directory> <label>"
    echo "    burn <file>"
    exit 1
}

SOURCE=$1
LABEL=$2


# We need a source.
if test ! "$SOURCE"; then
    usage
fi

# We need a label if the source is a directory.
if (test ! "$LABEL") && (test -d "$SOURCE"); then
    usage
fi

if (test -f "$SOURCE"); then
    FILE="$SOURCE"
elif (test -d "$SOURCE"); then
    DIR="$SOURCE"
    FILE="$DIR.iso"

    if (test -e "$FILE"); then
        echo "burn: $FILE already exists.  Remove and try again."
        exit 1
    fi

else
    echo "burn: $SOURCE not found"
    exit 1
fi

if (test "$DIR"); then
    echo "burn: DIR   = $DIR"
    echo "burn: LABEL = $LABEL"
    echo
    echo "burn: Calculating directory size..."
    du -sh "$DIR" || die

    echo
    echo "burn: Creating CD image..."
    echo

    (mkisofs -J -R -V "$LABEL" "$DIR" > "$FILE") || die
fi

echo "burn: FILE = $FILE"
echo
echo "burn: Burning image to CD..."
echo

(cdrecord $FLAGS dev=$DEVICE speed=$SPEED "$FILE") || die

echo
echo "Burn complete!"
echo
