base-files: validate firmware for compatibility with backup
authorRafał Miłecki <rafal@milecki.pl>
Thu, 5 Sep 2019 11:08:13 +0000 (13:08 +0200)
committerRISCi_ATOM <bob@bobcall.me>
Fri, 13 Sep 2019 20:31:21 +0000 (16:31 -0400)
This allows platform code to check if firmware image can be used with
preserving a backup. It may be used e.g. when installing vendor
firmwares that won't restore appended backup archive.

Suggested-by: Luis Araneda <luaraneda@gmail.com>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 1c510fe2980cd787602786e82f44602549d607d4)

package/base-files/files/usr/libexec/validate_firmware_image

index a07796c9dc91d5654979f262fc4d51ec42297755..f85fb9e4b4352022a6ddf108e9adabdb8f57ea71 100755 (executable)
@@ -8,6 +8,7 @@ include /lib/upgrade
 
 VALID=1
 FORCEABLE=1
+ALLOW_BACKUP=1
 
 # Mark image as invalid but still possible to install
 notify_firmware_invalid() {
@@ -20,6 +21,11 @@ notify_firmware_broken() {
        FORCEABLE=0
 }
 
+# Mark image as incompatible with preserving a backup
+notify_firmware_no_backup() {
+       ALLOW_BACKUP=0
+}
+
 # Add result of validation test
 notify_firmware_test_result() {
        local old_ns
@@ -55,5 +61,6 @@ json_init
        json_close_object
        json_add_boolean valid "$VALID"
        json_add_boolean forceable "$FORCEABLE"
+       json_add_boolean allow_backup "$ALLOW_BACKUP"
 json_dump -i
 json_set_namespace $old_ns