HEX
Server: Apache/2.4.63 (Unix)
System: Linux TOMS-220NAS 4.4.302+ #86009 SMP Wed Nov 26 18:19:17 CST 2025 x86_64
User: flavio87 (1026)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: //usr/syno/lib/systemd/scripts/install_online_pack.sh
#!/bin/sh
# Copyright (c) 2000-2024 Synology Inc. All rights reserved.

main()
{
	local pkg_name="SynoOnlinePack_v2"
	local support_ha=$(/bin/get_key_value /etc.defaults/synoinfo.conf support_ha)
	local spk_file=$(find /.SynoUpgradePackages -type f | grep $pkg_name)
	if [ "yes" != "$support_ha" ]; then
		return 0
	fi
	if [ -z "$spk_file" ] || [ ! -f "$spk_file" ]; then
		return 0
	fi

	local version_from_builtin=$(/usr/syno/bin/synopkg query $spk_file | /bin/grep 'Package version' | /bin/awk -F': ' '{print $2}')
	# example from synopkg query
	# Package name: SynoOnlinePack_v2
	# Package version: 123
	# Package description: ......

	local version_in_system=$(/usr/syno/bin/synopkg version $pkg_name)
	if [[ "$version_from_builtin" =~ ^[0-9]+$ ]] && [[ "$version_in_system" =~ ^[0-9]+$ ]] && [ "$version_from_builtin" -lt "$version_in_system" ]; then
		/bin/echo "Skip package downgrade, pkg=[$pkg_name]"
		/bin/rm -f "$spk_file"
		return 0
	fi

	/usr/syno/bin/synopkg install --ignore-limit "$spk_file"
	local ret=$?
	if [ $ret -eq 0 ]; then
		/bin/echo "Installed online pack from dsm patch manually."
		/bin/rm -f "$spk_file"
	fi
	return $ret
}

main

exit $?