summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2018-03-06 14:29:46 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2018-03-07 09:58:50 +0100
commit6ab50bb10ded770f023e14d63cac2522076f9daf (patch)
treee30446a4f6bdf6f802427afd6b81f87b94e766ff /include
parentd2daaf8f4002aa240d5657810d90b4eef929f8b3 (diff)
downloadopenwrt-6ab50bb10ded770f023e14d63cac2522076f9daf.tar.gz
openwrt-6ab50bb10ded770f023e14d63cac2522076f9daf.tar.bz2
openwrt-6ab50bb10ded770f023e14d63cac2522076f9daf.zip
include/rootfs.mk: retain list of conffiles with CONFIG_CLEAN_IPKG
/usr/lib/opkg/status must not be removed completely, otherwise the packages' conffile lists will be missing. Replace it with a reduced version only containing the conffile entries. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Diffstat (limited to 'include')
-rw-r--r--include/rootfs.mk9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/rootfs.mk b/include/rootfs.mk
index 541b54b451..a3a08c2851 100644
--- a/include/rootfs.mk
+++ b/include/rootfs.mk
@@ -49,8 +49,15 @@ TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD)
ifdef CONFIG_CLEAN_IPKG
define clean_ipkg
- -find $(1)/usr/lib/opkg -type f -and -not -name '*.control' | $(XARGS) rm -rf
+ -find $(1)/usr/lib/opkg/info -type f -and -not -name '*.control' | $(XARGS) rm -rf
-sed -i -ne '/^Require-User: /p' $(1)/usr/lib/opkg/info/*.control
+ awk ' \
+ BEGIN { conffiles = 0; print "Conffiles:" } \
+ /^Conffiles:/ { conffiles = 1; next } \
+ !/^ / { conffiles = 0; next } \
+ conffiles == 1 { print } \
+ ' $(1)/usr/lib/opkg/status >$(1)/usr/lib/opkg/status.new
+ mv $(1)/usr/lib/opkg/status.new $(1)/usr/lib/opkg/status
-find $(1)/usr/lib/opkg -empty | $(XARGS) rm -rf
endef
endif