Workaround "an invalid stdio handle" error on PPC (rhbz#1361037).
This commit is contained in:
parent
b1466a4c8f
commit
7684b6800d
119
ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
Normal file
119
ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
From 346e147ba6480839b87046e9a9efab0bf6ed3660 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
|
||||||
|
Date: Wed, 10 Aug 2016 17:35:48 +0200
|
||||||
|
Subject: [PATCH] Rely on ldd to detect glibc.
|
||||||
|
|
||||||
|
This is just workaround, since we know we are quite sure this will be successful
|
||||||
|
on Red Hat platforms.
|
||||||
|
|
||||||
|
This workaround rhbz#1361037
|
||||||
|
---
|
||||||
|
test/fiddle/helper.rb | 92 ---------------------------------------------------
|
||||||
|
1 file changed, 92 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
|
||||||
|
index 1da3d93..65148a1 100644
|
||||||
|
--- a/test/fiddle/helper.rb
|
||||||
|
+++ b/test/fiddle/helper.rb
|
||||||
|
@@ -6,98 +6,6 @@
|
||||||
|
|
||||||
|
libc_so = libm_so = nil
|
||||||
|
|
||||||
|
-case RUBY_PLATFORM
|
||||||
|
-when /cygwin/
|
||||||
|
- libc_so = "cygwin1.dll"
|
||||||
|
- libm_so = "cygwin1.dll"
|
||||||
|
-when /x86_64-linux/
|
||||||
|
- libc_so = "/lib64/libc.so.6"
|
||||||
|
- libm_so = "/lib64/libm.so.6"
|
||||||
|
-when /linux/
|
||||||
|
- libdir = '/lib'
|
||||||
|
- case [0].pack('L!').size
|
||||||
|
- when 4
|
||||||
|
- # 32-bit ruby
|
||||||
|
- libdir = '/lib32' if File.directory? '/lib32'
|
||||||
|
- when 8
|
||||||
|
- # 64-bit ruby
|
||||||
|
- libdir = '/lib64' if File.directory? '/lib64'
|
||||||
|
- end
|
||||||
|
- libc_so = File.join(libdir, "libc.so.6")
|
||||||
|
- libm_so = File.join(libdir, "libm.so.6")
|
||||||
|
-when /mingw/, /mswin/
|
||||||
|
- require "rbconfig"
|
||||||
|
- crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase'
|
||||||
|
- libc_so = libm_so = "#{crtname}.dll"
|
||||||
|
-when /darwin/
|
||||||
|
- libc_so = "/usr/lib/libc.dylib"
|
||||||
|
- libm_so = "/usr/lib/libm.dylib"
|
||||||
|
-when /kfreebsd/
|
||||||
|
- libc_so = "/lib/libc.so.0.1"
|
||||||
|
- libm_so = "/lib/libm.so.1"
|
||||||
|
-when /gnu/ #GNU/Hurd
|
||||||
|
- libc_so = "/lib/libc.so.0.3"
|
||||||
|
- libm_so = "/lib/libm.so.6"
|
||||||
|
-when /mirbsd/
|
||||||
|
- libc_so = "/usr/lib/libc.so.41.10"
|
||||||
|
- libm_so = "/usr/lib/libm.so.7.0"
|
||||||
|
-when /freebsd/
|
||||||
|
- libc_so = "/lib/libc.so.7"
|
||||||
|
- libm_so = "/lib/libm.so.5"
|
||||||
|
-when /bsd|dragonfly/
|
||||||
|
- libc_so = "/usr/lib/libc.so"
|
||||||
|
- libm_so = "/usr/lib/libm.so"
|
||||||
|
-when /solaris/
|
||||||
|
- libdir = '/lib'
|
||||||
|
- case [0].pack('L!').size
|
||||||
|
- when 4
|
||||||
|
- # 32-bit ruby
|
||||||
|
- libdir = '/lib' if File.directory? '/lib'
|
||||||
|
- when 8
|
||||||
|
- # 64-bit ruby
|
||||||
|
- libdir = '/lib/64' if File.directory? '/lib/64'
|
||||||
|
- end
|
||||||
|
- libc_so = File.join(libdir, "libc.so")
|
||||||
|
- libm_so = File.join(libdir, "libm.so")
|
||||||
|
-when /aix/
|
||||||
|
- pwd=Dir.pwd
|
||||||
|
- libc_so = libm_so = "#{pwd}/libaixdltest.so"
|
||||||
|
- unless File.exist? libc_so
|
||||||
|
- cobjs=%w!strcpy.o!
|
||||||
|
- mobjs=%w!floats.o sin.o!
|
||||||
|
- funcs=%w!sin sinf strcpy strncpy!
|
||||||
|
- expfile='dltest.exp'
|
||||||
|
- require 'tmpdir'
|
||||||
|
- Dir.mktmpdir do |dir|
|
||||||
|
- begin
|
||||||
|
- Dir.chdir dir
|
||||||
|
- %x!/usr/bin/ar x /usr/lib/libc.a #{cobjs.join(' ')}!
|
||||||
|
- %x!/usr/bin/ar x /usr/lib/libm.a #{mobjs.join(' ')}!
|
||||||
|
- %x!echo "#{funcs.join("\n")}\n" > #{expfile}!
|
||||||
|
- require 'rbconfig'
|
||||||
|
- if RbConfig::CONFIG["GCC"] = 'yes'
|
||||||
|
- lflag='-Wl,'
|
||||||
|
- else
|
||||||
|
- lflag=''
|
||||||
|
- end
|
||||||
|
- flags="#{lflag}-bE:#{expfile} #{lflag}-bnoentry -lm"
|
||||||
|
- %x!#{RbConfig::CONFIG["LDSHARED"]} -o #{libc_so} #{(cobjs+mobjs).join(' ')} #{flags}!
|
||||||
|
- ensure
|
||||||
|
- Dir.chdir pwd
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
- end
|
||||||
|
-else
|
||||||
|
- libc_so = ARGV[0] if ARGV[0] && ARGV[0][0] == ?/
|
||||||
|
- libm_so = ARGV[1] if ARGV[1] && ARGV[1][0] == ?/
|
||||||
|
- if( !(libc_so && libm_so) )
|
||||||
|
- $stderr.puts("libc and libm not found: #{$0} <libc> <libm>")
|
||||||
|
- end
|
||||||
|
-end
|
||||||
|
-
|
||||||
|
-libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so))
|
||||||
|
-libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so))
|
||||||
|
-
|
||||||
|
if !libc_so || !libm_so
|
||||||
|
ruby = EnvUtil.rubybin
|
||||||
|
ldd = `ldd #{ruby}`
|
||||||
|
--
|
||||||
|
2.9.2
|
||||||
|
|
10
ruby.spec
10
ruby.spec
@ -21,7 +21,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%global release 57
|
%global release 58
|
||||||
%{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
|
%{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
|
||||||
|
|
||||||
# The RubyGems library has to stay out of Ruby directory three, since the
|
# The RubyGems library has to stay out of Ruby directory three, since the
|
||||||
@ -125,6 +125,10 @@ Patch7: ruby-2.2.3-Generate-preludes-using-miniruby.patch
|
|||||||
# Prevent test failures on ARM.
|
# Prevent test failures on ARM.
|
||||||
# https://bugs.ruby-lang.org/issues/12331
|
# https://bugs.ruby-lang.org/issues/12331
|
||||||
Patch8: ruby-2.4.0-increase-timeout-for-ARMv7.patch
|
Patch8: ruby-2.4.0-increase-timeout-for-ARMv7.patch
|
||||||
|
# Workaround "an invalid stdio handle" error on PPC, due to recently introduced
|
||||||
|
# hardening features of glibc (rhbz#1361037).
|
||||||
|
# https://bugs.ruby-lang.org/issues/12666
|
||||||
|
Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
|
||||||
|
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
Suggests: rubypick
|
Suggests: rubypick
|
||||||
@ -473,6 +477,7 @@ rm -rf ext/fiddle/libffi*
|
|||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch7 -p1
|
%patch7 -p1
|
||||||
%patch8 -p1
|
%patch8 -p1
|
||||||
|
%patch9 -p1
|
||||||
|
|
||||||
# Provide an example of usage of the tapset:
|
# Provide an example of usage of the tapset:
|
||||||
cp -a %{SOURCE3} .
|
cp -a %{SOURCE3} .
|
||||||
@ -958,6 +963,9 @@ make check TESTS="-v $DISABLE_TESTS"
|
|||||||
%{ruby_libdir}/tkextlib
|
%{ruby_libdir}/tkextlib
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 10 2016 Vít Ondruch <vondruch@redhat.com> - 2.3.1-58
|
||||||
|
- Workaround "an invalid stdio handle" error on PPC (rhbz#1361037).
|
||||||
|
|
||||||
* Tue Jul 12 2016 Vít Ondruch <vondruch@redhat.com> - 2.3.1-57
|
* Tue Jul 12 2016 Vít Ondruch <vondruch@redhat.com> - 2.3.1-57
|
||||||
- Make symlinks for json gem.
|
- Make symlinks for json gem.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user