HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //usr/syno/sbin/check_root_junior_match.sh
#!/bin/sh

RootMnt="${1}/"; shift

GetKV() { /bin/get_key_value "$@"; }

SYNOINFO_DEF=etc.defaults/synoinfo.conf
VERSION_DEF=etc.defaults/VERSION
VERSION_UPDATER=.syno/patch/VERSION
UniqueRD=`GetKV "/$SYNOINFO_DEF" unique | cut -d"_" -f2`

AssertDirectory() { # dir
	local dir="$1"; shift

	if ! [ -d "$dir" ]; then
		echo "Failed to AssertDirectory[$dir]"
		exit 1
	fi
}

AssertDirectory "${RootMnt}"
AssertDirectory "${RootMnt}etc.defaults/"

AssertFileKeyValueEqual() { # file1 file2 key
	local file1="$1"; shift
	local file2="$1"; shift
	local key="$1"; shift

	local value1=$(GetKV "$file1" "$key")
	local value2=$(GetKV "$file2" "$key")

	if [ "$value1" != "$value2" ]; then
		echo "Failed to AssertFileKeyValueEqual"
		echo "  value1: ${file1}:${key} -> $value1"
		echo "  value2: ${file2}:${key} => $value2"
		exit 2
	fi
}

AssertFileKeyValueEqual "/${SYNOINFO_DEF}" "${RootMnt}${SYNOINFO_DEF}" unique
AssertFileKeyValueEqual "/${VERSION_DEF}" "${RootMnt}${VERSION_DEF}" buildnumber

if [ "$UniqueRD" != "kvmx64" -a "$UniqueRD" != "nextkvmx64" -a "$UniqueRD" != "kvmcloud" ]; then
	AssertDirectory "${RootMnt}.syno/patch/"
	AssertFileKeyValueEqual "/${VERSION_DEF}" "${RootMnt}${VERSION_UPDATER}" buildnumber
	AssertFileKeyValueEqual "/${VERSION_DEF}" "${RootMnt}${VERSION_UPDATER}" smallfixnumber
	if [ ! -f ${RootMnt}.SkipCheckPackingMatch ]; then
		AssertFileKeyValueEqual "/${VERSION_DEF}" "${RootMnt}${VERSION_UPDATER}" packing
		AssertFileKeyValueEqual "/${VERSION_DEF}" "${RootMnt}${VERSION_UPDATER}" packing_id
	fi
fi