]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
base-files: sysupgrade: avoid cat missing conffiles_static 22071/head
authorNick Hainke <vincent@systemli.org>
Tue, 17 Feb 2026 23:42:43 +0000 (00:42 +0100)
committerRobert Marko <robimarko@gmail.com>
Thu, 19 Mar 2026 16:50:12 +0000 (17:50 +0100)
If the user removes all /lib/apk/packages/*.conffiles* files to prevent
sysupgrade from preserving configuration, the glob no longer matches and
sysupgrade ends up calling cat on a non-existent path:

  cat: can't open '/lib/apk/packages/*.conffiles_static': No such file or directory

Fix this by using find cmd.

Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/22071
Signed-off-by: Robert Marko <robimarko@gmail.com>
package/base-files/files/sbin/sysupgrade

index 307ea6ac344dc27cf5ac01132888450e4fc6df43..88e154e39efa88a960f051de015f7c6ce3c9be62 100755 (executable)
@@ -146,7 +146,7 @@ list_conffiles() {
                ' /usr/lib/opkg/status
        elif [ -d /lib/apk/packages ]; then
                conffiles=""
-               for file in /lib/apk/packages/*.conffiles_static; do
+               for file in $(find /lib/apk/packages -name "*.conffiles_static" -type f); do
                        conffiles="$(echo -e "$(cat $file)\n$conffiles")"
                done
                echo "$conffiles"