#!/bin/bash
#
# VERSION=1
# CHANGES="initial version"

BEROCONF=/usr/fallback/beroconf
UPDTIME=/usr/sbin/update-time

CRONDIR=/usr/conf/cron
CRONTAB=${CRONDIR}/root

PREFIX="[init_synctime]"

function prep_cron {
	if [ ! -d ${CRONDIR} ] ; then
		mkdir -p ${CRONDIR}
	fi

	if [ ! -f ${CRONTAB} ]; then
		echo "*/15 * * * * ${UPDTIME}" > ${CRONTAB}
	elif [ -z "$(grep ${UPDTIME} ${CRONTAB})" ]; then
		echo "*/15 * * * * ${UPDTIME}" >> ${CRONTAB}
	fi
}

case "${1}" in
	start)
		DNS=$(${BEROCONF} get root lan-nameserver | grep -v failed)
		NTP=$(${BEROCONF} get root ntphost | grep -v failed)

		if [ -z "${DNS}" ] || [ -z "${NTP}" ]; then
			exit 0
		fi

		echo -n "${PREFIX} Updating system-time: "
		${UPDTIME} > /dev/null
		echo "Done."

		sleep 1

		prep_cron
		;;
	*)
		echo "${PREFIX} Usage: ${0} {start}" >&2
		exit 1
		;;
esac
