aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-11-08 05:47:39 +0100
committerFelix Fietkau <nbd@nbd.name>2016-11-08 10:49:51 +0100
commit64c386c5662e923d284b1c5b742cb72d7ad24671 (patch)
tree9bf3a4048503b37729b0c390e618069d2d22357f
parent7ee661def6da779917ef405e04eb7eb4230ebb0a (diff)
downloadupstream-64c386c5662e923d284b1c5b742cb72d7ad24671.tar.gz
upstream-64c386c5662e923d284b1c5b742cb72d7ad24671.tar.bz2
upstream-64c386c5662e923d284b1c5b742cb72d7ad24671.zip
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@nbd.name>
-rw-r--r--include/feeds.mk4
-rw-r--r--include/package-ipkg.mk4
-rw-r--r--include/rootfs.mk4
3 files changed, 6 insertions, 6 deletions
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