summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-04 12:28:55 +0000
committermb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-11-04 12:28:55 +0000
commitd7522f1c22c7ec2cbdb09b8db88dd734c1e0cabf (patch)
tree8441b518d39ad18d7d478609bb77e85c5d754687
parentfc8259b34d7abf7102eb2f854edb8839edbcf2bb (diff)
Lock copying of directory trees to the staging dir with the "staging-dir" lock. This lock probably has to be taken elsewhere, too.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23857 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--include/package.mk6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/package.mk b/include/package.mk
index 2d3a5d096..712b793d0 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -132,8 +132,10 @@ define Build/DefaultTargets
$(call $(hook),$(TMP_DIR)/stage-$(PKG_NAME),$(TMP_DIR)/stage-$(PKG_NAME)/host)$(sep)\
)
if [ -d $(TMP_DIR)/stage-$(PKG_NAME) ]; then \
- (cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(STAGING_DIR)/packages/$(STAGING_FILES_LIST)); \
- $(CP) $(TMP_DIR)/stage-$(PKG_NAME)/* $(STAGING_DIR)/; \
+ $(call locked, \
+ (cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(STAGING_DIR)/packages/$(STAGING_FILES_LIST)); \
+ $(CP) $(TMP_DIR)/stage-$(PKG_NAME)/* $(STAGING_DIR)/; \
+ ,staging-dir); \
fi
rm -rf $(TMP_DIR)/stage-$(PKG_NAME)
touch $$@