base-files: sysupgrade: add function for conffiles retrieval
[openwrt/openwrt.git] / package / base-files / files / sbin / sysupgrade
index 3300d8e1ea559c5e2e696876c5f500a89c4f97e7..7977b06ef18e9f3c10b6327bb233d9b3fc6602ac 100755 (executable)
@@ -131,12 +131,19 @@ list_changed_conffiles() {
        done
 }
 
+list_static_conffiles() {
+       local filter=$1
+
+       find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
+               /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
+               \( -type f -o -type l \) $filter 2>/dev/null
+}
+
 add_conffiles() {
        local file="$1"
-       ( find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
-               /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
-               \( -type f -o -type l \) $find_filter 2>/dev/null;
-         list_changed_conffiles ) | sort -u > "$file"
+
+       ( list_static_conffiles "$find_filter"; list_changed_conffiles ) |
+               sort -u > "$file"
        return 0
 }
 
@@ -154,9 +161,7 @@ add_overlayfiles() {
 
                # backup files from /etc/sysupgrade.conf and /lib/upgrade/keep.d, but
                # ignore those aready controlled by opkg conffiles
-               find $(sed -ne '/^[[:space:]]*$/d; /^#/d; p' \
-                       /etc/sysupgrade.conf /lib/upgrade/keep.d/* 2>/dev/null) \
-                       \( -type f -o -type l \) 2>/dev/null | sort -u |
+               list_static_conffiles | sort -u |
                        grep -h -v -x -F -f $conffiles > "$keepfiles"
 
                # backup conffiles, but only those changed if '-u'