From: Rafał Miłecki <ra...@milecki.pl>

Disabled services should be kept disabled after sysupgrade. This can be
easily handled using a proper uci-defaults script.

Extend sysupgrade to check for disabled services, generate uci-defaults
script disabling them and include it in backup.

Cc: Christian Marangi <ansuels...@gmail.com>
Cc: Jo-Philipp Wich <j...@mein.io>
Cc: Jonas Gorski <jonas.gor...@gmail.com>
Signed-off-by: Rafał Miłecki <ra...@milecki.pl>
---
 package/base-files/files/sbin/sysupgrade | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/package/base-files/files/sbin/sysupgrade 
b/package/base-files/files/sbin/sysupgrade
index 9d5d736aef..8c6200d7e9 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -236,6 +236,7 @@ include /lib/upgrade
 
 create_backup_archive() {
        local conf_tar="$1"
+       local disabled
 
        [ "$(rootfs_type)" = "tmpfs" ] && {
                echo "Cannot save config while running from ramdisk." >&2
@@ -250,6 +251,14 @@ create_backup_archive() {
        [ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V=""
        sed -i -e 's,^/,,' "$CONFFILES"
        {
+               for service in /etc/init.d/*; do
+                       if ! $service enabled; then
+                               disabled="$disabled$service disable\n"
+                       fi
+               done
+               disabled="$disabled\nexit 0"
+               tar_make_member_inline "/etc/uci-defaults/10_disable_services" 
"$(echo -e $disabled)"
+
                # Part of archive with installed packages info
                if [ "$SAVE_INSTALLED_PKGS" -eq 1 ]; then
                        # Format: pkg-name<TAB>{rom,overlay,unknown}
-- 
2.35.3


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to