base-files: Reintroduce sysupgrade_pre_upgrade hook
authorSven Eckelmann <sven.eckelmann@openmesh.com>
Mon, 1 Oct 2018 09:48:04 +0000 (11:48 +0200)
committerMathias Kresin <dev@kresin.me>
Sun, 7 Oct 2018 14:42:05 +0000 (16:42 +0200)
The sysupgrade_pre_upgrade hook was removed with 6a27c2f4b1a4 ("base-files:
drop fwtool_pre_upgrade") while there were still scripts using it:

* target/linux/ar71xx/base-files/lib/upgrade/allnet.sh
* target/linux/ar71xx/base-files/lib/upgrade/openmesh.sh
* target/linux/ipq40xx/base-files/lib/upgrade/openmesh.sh

Not running the hooks can either prevent a successful upgrade or brick the
device because the fw_setenv program cannot be started correctly.

Fixes: 6a27c2f4b1a4 ("base-files: drop fwtool_pre_upgrade")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
package/base-files/files/sbin/sysupgrade

index a378b02..2f579fb 100755 (executable)
@@ -137,6 +137,7 @@ add_overlayfiles() {
 
 # hooks
 sysupgrade_image_check="fwtool_check_image platform_check_image"
+sysupgrade_pre_upgrade=""
 
 if [ $SAVE_OVERLAY = 1 ]; then
        [ ! -d /overlay/upper/etc ] && {
@@ -263,6 +264,8 @@ else
        rm -f /tmp/sysupgrade.always.overwrite.bootdisk.partmap
 fi
 
+run_hooks "" $sysupgrade_pre_upgrade
+
 install_bin /sbin/upgraded
 v "Commencing upgrade. Closing all shell sessions."