From: Felix Fietkau Date: Tue, 8 Nov 2016 04:47:39 +0000 (+0100) Subject: build: remove stale .ipk files if package dir changes X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=64c386c5662e923d284b1c5b742cb72d7ad24671;p=openwrt%2Fstaging%2Fyousong.git 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 --- diff --git a/include/feeds.mk b/include/feeds.mk index c79c941ffa..2ff57e5762 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 c90eeb2b46..afd2d4ef7a 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 b1617215a3..90d70a11f2 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