#!/bin/sh

PROG="${0##*/}"

. shell-error

usage()
{
    printf 'Usage: %s <iso> <tftp dir>\n' "$PROG"
    exit 0
}

[ "$#" -eq 2 ] || usage

iso="$1";shift
tftpdir="$1";shift
destdir="$tftpdir/iso/"

[ -f "$iso" ] || fatal "iso image is not a file"
grep -qs "^$destdir[[:space:]]" /etc/exports && fatal "destination directory already exported"
[ "${tftpdir#/var/lib/tftpboot}" != "$tftpdir" ] || fatal "tftp directory not under /var/lib/tftpboot"

#prepare data directory
mkdir -p "$destdir"
cp "$iso" "$destdir"
mount -o loop "$iso" "$destdir"
printf "%s *(ro,all_squash,sync)" "$destdir" >>/etc/exports
service nfs restart

#prepare tftp directory
mkdir -p "$tftpdir"
cp -a $destdir/isolinux/* "$tftpdir"
sed -r "s,directory:([^[:space:]]+),directory:$destdir," -i "$tftpdir/pxelinux.cfg/default"

killall in.tftpd
