base-files: pass "force" parameter to the "sysupgrade" call
authorRafał Miłecki <rafal@milecki.pl>
Tue, 3 Sep 2019 12:44:40 +0000 (14:44 +0200)
committerRISCi_ATOM <bob@bobcall.me>
Fri, 13 Sep 2019 20:19:38 +0000 (16:19 -0400)
This makes sysupgrade work with the most recent procd that validates
firmware before proceeding.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit b71962da16c2e2b93d633d7bde1436b3da2bf740)

package/base-files/files/sbin/sysupgrade

index 42f0f6bd22e85a62b28a90597ce9bce38b7e8e49..f106c3c981873d1d7628559ee0db173b364e3bc4 100755 (executable)
@@ -360,9 +360,12 @@ if [ -n "$FAILSAFE" ]; then
        printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade
        lock -u /tmp/.failsafe
 else
+       force_attr=""
+       [ $FORCE -eq 1 ] && force_attr="\"force\": true,"
        ubus call system sysupgrade "{
                \"prefix\": $(json_string "$RAM_ROOT"),
                \"path\": $(json_string "$IMAGE"),
+               $force_attr
                \"command\": $(json_string "$COMMAND"),
                \"options\": {
                        \"save_config\": $SAVE_CONFIG,