base-files: upgrade: correctly handle nand_do_upgrade argument passed from preupgrade
authorMatthias Schiffer <mschiffer@universe-factory.net>
Mon, 10 Jul 2017 08:35:19 +0000 (10:35 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Tue, 11 Jul 2017 15:19:23 +0000 (17:19 +0200)
Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
package/base-files/files/lib/upgrade/common.sh
package/base-files/files/lib/upgrade/nand.sh

index fc59bf2323498d332159b00eb7ab443bfe6b147e..c8b71015c2e44210696a4e28a5b7babbd0233184 100644 (file)
@@ -211,7 +211,7 @@ default_do_upgrade() {
 do_upgrade_stage2() {
        v "Performing system upgrade..."
        if [ -n "$do_upgrade" ]; then
-               $do_upgrade "$IMAGE"
+               eval "$do_upgrade"
        elif type 'platform_do_upgrade' >/dev/null 2>/dev/null; then
                platform_do_upgrade "$IMAGE"
        else
index 6b2bdba256c7238e6c22e8f2ff071cf534178a08..563db4c320ef24d9008be7015b57fedcf5a1498b 100644 (file)
@@ -289,7 +289,7 @@ nand_do_upgrade() {
                # hook; this piece of code handles scripts that haven't been
                # updated. All scripts should gradually move to call nand_do_upgrade
                # from platform_do_upgrade instead.
-               export do_upgrade=nand_do_upgrade
+               export do_upgrade="nand_do_upgrade '$1'"
                return
        fi