#!/bin/sh
# Copyright (c) 2013 Synology Inc. All rights reserved.

SS_TARGET_DIR="/var/packages/SurveillanceStation/target"
SS_JS_MODULE_DIR="${SS_TARGET_DIR}/ui/modules"
SS_DP_DIR="${SS_TARGET_DIR}/device_pack"
SS_DP_JS_MODULE_DIR="${SS_DP_DIR}/ui/modules"
SS_DP_CAMERA_SELECTOR="CameraSelector"
SS_DP_UPGRADER="${SS_TARGET_DIR}/device_pack/bin/dpupgrader"
SS_DP_DOWNGRADER="${SS_TARGET_DIR}/device_pack/bin/dpdowngrader"
PRE_DP_VER_FILE="/tmp/.predpver"
PRE_DPDOWNGRADER="/tmp/.predpdowngrader"

do_dpupgrader()
{
	if [ -f $PRE_DP_VER_FILE ];then
		local PreDPVer=`grep "version" $PRE_DP_VER_FILE | cut -d'=' -f2 | sed 's/\"//g'`
		local PreDPBuildNum=`echo $PreDPVer |cut -d'-' -f2`
		
		local DPVer=`grep "version" $SS_DP_DIR/conf | cut -d'=' -f2 | sed 's/\"//g'`
		local DPBuildNum=`echo $DPVer |cut -d'-' -f2`
		
		if [[ $DPBuildNum -gt $PreDPBuildNum ]]; then
			# Do upgrader with previous dp version
			if [ -f $SS_DP_UPGRADER ]; then
				$SS_DP_UPGRADER $PreDPBuildNum
			fi
		fi

		if [[ $DPBuildNum -lt $PreDPBuildNum ]]; then
			# Do downgrader with previous dpdowngrader
			if [ -f $PRE_DPDOWNGRADER ]; then
				$PRE_DPDOWNGRADER $DPBuildNum
			fi
		fi
		rm -f $PRE_DP_VER_FILE
		rm -f $PRE_DPDOWNGRADER
	else
		# Do upgrader with 0
		if [ -f $SS_DP_UPGRADER ]; then
			$SS_DP_UPGRADER 0
		fi
	fi
}

link_dp_js()
{
# Check SS major version
	ln -s $SS_DP_JS_MODULE_DIR/$SS_DP_CAMERA_SELECTOR $SS_JS_MODULE_DIR/$SS_DP_CAMERA_SELECTOR
}

do_dpupgrader
link_dp_js

exit 0
