base-files: add support for restoring config from tmpfs
authorDaniel Golle <daniel@makrotopia.org>
Sat, 27 Feb 2021 22:21:09 +0000 (22:21 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Sun, 28 Feb 2021 00:09:09 +0000 (00:09 +0000)
Instead of only relying in /sysupgrade.tgz being present in rootfs to
restore configuration, also grab /tmp/sysupgrade.tar which may have
magically gotten there during preinit...

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/base-files/files/lib/preinit/80_mount_root

index 3f75411a4391c221d0fa00c7f1c0ef566642d14e..c3816c2cbfe11a1f4e2091f4e7ef5c6791f7d308 100644 (file)
@@ -17,11 +17,12 @@ missing_lines() {
 do_mount_root() {
        mount_root
        boot_run_hook preinit_mount_root
-       [ -f /sysupgrade.tgz ] && {
+       [ -f /sysupgrade.tgz -o -f /tmp/sysupgrade.tar ] && {
                echo "- config restore -"
                cp /etc/passwd /etc/group /etc/shadow /tmp
                cd /
-               tar xzf /sysupgrade.tgz
+               [ -f /sysupgrade.tgz ] && tar xzf /sysupgrade.tgz
+               [ -f /tmp/sysupgrade.tar ] && tar xf /tmp/sysupgrade.tar
                missing_lines /tmp/passwd /etc/passwd >> /etc/passwd
                missing_lines /tmp/group /etc/group >> /etc/group
                missing_lines /tmp/shadow /etc/shadow >> /etc/shadow