#!/bin/bash

# run apt-get update if we haven't within $1 minutes
WITHINMINUTES=$1
if [ -z "$WITHINMINUTES" ] ; then
	WITHINMINUTES=60
fi

RUNIT=""

TSFILE=/var/run/groovix/apt-get-update.timestamp
TSNOWFILE=/var/run/groovix/apt-get-update.timenow

if [ -e $TSFILE ] ; then
        TSFILETS=`stat -L --format %Y $TSFILE`
        touch $TSNOWFILE
        TSNOW=`stat -L --format %Y $TSNOWFILE`
        #TSNOW=`date +%s`

	let "SECAGO = 60 * WITHINMINUTES"
	let "TSAGO = TSNOW - SECAGO"
	let "TSFILEAGO = TSNOW - TSFILETS "
	let "TSFILEAGOMIN = TSFILEAGO / 60 "

	#echo $TSFILETS $TSNOW $TSAGO $SECAGO $TSAGO
	
	if [ $TSFILETS -lt $TSAGO ] ;  then
		RUNIT=true
	fi
else
	RUNIT=true;
fi

if [ $RUNIT ] ; then
	echo "need to run apt-get update"
	apt-get update
	mkdir -p /var/run/groovix
	touch $TSFILE
else
	echo "apt-get update was already run $TSFILEAGOMIN minutes ago which is within the specified threshold of $WITHINMINUTES minutes"
fi
