diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-03-06 14:29:46 +0100 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2018-03-07 09:58:50 +0100 |
commit | 6ab50bb10ded770f023e14d63cac2522076f9daf (patch) | |
tree | e30446a4f6bdf6f802427afd6b81f87b94e766ff /include | |
parent | d2daaf8f4002aa240d5657810d90b4eef929f8b3 (diff) | |
download | openwrt-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.mk | 9 |
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 |