#!/bin/sh

run_cmd(){
	echo $1
	eval $1
}

compare_md5(){
	file=$1
	checksum=$2
	
	actual=`md5sum $file | cut -d ' ' -f 1`
	
	timestamp=`date +%s`

	echo "md5 should be  => $checksum"
	echo "md5 calculated => $actual"

	run_cmd "wget -q http://env.ecs.soton.ac.uk/rsc/filelog?device=${__mode__}\&name=$file\&md5sum=$checksum\&computed=$actual\&timestamp=$timestamp"

	if [ "$checksum" == "$actual" ]; then
		echo "md5 checksum passed for $file"
		return 1
	else
		echo "md5 checksum failed for $file"
		return 0
	fi

	return 0
}

fetch_file(){
	fetch=$1
	checksum=$2
	mvdir=$3
	permissions=$4
	
	new="$fetch.new"
	url="http://env.ecs.soton.ac.uk/glacsweb/iceland/fetch/$fetch"
	run_cmd "wget -q -O $new $url"
	compare_md5 $new $checksum
	if [ $? -eq "1" ]; then
		run_cmd "mv $new $mvdir/$fetch"
		run_cmd "chmod $permissions $mvdir/$fetch"
	else
		run_cmd "rm $new"
	fi
}

run_cmd "export __mode__='base'"
run_cmd "echo \"export __mode__='${__mode__}'\" >> /home/root/base-startup.sh"

fetch_file "functions.sh" "26ea76876905ad88f3ed747f5186f279" "/home/root" "644"
fetch_file "probegetdata" "17ef89ff5e7928bde70b9f2a6e294eae" "/home/root/probe" "+x"

