#!/bin/sh

set -e

if [ -f /etc/ltsp/ltsp-update-kernels.conf ]; then
    . /etc/ltsp/ltsp-update-kernels.conf
fi

TFTPBOOT=${TFTPBOOT:-"$TFTPDIR/ltsp5"}
BASE=${BASE:-"/var/lib/ltsp5"}
COPYTFTP=${COPYTFTP:-"true"}
TFTPBOOTDIR=${TFTPBOOTDIR:-"ltsp5"}
TFTPDIRS=${TFTPDIRS:-/var/lib/tftpboot}

for TFTPDIR in $TFTPDIRS ; do
    if [ ! -d $TFTPDIR ] ; then
        # skip directory
        continue
    fi

    TFTPBOOT="$TFTPDIR/$TFTPBOOTDIR"

    if [ "$TFTPDIR" = "$BASE" ]; then
        COPYTFTP="false"
        TFTPBOOT="$TFTPDIR"
    fi

    ALL_CHROOTS="$@"
    ALL_CHROOTS=${ALL_CHROOTS:-"$(find $BASE -mindepth 1 -maxdepth 1 -type d)"}
    
    for CHROOT in $ALL_CHROOTS ; do
	if [ -f $CHROOT/etc/ltsp_chroot ]; then
            echo "Updating $TFTPDIR directories for chroot: $CHROOT"
            export CHROOT_NAME="$(basename $CHROOT)"
	    # update kernels for the chroot
            if [ -x "$CHROOT/usr/lib/ltsp/update-kernels" ]; then
                chroot "$CHROOT" /usr/lib/ltsp/update-kernels
            fi
   
            if [ "$COPYTFTP" = "true" ]; then
                mkdir -p $TFTPBOOT/$CHROOT_NAME
		cp -av $CHROOT/boot/* $TFTPBOOT/$CHROOT_NAME/
            fi
        else
            # not a valid chroot
            echo "Skipping invalid chroot: $CHROOT"
        fi
    done
done
