ruby: fix race conditions at install-ext

* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.
  target files need to depend on destination directory timestamp
  files, not phony trgets.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Acked-by: Cliff Brake <cbrake@bec-systems.com>
This commit is contained in:
Jackie Huang 2014-08-11 22:26:14 -04:00 committed by Cliff Brake
parent 80764fddc4
commit 8065dd8456
2 changed files with 32 additions and 0 deletions

View File

@ -0,0 +1,31 @@
Subject: [PATCH] mkmf.rb: fix race conditions at install-ext
Upstream-Status: backport
* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.
target files need to depend on destination directory timestamp
files, not phony trgets.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
---
lib/mkmf.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 556684c..a277354 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -2055,7 +2055,7 @@ static: $(STATIC_LIB)#{$extout ? " install-rb" : ""}
for f in files
dest = "#{dir}/#{File.basename(f)}"
mfile.print("install-rb#{sfx}: #{dest}\n")
- mfile.print("#{dest}: #{f}\n")
+ mfile.print("#{dest}: #{f} #{timestamp_file(dir)}\n")
mfile.print("\t$(Q) $(#{$extout ? 'COPY' : 'INSTALL_DATA'}) #{f} $(@D#{sep})\n")
if defined?($installed_list) and !$extout
mfile.print("\t@echo #{dest}>>$(INSTALLED_LIST)\n")
--
2.0.0

View File

@ -12,6 +12,7 @@ SRC_URI += "\
file://ruby-1.9.3-mkmf-verbose.patch \
file://ruby-1.9.3-install-cross.patch \
file://remove-the-dependency-on-dir.patch \
file://ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch \
"
SRC_URI[md5sum] = "993c72f7f805a9eb453f90b0b7fe0d2b"
SRC_URI[sha256sum] = "d192d1afc46a7ef27b9d0a3c7a67b509048984db2c38907aa82641bdf980acf4"