[source] build: remove stale .ipk files if package dir changes

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 8 01:52:52 PST 2016


nbd pushed a commit to source.git, branch master:
https://git.lede-project.org/64c386c5662e923d284b1c5b742cb72d7ad24671

commit 64c386c5662e923d284b1c5b742cb72d7ad24671
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Tue Nov 8 05:47:39 2016 +0100

    build: remove stale .ipk files if package dir changes
    
    If a package nonshared status is changed, a stale .ipk file might still
    be present in the old package directory. Remove the .ipk file from all
    package directories when building a new one (or explicitly running
    clean)
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 include/feeds.mk        | 4 ++++
 include/package-ipkg.mk | 4 ++--
 include/rootfs.mk       | 4 ----
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/include/feeds.mk b/include/feeds.mk
index c79c941..2ff57e5 100644
--- a/include/feeds.mk
+++ b/include/feeds.mk
@@ -25,6 +25,10 @@ endif
 
 PACKAGE_DIR_ALL := $(TOPDIR)/staging_dir/packages/$(BOARD)
 
+opkg_package_files = $(wildcard \
+	$(foreach dir,$(PACKAGE_SUBDIRS), \
+	  $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
+
 PKG_CONFIG_DEPENDS += \
 	CONFIG_PER_FEED_REPO \
 	CONFIG_PER_FEED_REPO_ADD_DISABLED \
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index c90eeb2..afd2d4e 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -175,7 +175,7 @@ $(_endef)
     $$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description)
     $$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG)
     $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk
-	@rm -rf $$(PDIR_$(1))/$(1)_* $$(IDIR_$(1))
+	@rm -rf $$(IDIR_$(1)) $$(call opkg_package_files,$(1))
 	mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR)
 	$(call Package/$(1)/install,$$(IDIR_$(1)))
 	-find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf
@@ -230,7 +230,7 @@ $(_endef)
 	@[ -f $$(IPKG_$(1)) ]
 
     $(1)-clean:
-	rm -f $$(PDIR_$(1))/$(1)_*
+	$$(if $$(call opkg_package_files,$(1)),rm -f $$(call opkg_package_files,$(1)))
 
     clean: $(1)-clean
 
diff --git a/include/rootfs.mk b/include/rootfs.mk
index b161721..90d70a1 100644
--- a/include/rootfs.mk
+++ b/include/rootfs.mk
@@ -45,10 +45,6 @@ opkg = \
 	--add-arch all:100 \
 	--add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200
 
-opkg_package_files = $(wildcard \
-	$(foreach dir,$(PACKAGE_SUBDIRS), \
-	  $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
-
 TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD)
 
 define prepare_rootfs



More information about the lede-commits mailing list