File: //var/packages/ProxyServer/scripts/preupgrade
#!/bin/sh
PRIVATE_LOCATION="/var/packages/ProxyServer/target"
# customized info for different package
PACKAGE_NAME=${SYNOPKG_PKGNAME}
PACKAGE_VER=${SYNOPKG_PKGVER}
UPGRAGE_FILE="/tmp/synoproxyserver.upgrade"
# general routine
NEW_PACKAGE_VER=`get_key_value "${SYNOPKG_PKGINST_TEMP_DIR}/../INFO" "version"`
OLD_PACKAGE_VER=${PACKAGE_VER}
#generate tmp update file
touch ${UPGRAGE_FILE}
OLD_VER_STR="old_version="${OLD_PACKAGE_VER}
echo ${OLD_VER_STR} >> ${UPGRAGE_FILE}
check_version_older() # $1 base version $2 target version
{
BASE_VER=$1
TARGET_VER=$2
# if no base ver, always reture false
if [ -z "${BASE_VER}" ]; then
return 0;
fi
# getting major, minor, build
base_major=`echo ${BASE_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\1/'`
base_minor=`echo ${BASE_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\2/'`
base_suffix=`echo ${BASE_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\3/'`
base_build=`echo ${BASE_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\4/'`
target_major=`echo ${TARGET_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\1/'`
target_minor=`echo ${TARGET_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\2/'`
target_suffix=`echo ${TARGET_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\3/'`
target_build=`echo ${TARGET_VER} | sed 's/^\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\)[.-]\([0-9]*\).*/\4/'`
# compare major, version must equal or above limitation
if [ $target_major -lt $base_major ]; then
return 1;
elif [ $target_major -gt $base_major ]; then
return 0;
fi
# compare minor
if [ $target_minor -lt $base_minor ]; then
return 1;
elif [ $target_minor -gt $base_minor ]; then
return 0;
fi
# compare suffix
if [ $target_suffix -lt $base_suffix ]; then
return 1;
elif [ $target_suffix -gt $base_suffix ]; then
return 0;
fi
# compare build
if [ $target_build -lt $base_build ]; then
return 1;
else
return 0;
fi
}
check_version_older $OLD_PACKAGE_VER "3.4.11-0170"
if [ 0 -eq $? ]; then
/bin/sed -i 's/PROXY_TOOL_PATH= "\/var\/packages\/ProxyServer\/target\/tools"/PROXY_TOOL_PATH="\/var\/packages\/ProxyServer\/target\/tools"/' "/var/packages/ProxyServer/scripts/preuninst"
fi
backup_conf()
{
mkdir -p /tmp/ProxyServer
local PROXY_SERVER_CONF_DIR="${PRIVATE_LOCATION}/squid/etc"
/bin/cp -f ${PROXY_SERVER_CONF_DIR}/* /tmp/ProxyServer/
}
backup_conf
exit 0