Bug in loader synoinfo.conf patch

This commit is contained in:
Fabio Belavenuto 2022-08-25 14:39:26 -03:00
parent 3fccb4d3db
commit 3618842b4b
2 changed files with 24 additions and 2 deletions

View File

@ -146,3 +146,25 @@ function arrayExistItem() {
done
return ${EXISTS}
}
###############################################################################
# Replace/remove/add values in .conf K=V file
# 1 - name
# 2 - new_val
# 3 - path
function _set_conf_kv() {
# Delete
if [ -z "$2" ]; then
sed -i "$3" -e "s/^$1=.*$//"
return $?;
fi
# Replace
if grep -q "^$1=" "$3"; then
sed -i "$3" -e "s\"^$1=.*\"$1=\\\"$2\\\"\""
return $?
fi
# Add if doesn't exist
echo "$1=\"$2\"" >> $3
}

View File

@ -46,7 +46,7 @@ declare -A ADDONS
# Read synoinfo and addons from config
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
@ -62,7 +62,7 @@ done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch")
# Patch /etc/synoinfo.conf
echo -n "."
for KEY in ${!SYNOINFO[@]}; do
sed -i "s|^${KEY}=.*|${KEY}=\"${SYNOINFO[${KEY}]}\"|" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog
_set_conf_kv "${KEY}" "${SYNOINFO[${KEY}]}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog
done
# Patch /sbin/init.post