From cd20756771e64a26478d95aef864c61cb37a5b44 Mon Sep 17 00:00:00 2001 From: Ing Date: Thu, 11 May 2023 05:00:15 +0800 Subject: [PATCH] add localrss --- .../overlayfs/opt/arpl/include/functions.sh | 1 + .../overlayfs/opt/arpl/include/localrss.sh | 81 +++++++++++++++++++ .../arpl/overlayfs/opt/arpl/ramdisk-patch.sh | 11 ++- 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 files/board/arpl/overlayfs/opt/arpl/include/localrss.sh diff --git a/files/board/arpl/overlayfs/opt/arpl/include/functions.sh b/files/board/arpl/overlayfs/opt/arpl/include/functions.sh index 4f806ae7..dd1951bc 100644 --- a/files/board/arpl/overlayfs/opt/arpl/include/functions.sh +++ b/files/board/arpl/overlayfs/opt/arpl/include/functions.sh @@ -1,6 +1,7 @@ . /opt/arpl/include/i18n.sh . /opt/arpl/include/consts.sh . /opt/arpl/include/configFile.sh +. /opt/arpl/include/localrss.sh ############################################################################### # Read key value from model config file diff --git a/files/board/arpl/overlayfs/opt/arpl/include/localrss.sh b/files/board/arpl/overlayfs/opt/arpl/include/localrss.sh new file mode 100644 index 00000000..4f1e5f44 --- /dev/null +++ b/files/board/arpl/overlayfs/opt/arpl/include/localrss.sh @@ -0,0 +1,81 @@ + +function mkLocalRss() { +RDPATH=${1} +MLINK=${2} +MCHECKSUM=${3} +OUTPATH=${4} + +if [ ! -f ${RDPATH}/etc/VERSION ]; then + return 1 +fi + +. ${RDPATH}/etc/VERSION + +cat > ${OUTPATH}/localrss.json << EOF +{ + "version": "2.0", + "channel": { + "title": "RSS for DSM Auto Update", + "link": "https://update.synology.com/autoupdate/v2/getList", + "pubDate": "Sat Aug 6 0:18:39 CST 2022", + "copyright": "Copyright 2022 Synology Inc", + "item": [ + { + "title": "DSM ${productversion}-${buildnumber}", + "MajorVer": ${major}, + "MinorVer": ${minor}, + "NanoVer": ${micro}, + "BuildPhase": "${buildphase}", + "BuildNum": ${buildnumber}, + "BuildDate": "${builddate}", + "ReqMajorVer": ${major}, + "ReqMinorVer": ${minor}, + "ReqBuildPhase": ${micro}, + "ReqBuildNum": 0, + "ReqBuildDate": "${builddate}", + "isSecurityVersion": false, + "model": [ + { + "mUnique": "${unique}", + "mLink": "${MLINK}", + "mCheckSum": "${MCHECKSUM}" + } + ] + } + ] + } +} +EOF + +cat > ${OUTPATH}/localrss.xml << EOF + + + + RSS for DSM Auto Update + http://update.synology.com/autoupdate/genRSS.php + Tue May 9 11:52:15 CST 2023 + Copyright 2023 Synology Inc + + DSM ${productversion}-${buildnumber} + ${major} + ${minor} + ${buildphase} + ${buildnumber} + ${builddate} + ${major} + ${minor} + ${micro} + 0 + ${builddate} + + ${unique} + ${MLINK} + ${MCHECKSUM} + + + + +EOF + +return 0 +} diff --git a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh index 1b220a33..bf6590d5 100755 --- a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh +++ b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh @@ -34,7 +34,7 @@ LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`" SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`" LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`" KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`" -UNIQUE=`readModelKey "${MODEL}" "unique"` + if [ ${BUILD} -ne ${buildnumber} ]; then echo -e "\033[A\n\033[1;32mBuild number changed from \033[1;31m${BUILD}\033[1;32m to \033[1;31m${buildnumber}\033[0m" @@ -46,8 +46,11 @@ fi echo -n "." # Read model data +UNIQUE=`readModelKey "${MODEL}" "unique"` PLATFORM="`readModelKey "${MODEL}" "platform"`" KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" +PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`" +PAT_MD5_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.md5-hash"`" RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`" # Sanity check @@ -160,6 +163,12 @@ done [ "2" = "${BUILD:0:1}" ] && sed -i 's/function //g' `find "${RAMDISK_PATH}/addons/" -type f -name "*.sh"` +# loacl rss, Make the bootloader and online installation versions consistent +mkLocalRss "${RAMDISK_PATH}" "${PAT_URL}" "${PAT_MD5_HASH}" "${RAMDISK_PATH}/addons" +sed -i "s|rss_server=.*$|rss_server=\"file://localhost/addons/localrss.xml\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf" +sed -i "s|rss_server_ssl=.*$|rss_server_ssl=\"file://localhost/addons/localrss.xml\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf" +sed -i "s|rss_server_v2=.*$|rss_server_v2=\"file://localhost/addons/localrss.json\"|g" "${RAMDISK_PATH}/etc/synoinfo.conf" + # Enable Telnet echo "inetd" >> "${RAMDISK_PATH}/addons/addons.sh"