From c2f679962ddf7f6545adacfcf3068370825c43a9 Mon Sep 17 00:00:00 2001 From: Xiang W Date: Tue, 5 Dec 2023 04:48:19 +0800 Subject: [PATCH] luci-lib-nixio: Fix add_luci_conffiles adding duplicate files (#6568) * luci-lib-nixio: Fix add_luci_conffiles adding duplicate files add_luci_conffiles does not check whether the file already exists when adding the file, which may result in redundant backups in the sysupgrade backup. Signed-off-by: Xiang W --- .../root/lib/upgrade/luci-add-conffiles.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/libs/luci-lib-nixio/root/lib/upgrade/luci-add-conffiles.sh b/libs/luci-lib-nixio/root/lib/upgrade/luci-add-conffiles.sh index 77399b9872..d5117f9d89 100644 --- a/libs/luci-lib-nixio/root/lib/upgrade/luci-add-conffiles.sh +++ b/libs/luci-lib-nixio/root/lib/upgrade/luci-add-conffiles.sh @@ -1,15 +1,26 @@ add_luci_conffiles() { + add_luci_conffiles_helper() + { + [ ! -f "$1" ] && return + grep -q "$1" "$2" && return + echo "$1" >> "$2" + } + local filelist="$1" # save ssl certs if [ -d /etc/nixio ]; then - find /etc/nixio -type f >> $filelist + find /etc/nixio -type f | while read ff; do + add_luci_conffiles_helper "$ff" "$filelist" + done fi # save uhttpd certs - [ -f "/etc/uhttpd.key" ] && echo /etc/uhttpd.key >> $filelist - [ -f "/etc/uhttpd.crt" ] && echo /etc/uhttpd.crt >> $filelist + add_luci_conffiles_helper /etc/uhttpd.key "$filelist" + add_luci_conffiles_helper /etc/uhttpd.crt "$filelist" + + unset -f add_luci_conffiles_helper } sysupgrade_init_conffiles="$sysupgrade_init_conffiles add_luci_conffiles" -- 2.30.2