diff options
author | mb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-11-04 12:28:55 +0000 |
---|---|---|
committer | mb <mb@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-11-04 12:28:55 +0000 |
commit | d7522f1c22c7ec2cbdb09b8db88dd734c1e0cabf (patch) | |
tree | 8441b518d39ad18d7d478609bb77e85c5d754687 /include | |
parent | fc8259b34d7abf7102eb2f854edb8839edbcf2bb (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
Diffstat (limited to 'include')
-rw-r--r-- | include/package.mk | 6 |
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 $$@ |