File: //var/packages/StorageAnalyzer/scripts/pkg_utils
PACKAGE_DIR="/var/packages/${SYNOPKG_PKGNAME}"
DSM_INDEX_ADD="/usr/syno/bin/pkgindexer_add"
DSM_INDEX_DEL="/usr/syno/bin/pkgindexer_del"
PKG_INDEXDB_PATH="${PACKAGE_DIR}/target/indexdb"
PKG_APP_PATH="${PACKAGE_DIR}/target/ui"
MISC_DIR="/usr/syno"
UDC_DIR="/usr/syno/etc/user.data.conf"
OLD_UDC_CONFIG="${UDC_DIR}/report.config"
OLD_LOG_DIR="/var/log"
NEW_LOG_DIR="${PACKAGE_DIR}/var/log"
MIGRATED_LOG_DIR="${NEW_LOG_DIR}.migrated"
LOG_FILE_NAME="synoreport.log"
OLD_LOG_FILE="${OLD_LOG_DIR}/${LOG_FILE_NAME}"
NEW_LOG_FILE="${NEW_LOG_DIR}/${LOG_FILE_NAME}"
LN_BIN="/bin/ln"
RM_BIN="/bin/rm"
CP_BIN="/bin/cp"
MV_BIN="/bin/mv"
MKDIR_BIN="/bin/mkdir"
KILLALL_BIN="/bin/killall"
REPORT_BIN="/usr/syno/synoreport/synoreport"
SYNO_SYSCTL_BIN="/usr/syno/bin/synosystemctl"
SERVICE_GENERATE_GLOBAL_DATA="pkg-StorageAnalyzer-GenerateGlobalData.service"
CreateHelpAndString()
{
if [ -n "$SYNOPKG_PKG_STATUS" ]; then
${DSM_INDEX_ADD} ${PKG_APP_PATH}/index.conf ${PKG_INDEXDB_PATH}/appindexdb
${DSM_INDEX_ADD} ${PKG_APP_PATH}/helptoc.conf ${PKG_INDEXDB_PATH}/helpindexdb
fi
}
RemoveHelpAndString()
{
if [ -n "$SYNOPKG_PKG_STATUS" ]; then
${DSM_INDEX_DEL} ${PKG_APP_PATH}/index.conf ${PKG_INDEXDB_PATH}/appindexdb
${DSM_INDEX_DEL} ${PKG_APP_PATH}/helptoc.conf ${PKG_INDEXDB_PATH}/helpindexdb
fi
}
CopyFile()
{
${CP_BIN} -f ${PACKAGE_DIR}/target${1}/${2} ${1}
}
CreateLink()
{
${LN_BIN} -sf ${PACKAGE_DIR}/target${1}/${2} ${1}/${2}
}
RemoveLink()
{
${RM_BIN} -f ${1}/${2}
}
RemoveTemplateAndBinaryLink()
{
RemoveLink ${MISC_DIR} synoreport
}
CopyTemplateAndBinaryLink()
{
${RM_BIN} -rf ${MISC_DIR}/synoreport
CreateLink ${MISC_DIR} synoreport
}
RemoveOldUDCConfig()
{
if [ -f "${OLD_UDC_CONFIG}" ]; then
${RM_BIN} -f ${OLD_UDC_CONFIG}
fi
}
HideSchedule()
{
[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --hide-schedule
}
ShowSchedule()
{
[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --show-schedule
}
FixSchedule()
{
[ -e "$REPORT_BIN" ] && "$REPORT_BIN" --fix-schedule
}
StopSynoreport()
{
${KILLALL_BIN} -15 synoreport
}
StartServices()
{
${SYNO_SYSCTL_BIN} start --no-block ${SERVICE_GENERATE_GLOBAL_DATA}
}
Log()
{
local type="$1"; shift
local msg="$1"; shift
local dest="$1"; shift
local d
d=$(/bin/date '+%Y/%m/%d %T')
echo -e "${type}\t${d}\t${msg}" >> "${dest}"
}
LogToOldLogFile()
{
Log "$1" "$2" "${OLD_LOG_FILE}"
}
LogToNewLogFile()
{
Log "$1" "$2" "${NEW_LOG_FILE}"
}