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>
This commit is contained in:
Jackie Huang 2014-08-11 22:26:14 -04:00 committed by Martin Jansa
parent ec2c365c40
commit efea141c6e
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

@ -11,6 +11,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] = "7531f9b1b35b16f3eb3d7bea786babfd"
SRC_URI[sha256sum] = "9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7ae57a1"