ruby: fix race conditions at install-ext
authorJackie Huang <jackie.huang@windriver.com>
Tue, 12 Aug 2014 02:26:14 +0000 (22:26 -0400)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:41:33 +0000 (08:41 -0800)
* lib/mkmf.rb (create_makefile): fix race conditions at install-ext.
  target files need to depend on destination directory timestamp
  files, not phony trgets.

(From meta-openembedded rev: efea141c6e6e44ca48f3837e5c3383ccfe9ba247)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-openembedded/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch [new file with mode: 0644]
meta-openembedded/meta-ruby/recipes-devtools/ruby/ruby_1.9.3-p547.bb

diff --git a/meta-openembedded/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch b/meta-openembedded/meta-ruby/recipes-devtools/ruby/ruby/ruby-mkmf.rb-fix-race-conditions-at-install-ext.patch
new file mode 100644 (file)
index 0000000..5ac5d54
--- /dev/null
@@ -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
+
index 24bacdc..2d5938f 100644 (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"