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 fc59bf2..c8b7101 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 6b2bdba..563db4c 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