From 8ac550bde94f4b3b430e3060a7e42941e94df72e Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sun, 17 Sep 2017 16:16:55 +0100 Subject: [PATCH] init: recover from a failed upgrade --- packages/sysutils/busybox/scripts/init | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init index 56e8403d44..69170c6986 100755 --- a/packages/sysutils/busybox/scripts/init +++ b/packages/sysutils/busybox/scripts/init @@ -779,8 +779,16 @@ return 0 fi - # remove temporary folder if exist from previous run - rm -fr "$UPDATE_DIR/.tmp" &>/dev/null + if [ -d $UPDATE_DIR/.tmp ]; then + echo "Failed update detected - performing recovery." + echo "" + do_cleanup + StartProgress countdown "Normal startup in 10s... " 10 "NOW" + return 0 + fi + + mkdir -p $UPDATE_DIR/.tmp &>/dev/null + sync echo "UPGRADE IN PROGRESS" echo "" @@ -793,7 +801,6 @@ echo "Found new .tar archive" UPDATE_FILENAME="$UPDATE_TAR" StartProgress spinner "Extracting contents of archive... " - mkdir -p $UPDATE_DIR/.tmp &>/dev/null tar -xf "$UPDATE_TAR" -C $UPDATE_DIR/.tmp 1>/dev/null 2>/tmp/tarresult.txt || TARRESULT="1" if [ "${TARRESULT}" -eq "0" ]; then