summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-02 19:01:09 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-02 19:01:09 +0000
commit8e7e55ae9d68f1deb619b2c46beec321a54078b0 (patch)
treefe55872f49955a43af3db3acd80f6a709b98397a
parenta1d288086fd7cd9b3835343073ce2d627bb6f56b (diff)
build: when staging unstripped package files, install them to a temporary directory first to work around file overwrite issues in packages like asterisk
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17477 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--include/package-ipkg.mk8
1 files changed, 5 insertions, 3 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 904bbd75af..4409f239ae 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -59,9 +59,11 @@ ifeq ($(DUMP),)
$(eval $(call BuildIPKGVariable,$(1),postrm))
$(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(STAMP_BUILT)
- mkdir -p $(STAGING_DIR_ROOT)/stamp
- $(call Package/$(1)/install,$(STAGING_DIR_ROOT))
- $(call Package/$(1)/install_lib,$(STAGING_DIR_ROOT))
+ mkdir -p $(STAGING_DIR_ROOT)/stamp $(STAGING_DIR_ROOT)/tmp-$(1)
+ $(call Package/$(1)/install,$(STAGING_DIR_ROOT)/tmp-$(1))
+ $(call Package/$(1)/install_lib,$(STAGING_DIR_ROOT)/tmp-$(1))
+ $(CP) $(STAGING_DIR_ROOT)/tmp-$(1)/* $(STAGING_DIR_ROOT)/
+ rm -rf $(STAGING_DIR_ROOT)/tmp-$(1)
touch $$@
$$(IPKG_$(1)): $(STAGING_DIR)/etc/ipkg.conf $(STAMP_BUILT)