diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2019-07-03 09:51:49 +0200 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2019-07-11 17:05:20 +0200 |
commit | f7edd94a6588aa6a3e2e7a72410a34392a9fbe78 (patch) | |
tree | 9b684e7048a839e04819e663355b39d3c01c417f | |
parent | 087e14ab5994986802739b57e2de227760102bf4 (diff) | |
download | upstream-f7edd94a6588aa6a3e2e7a72410a34392a9fbe78.tar.gz upstream-f7edd94a6588aa6a3e2e7a72410a34392a9fbe78.tar.bz2 upstream-f7edd94a6588aa6a3e2e7a72410a34392a9fbe78.zip |
base-files: move stage2 upgrade to separated file
do_upgrade_stage2() isn't really any common code. It isn't used anywhere
except for /sbin/sysupgrade that passes it to the stage2.
Moving its code to separated file also simplifies COMMAND variable.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rw-r--r-- | package/base-files/files/lib/upgrade/common.sh | 22 | ||||
-rwxr-xr-x | package/base-files/files/lib/upgrade/do_stage2 | 25 | ||||
-rwxr-xr-x | package/base-files/files/lib/upgrade/stage2 | 2 | ||||
-rwxr-xr-x | package/base-files/files/sbin/sysupgrade | 2 |
4 files changed, 27 insertions, 24 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index a13a6aaf5a..2afa0addb4 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -225,25 +225,3 @@ default_do_upgrade() { fi [ $? -ne 0 ] && exit 1 } - -do_upgrade_stage2() { - v "Performing system upgrade..." - if type 'platform_do_upgrade' >/dev/null 2>/dev/null; then - platform_do_upgrade "$IMAGE" - else - default_do_upgrade "$IMAGE" - fi - - if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then - platform_copy_config - fi - - v "Upgrade completed" - sleep 1 - - v "Rebooting system..." - umount -a - reboot -f - sleep 5 - echo b 2>/dev/null >/proc/sysrq-trigger -} diff --git a/package/base-files/files/lib/upgrade/do_stage2 b/package/base-files/files/lib/upgrade/do_stage2 new file mode 100755 index 0000000000..8aae452560 --- /dev/null +++ b/package/base-files/files/lib/upgrade/do_stage2 @@ -0,0 +1,25 @@ +#!/bin/sh + +. /lib/functions.sh + +include /lib/upgrade + +v "Performing system upgrade..." +if type 'platform_do_upgrade' >/dev/null 2>/dev/null; then + platform_do_upgrade "$IMAGE" +else + default_do_upgrade "$IMAGE" +fi + +if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 2>/dev/null; then + platform_copy_config +fi + +v "Upgrade completed" +sleep 1 + +v "Rebooting system..." +umount -a +reboot -f +sleep 5 +echo b 2>/dev/null >/proc/sysrq-trigger diff --git a/package/base-files/files/lib/upgrade/stage2 b/package/base-files/files/lib/upgrade/stage2 index 05d9214377..0a11cb2005 100755 --- a/package/base-files/files/lib/upgrade/stage2 +++ b/package/base-files/files/lib/upgrade/stage2 @@ -59,7 +59,7 @@ switch_to_ramfs() { local file="$(which "$binary" 2>/dev/null)" [ -n "$file" ] && install_bin "$file" done - install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh $RAMFS_COPY_DATA + install_file /etc/resolv.conf /lib/*.sh /lib/functions/*.sh /lib/upgrade/*.sh /lib/upgrade/do_stage2 $RAMFS_COPY_DATA [ -L "/lib64" ] && ln -s /lib $RAM_ROOT/lib64 diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade index 54d7a64b48..73291262e7 100755 --- a/package/base-files/files/sbin/sysupgrade +++ b/package/base-files/files/sbin/sysupgrade @@ -363,7 +363,7 @@ fi install_bin /sbin/upgraded v "Commencing upgrade. Closing all shell sessions." -COMMAND='. /lib/functions.sh; include /lib/upgrade; do_upgrade_stage2' +COMMAND='/lib/upgrade/do_stage2' if [ -n "$FAILSAFE" ]; then printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade |