aboutsummaryrefslogtreecommitdiffstats
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 10:03:20 +0100
commit75be005e8bdcbf86f9ad167a8737126dda98a444 (patch)
treecb604b846deeedcd3fd540e68b37498c85881270 /include
parent696c6325a3a70b8160d064473bd12421cc4da186 (diff)
downloadupstream-75be005e8bdcbf86f9ad167a8737126dda98a444.tar.gz
upstream-75be005e8bdcbf86f9ad167a8737126dda98a444.tar.bz2
upstream-75be005e8bdcbf86f9ad167a8737126dda98a444.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 dc400a05ed..816f17b80d 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