@@ -102,17 +102,16 @@ PATCHES=(
102102)
103103
104104for PE in " ${PATCHES[@]} " ; do
105- RET=1
106- echo " Patching with ${PE} " >> " ${LOG_FILE} "
107- # ${PE} contains *, so double quotes cannot be added
105+ RET=2
106+ MATCHED=0
108107 for PF in ${PATCH_PATH} /${PE} ; do
109108 [ ! -e " ${PF} " ] && continue
110- echo " Patching with ${PF} " >> " ${LOG_FILE} "
111- # busybox patch and gun patch have different processing methods and parameters.
109+ MATCHED=1
112110 (cd " ${RAMDISK_PATH} " && busybox patch -p1 -i " ${PF} " ) >> " ${LOG_FILE} " 2>&1
113111 RET=$?
114112 [ ${RET} -eq 0 ] && break
115113 done
114+ [ ${MATCHED} -eq 0 ] && continue # skip if no patch files found
116115 [ ${RET} -ne 0 ] && exit 1
117116done
118117
@@ -170,31 +169,23 @@ installModules "${PLATFORM}" "${KVERP}" "${!MODULES[@]}" || exit 1
170169gzip -dc " ${LKMS_PATH} /rp-${PLATFORM} -${KVERP} -${LKM} .ko.gz" > " ${RAMDISK_PATH} /usr/lib/modules/rp.ko" 2>> " ${LOG_FILE} " || exit 1
171170
172171# Patch synoinfo.conf
173- # Patch synoinfo.conf
174- : > " ${RAMDISK_PATH} /addons/synoinfo.conf" # Safely truncate file
175-
172+ echo -n " " > " ${RAMDISK_PATH} /addons/synoinfo.conf"
176173for KEY in " ${! SYNOINFO[@]} " ; do
177- echo " Set synoinfo ${KEY} " >> " ${LOG_FILE} "
178- echo " ${KEY} =\" ${SYNOINFO[${KEY}]} \" " >> " ${RAMDISK_PATH} /addons/synoinfo.conf"
179- _set_conf_kv " ${RAMDISK_PATH} /etc/synoinfo.conf" " ${KEY} " " ${SYNOINFO[${KEY}]} " || {
180- echo " Failed to set ${KEY} in etc/synoinfo.conf" >> " ${LOG_FILE} "
181- exit 1
182- }
183- _set_conf_kv " ${RAMDISK_PATH} /etc.defaults/synoinfo.conf" " ${KEY} " " ${SYNOINFO[${KEY}]} " || {
184- echo " Failed to set ${KEY} in etc.defaults/synoinfo.conf" >> " ${LOG_FILE} "
185- exit 1
186- }
187- done
188-
189- # Create helper scripts for key-value access
190- for BIN in get_key_value set_key_value; do
191- BIN_PATH=" ${RAMDISK_PATH} /usr/bin/${BIN} "
192- FUNC_NAME=" _${BIN/ _key_value/ conf_kv} "
193- if [ ! -x " ${BIN_PATH} " ]; then
194- printf ' #!/bin/sh\n%s\n%s "$@"\n' " $( declare -f ${FUNC_NAME} ) " " ${FUNC_NAME} " > " ${BIN_PATH} "
195- chmod a+x " ${BIN_PATH} "
196- fi
174+ echo " Set synoinfo ${KEY} " >> " ${LOG_FILE} "
175+ echo " ${KEY} =\" ${SYNOINFO[${KEY}]} \" " >> " ${RAMDISK_PATH} /addons/synoinfo.conf"
176+ _set_conf_kv " ${RAMDISK_PATH} /etc/synoinfo.conf" " ${KEY} " " ${SYNOINFO[${KEY}]} " || exit 1
177+ _set_conf_kv " ${RAMDISK_PATH} /etc.defaults/synoinfo.conf" " ${KEY} " " ${SYNOINFO[${KEY}]} " || exit 1
197178done
179+ rm -f " ${RAMDISK_PATH} /usr/bin/get_key_value"
180+ if [ ! -x " ${RAMDISK_PATH} /usr/bin/get_key_value" ]; then
181+ printf ' #!/bin/sh\n%s\n_get_conf_kv "$@"' " $( declare -f _get_conf_kv) " > " ${RAMDISK_PATH} /usr/bin/get_key_value"
182+ chmod a+x " ${RAMDISK_PATH} /usr/bin/get_key_value"
183+ fi
184+ rm -f " ${RAMDISK_PATH} /usr/bin/set_key_value"
185+ if [ ! -x " ${RAMDISK_PATH} /usr/bin/set_key_value" ]; then
186+ printf ' #!/bin/sh\n%s\n_set_conf_kv "$@"' " $( declare -f _set_conf_kv) " > " ${RAMDISK_PATH} /usr/bin/set_key_value"
187+ chmod a+x " ${RAMDISK_PATH} /usr/bin/set_key_value"
188+ fi
198189
199190# Copying modulelist
200191if [ -f " ${USER_UP_PATH} /modulelist" ]; then
0 commit comments