summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mladek <pmladek@suse.cz>2013-03-19 14:38:58 +0100
committerPetr Mladek <pmladek@suse.cz>2013-03-19 14:54:23 +0100
commit93024b55d2e7d7a4bfa71e7a21b309c2e5aac31f (patch)
tree2720d036f3db436d87a1381faae49c8895300392
parenta2d33e2d4cda5e2c4217403bfe94ec0b89d47202 (diff)
fix race condition when using hardlinks to deliver into solver
We need to use "touch --no-dereference" on the delivered files. Otherwise, it creates empty target file when you touch symlinks and delivering the real target file might fail. This caused many build failures when delivering: liblcms2.so -> liblcms2.so.2.0.4 liblcms2.so.2 -> liblcms2.so.2.0.4 liblcms2.so.2.0.4 Change-Id: Ibd61815c12e002b495e848a125a959b8524b0935
-rw-r--r--solenv/gbuild/Deliver.mk2
1 files changed, 1 insertions, 1 deletions
diff --git a/solenv/gbuild/Deliver.mk b/solenv/gbuild/Deliver.mk
index 0f257e5b9814..ab56dabe9113 100644
--- a/solenv/gbuild/Deliver.mk
+++ b/solenv/gbuild/Deliver.mk
@@ -60,7 +60,7 @@ endif
endef
define gb_Deliver__deliver
-$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch -r $(1) $(2)
+$(if $(gb_Deliver_CLEARONDELIVER),rm -f $(2) &&) $(if $(gb_Deliver_HARDLINK),ln,cp -P -f) $(1) $(2) && touch --no-dereference -r $(1) $(2)
endef
ifneq ($(strip $(gb_Deliver_GNUCOPY)),)