From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 10 Jul 2017 10:35:19 +0200
Subject: base-files: upgrade: correctly handle nand_do_upgrade argument passed from preupgrade

Fixes: 30f61a34b4cf "base-files: always use staged sysupgrade"
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
index af7682c29e005c6ca47b91e9be2d60c359a90d05..6ccd84c5a95348124412adc8bf41d3fa4894435a 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/package/base-files/files/lib/upgrade/common.sh
@@ -222,7 +222,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
diff --git a/package/base-files/files/lib/upgrade/nand.sh b/package/base-files/files/lib/upgrade/nand.sh
index 1e69c8f9657b39adf2a2c33bd9bac9303bcbc3d7..72f0fe0e10312e74ce085ad53f0adceb921fd013 100644
--- a/package/base-files/files/lib/upgrade/nand.sh
+++ b/package/base-files/files/lib/upgrade/nand.sh
@@ -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