#!/bin/bash

source /OSM/script/os_load_base.sh
SH_NAME=$(basename $0)
HP_NAME=DeviceManagerHotPatchSPH060_DTS2024032916207.tgz
CONFLICTREBOOT_ROOT=/startup_disk/conf/conf_local/conflictReboot

function PATCH_START()
{
	return 
}
function PATCH_END()
{
	OS_echo "[$SH_NAME] start"
	# to kill daemon
	kill -9 `ps -wwef | grep startDeamonISM.sh | grep -v "grep" | awk '{print $2}'` 
	kill -9 `ps -wwef | grep startISM.sh | grep -v "grep" | awk '{print $2}'`
	if [ -f $CONFLICTREBOOT_ROOT/rebooting ]; then 
		rm -rf $CONFLICTREBOOT_ROOT/rebooting
	fi
	# to stop devicemanager
	sh /OSM/coffer_data/ISM/runtime/scripts/stopISM.sh
	setsid sh /ISM/startDeamonISM.sh &
	OS_echo "[$SH_NAME] end"
	return
}
function PATCH_ROLLSTART()
{
    return
}
function PATCH_ROLLEND()
{
	OS_echo "[$SH_NAME] roll start."
	if [ -f /ISM/$HP_NAME ];then
		OS_echo "[$SH_NAME] delete /ISM/$HP_NAME."
		rm -rf /ISM/$HP_NAME
	fi

	# to kill daemon
	kill -9 `ps -wwef | grep startDeamonISM.sh | grep -v "grep" | awk '{print $2}'` 
	kill -9 `ps -wwef | grep startISM.sh | grep -v "grep" | awk '{print $2}'`
	if [ -f $CONFLICTREBOOT_ROOT/rebooting ]; then 
		rm -rf $CONFLICTREBOOT_ROOT/rebooting
	fi
	# to stop devicemanager
	sh /OSM/coffer_data/ISM/runtime/scripts/stopISM.sh
	setsid sh /ISM/startDeamonISM.sh &
	OS_echo "[$SH_NAME] roll end."
	return
}
#start：打补丁前需要执行的操作，脚本的执行时间点在替换文件前
#end：打补丁后需要执行的操作，脚本的执行时间点在替换文件后
#rollstart：回滚补丁时需要执行的操作，脚本的执行时间点在文件被恢复之前。
#rollend：回滚补丁时需要执行的操作，脚本的执行时间点在文件被恢复之后。
#PATCH_CLOSE_SWITCH:先读取性能统计开关的状态，将其值保存到switch中,并关闭性能统计开关
#PATCH_OPEN_SWITCH:如果用户之前是打开状态，将其开关打开
OS_echo "[$SH_NAME] command is ($1)."
L_CMD=$1
case $L_CMD in
        "start") 
                PATCH_START
                ;;
        "end") 
                PATCH_END
                ;;
        "rollstart") 
                PATCH_ROLLSTART
                ;;
        "rollend") 
                PATCH_ROLLEND
                ;;
        *)
                OS_echo "[$SH_NAME] unsupported option."
esac
exit 0