diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index 747e0498..6c6d55ad 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -49,7 +49,7 @@ function addonSelection() { touch "${TMP_PATH}/opts" while read -r ADDON DESC; do arrayExistItem "${ADDON}" "${!ADDONS[@]}" && ACT="on" || ACT="off" - if [[ "${ADDON}" == "amepatch" || "${ADDON}" == "sspatch" || "${ADDON}" == "arcdns" ]] && [ -z "${ARCCONF}" ]; then + if [[ "${ADDON}" == "amepatch" || "${ADDON}" == "arcdns" ]] && [ -z "${ARCCONF}" ]; then continue elif [ "${ADDON}" == "codecpatch" ] && [ -n "${ARCCONF}" ]; then continue diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index e39ca358..8c5918b8 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -728,10 +728,16 @@ function make() { # Check for Arc Patch ARCCONF="$(readConfigKey "${MODEL}.serial" "${S_FILE}")" ARCPATCH="$(readConfigKey "arc.patch" "${USER_CONFIG_FILE}")" - if [ -z "${ARCCONF}" ] && [ "${ARCPATCH}" == "true" ]; then + if [ -n "${ARCCONF}" ] && [ "${ARCPATCH}" == "true" ]; then + if readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q "sspatch"; then + writeConfigKey "addons.sspatch" "true" "${USER_CONFIG_FILE}" + fi + elif [ -z "${ARCCONF}" ] || [ "${ARCPATCH}" == "false" ]; then deleteConfigKey "addons.amepatch" "${USER_CONFIG_FILE}" deleteConfigKey "addons.arcdns" "${USER_CONFIG_FILE}" - deleteConfigKey "addons.sspatch" "${USER_CONFIG_FILE}" + if readConfigMap "addons" "${USER_CONFIG_FILE}" | grep -q "sspatch"; then + writeConfigKey "addons.sspatch" "false" "${USER_CONFIG_FILE}" + fi fi # Max Memory for DSM RAMCONFIG="$((${RAMTOTAL} * 1024 * 2))"