Upgrade to Ruby 2.7.0.

This is SRPM import. The evolution of this commit is preserved in
private-ruby-2.7 branch.
This commit is contained in:
Vít Ondruch 2020-01-15 16:26:13 +01:00
parent 04b63f48ea
commit 3696d7be37
17 changed files with 322 additions and 365 deletions

View File

@ -1,8 +0,0 @@
if defined?(Gem)
require 'rubygems.rb'
begin
require 'abrt'
rescue LoadError
end
end

View File

@ -32,16 +32,6 @@ gem install \\\
%{nil} %{nil}
# For rubygems packages we want to filter out any provides caused by private
# libs in %%{gem_archdir}.
#
# Note that this must be invoked in the spec file, preferably as
# "%{?rubygems_default_filter}", before any %description block.
%rubygems_default_filter %{expand: \
%global __provides_exclude_from %{?__provides_exclude_from:%{__provides_exclude_from}|}^%{gem_extdir_mri}/.*\\\\.so$ \
}
# The 'read' command in %%gemspec_* macros is not essential, but it is usefull # The 'read' command in %%gemspec_* macros is not essential, but it is usefull
# to make the sript appear in build log. # to make the sript appear in build log.

View File

@ -11,7 +11,7 @@ diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index 682eb46..e6b1445 100644 index 682eb46..e6b1445 100644
--- a/lib/mkmf.rb --- a/lib/mkmf.rb
+++ b/lib/mkmf.rb +++ b/lib/mkmf.rb
@@ -1911,7 +1911,7 @@ def configuration(srcdir) @@ -1930,7 +1930,7 @@ def configuration(srcdir)
SHELL = /bin/sh SHELL = /bin/sh
# V=0 quiet, V=1 verbose. other values don't work. # V=0 quiet, V=1 verbose. other values don't work.

View File

@ -1,58 +0,0 @@
From 996012f6abe0ce4d68a2de9f249935c6d5b467bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Fri, 4 Oct 2013 22:13:11 +0200
Subject: [PATCH] Allow to specify addition preludes by configuration option.
---
Makefile.in | 2 ++
common.mk | 2 +-
configure.ac | 7 +++++++
3 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/Makefile.in b/Makefile.in
index 7e8ed82..7916993 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -154,6 +154,8 @@ BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
COROUTINE_H = @X_FIBER_COROUTINE_H@
COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEXT@)
+OPTIONAL_PRELUDES = @OPTIONAL_PRELUDES@
+
#### End of system configuration section. ####
MAJOR= @MAJOR@
diff --git a/common.mk b/common.mk
index 5cfbc3d..3f0a82e 100644
--- a/common.mk
+++ b/common.mk
@@ -156,7 +156,7 @@ ALLOBJS = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS)
GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
DEFAULT_PRELUDES = $(GEM_PRELUDE)
-PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES)
+PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES) $(OPTIONAL_PRELUDES)
GEM_PRELUDE = $(srcdir)/gem_prelude.rb
PRELUDES = {$(srcdir)}prelude.c {$(srcdir)}miniprelude.c
GOLFPRELUDES = {$(srcdir)}golf_prelude.c
diff --git a/configure.ac b/configure.ac
index 028ef7ca3e..cdeff87871 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3855,6 +3855,13 @@ AC_SUBST(rubyarchhdrdir)dnl
AC_SUBST(sitearchhdrdir)dnl
AC_SUBST(vendorarchhdrdir)dnl
+AC_ARG_WITH(prelude,
+ AS_HELP_STRING([--with-prelude=FILE-LIST], [specify additional preludes separated by space]),
+ [prelude=$withval])
+if test "$prelude" != ""; then
+ AC_SUBST(OPTIONAL_PRELUDES, $prelude)
+fi
+
AC_ARG_WITH(mantype,
AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]),
[
--
1.8.3.1

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Allow to configure libruby.so placement.
1 file changed, 5 insertions(+) 1 file changed, 5 insertions(+)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 11fc237552..b77e88fc37 100644 index d261ea57b5..3c13076b82 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -3085,6 +3085,11 @@ AS_IF([test ${multiarch+set}], [ @@ -3102,6 +3102,11 @@ AS_IF([test ${multiarch+set}], [
]) ])
archlibdir='${libdir}/${arch}' archlibdir='${libdir}/${arch}'
@ -24,5 +24,5 @@ index 11fc237552..b77e88fc37 100644
archincludedir='${includedir}/${arch}' archincludedir='${includedir}/${arch}'
sitearchincludedir='${includedir}/${sitearch}' sitearchincludedir='${includedir}/${sitearch}'
-- --
1.8.3.1 2.22.0

View File

@ -11,10 +11,10 @@ Subject: [PATCH] Prevent duplicated paths when empty version string is
3 files changed, 15 insertions(+), 2 deletions(-) 3 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 999e2d6d5d..11fc237552 100644 index c42436c23d..d261ea57b5 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -3710,7 +3710,8 @@ AS_CASE(["$ruby_version_dir_name"], @@ -3740,7 +3740,8 @@ AS_CASE(["$ruby_version_dir_name"],
ruby_version_dir=/'${ruby_version_dir_name}' ruby_version_dir=/'${ruby_version_dir_name}'
if test -z "${ruby_version_dir_name}"; then if test -z "${ruby_version_dir_name}"; then

View File

@ -8,10 +8,10 @@ Subject: [PATCH] Always use i386.
1 file changed, 2 insertions(+) 1 file changed, 2 insertions(+)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index b77e88fc37..6bba453e3c 100644 index 3c13076b82..93af30321d 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -3774,6 +3774,8 @@ AC_SUBST(vendorarchdir)dnl @@ -3804,6 +3804,8 @@ AC_SUBST(vendorarchdir)dnl
AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl
AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl

View File

@ -12,10 +12,10 @@ Subject: [PATCH] Allow to install RubyGems into custom location, outside of
4 files changed, 22 insertions(+) 4 files changed, 22 insertions(+)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 6bba453e3c..028ef7ca3e 100644 index 93af30321d..bc13397e0e 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -3746,6 +3746,10 @@ AC_ARG_WITH(vendorarchdir, @@ -3776,6 +3776,10 @@ AC_ARG_WITH(vendorarchdir,
[vendorarchdir=$withval], [vendorarchdir=$withval],
[vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}]) [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}])
@ -26,7 +26,7 @@ index 6bba453e3c..028ef7ca3e 100644
AS_IF([test "${LOAD_RELATIVE+set}"], [ AS_IF([test "${LOAD_RELATIVE+set}"], [
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
RUBY_EXEC_PREFIX='' RUBY_EXEC_PREFIX=''
@@ -3770,6 +3774,7 @@ AC_SUBST(sitearchdir)dnl @@ -3800,6 +3804,7 @@ AC_SUBST(sitearchdir)dnl
AC_SUBST(vendordir)dnl AC_SUBST(vendordir)dnl
AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorlibdir)dnl
AC_SUBST(vendorarchdir)dnl AC_SUBST(vendorarchdir)dnl
@ -67,7 +67,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index b47b6e1..0b99408 100755 index b47b6e1..0b99408 100755
--- a/tool/rbinstall.rb --- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb +++ b/tool/rbinstall.rb
@@ -334,6 +334,7 @@ def CONFIG.[](name, mandatory = false) @@ -338,6 +338,7 @@ def CONFIG.[](name, mandatory = false)
sitearchlibdir = CONFIG["sitearchdir"] sitearchlibdir = CONFIG["sitearchdir"]
vendorlibdir = CONFIG["vendorlibdir"] vendorlibdir = CONFIG["vendorlibdir"]
vendorarchlibdir = CONFIG["vendorarchdir"] vendorarchlibdir = CONFIG["vendorarchdir"]
@ -75,7 +75,7 @@ index b47b6e1..0b99408 100755
mandir = CONFIG["mandir", true] mandir = CONFIG["mandir", true]
docdir = CONFIG["docdir", true] docdir = CONFIG["docdir", true]
enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' enable_shared = CONFIG["ENABLE_SHARED"] == 'yes'
@@ -560,7 +561,16 @@ def stub @@ -565,7 +566,16 @@ def stub
install?(:local, :comm, :lib) do install?(:local, :comm, :lib) do
prepare "library scripts", rubylibdir prepare "library scripts", rubylibdir
noinst = %w[*.txt *.rdoc *.gemspec] noinst = %w[*.txt *.rdoc *.gemspec]

View File

@ -1,28 +0,0 @@
From 07eb5f5e775dec01a92a8b13910eaced9e8ee0cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Tue, 2 Dec 2014 10:56:58 +0100
Subject: [PATCH] Generate preludes using miniruby.
---
common.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/common.mk b/common.mk
index 168dc52..20c218a 100644
--- a/common.mk
+++ b/common.mk
@@ -1052,9 +1052,9 @@ $(MINIPRELUDE_C): $(COMPILE_PRELUDE)
$(srcdir)/template/prelude.c.tmpl
$(PRELUDE_C): $(COMPILE_PRELUDE) \
- $(PRELUDE_SCRIPTS)
+ $(PRELUDE_SCRIPTS) $(PREP)
$(ECHO) generating $@
- $(Q) $(BASERUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \
+ $(Q) $(MINIRUBY) $(srcdir)/tool/generic_erb.rb -I$(srcdir) -c -o $@ \
$(srcdir)/template/prelude.c.tmpl $(PRELUDE_SCRIPTS)
$(GOLF_PRELUDE_C): $(COMPILE_PRELUDE) {$(srcdir)}golf_prelude.rb
--
2.6.3

View File

@ -17,10 +17,10 @@ string.
2 files changed, 35 insertions(+), 30 deletions(-) 2 files changed, 35 insertions(+), 30 deletions(-)
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 8ea969412f..a00f2b6776 100644 index 80b137e380..63cd3b4f8b 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -3661,9 +3661,6 @@ AS_CASE(["$target_os"], @@ -3691,9 +3691,6 @@ AS_CASE(["$target_os"],
rubyw_install_name='$(RUBYW_INSTALL_NAME)' rubyw_install_name='$(RUBYW_INSTALL_NAME)'
]) ])
@ -30,7 +30,7 @@ index 8ea969412f..a00f2b6776 100644
rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'} rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}
AC_ARG_WITH(rubyarchprefix, AC_ARG_WITH(rubyarchprefix,
AS_HELP_STRING([--with-rubyarchprefix=DIR], AS_HELP_STRING([--with-rubyarchprefix=DIR],
@@ -3686,56 +3683,62 @@ AC_ARG_WITH(ridir, @@ -3716,56 +3713,62 @@ AC_ARG_WITH(ridir,
AC_SUBST(ridir) AC_SUBST(ridir)
AC_SUBST(RI_BASE_NAME) AC_SUBST(RI_BASE_NAME)
@ -120,7 +120,7 @@ index 8ea969412f..a00f2b6776 100644
AS_IF([test "${LOAD_RELATIVE+set}"], [ AS_IF([test "${LOAD_RELATIVE+set}"], [
AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)
@@ -3752,6 +3755,7 @@ AC_SUBST(sitearchincludedir)dnl @@ -3782,6 +3785,7 @@ AC_SUBST(sitearchincludedir)dnl
AC_SUBST(arch)dnl AC_SUBST(arch)dnl
AC_SUBST(sitearch)dnl AC_SUBST(sitearch)dnl
AC_SUBST(ruby_version)dnl AC_SUBST(ruby_version)dnl
@ -171,7 +171,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index d4c110e..d39c9a6 100755 index d4c110e..d39c9a6 100755
--- a/tool/rbinstall.rb --- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb +++ b/tool/rbinstall.rb
@@ -424,7 +424,7 @@ def CONFIG.[](name, mandatory = false) @@ -428,7 +428,7 @@ def CONFIG.[](name, mandatory = false)
install?(:doc, :rdoc) do install?(:doc, :rdoc) do
if $rdocdir if $rdocdir
@ -181,48 +181,40 @@ index d4c110e..d39c9a6 100755
install_recursive($rdocdir, ridatadir, :no_install => rdoc_noinst, :mode => $data_mode) install_recursive($rdocdir, ridatadir, :no_install => rdoc_noinst, :mode => $data_mode)
end end
-- --
2.1.0 2.23.0
From f8d136f9a46d1fe87eba622ab9665935d05e981b Mon Sep 17 00:00:00 2001 From 9f0ec0233f618cbb862629816b22491c3df79578 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com> From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Tue, 31 Mar 2015 16:37:44 +0200 Date: Tue, 31 Mar 2015 16:37:44 +0200
Subject: [PATCH 3/4] Add ruby_version_dir_name support for RubyGems. Subject: [PATCH 3/4] Add ruby_version_dir_name support for RubyGems.
--- ---
lib/rubygems/defaults.rb | 11 ++++++----- lib/rubygems/defaults.rb | 9 +++++----
test/rubygems/test_gem.rb | 5 +++-- test/rubygems/test_gem.rb | 5 +++--
2 files changed, 9 insertions(+), 7 deletions(-) 2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
index 55ca080..75eea2b 100644 index d4ff4a262c..3f9a5bf590 100644
--- a/lib/rubygems/defaults.rb --- a/lib/rubygems/defaults.rb
+++ b/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb
@@ -32,20 +32,20 @@ def self.default_dir @@ -32,13 +32,13 @@ def self.default_dir
[ [
File.dirname(RbConfig::CONFIG['sitedir']), File.dirname(RbConfig::CONFIG['sitedir']),
'Gems', 'Gems',
- RbConfig::CONFIG['ruby_version'] - RbConfig::CONFIG['ruby_version']
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
] ]
elsif RbConfig::CONFIG['rubylibprefix'] else
[ [
RbConfig::CONFIG['rubylibprefix'], RbConfig::CONFIG['rubylibprefix'],
'gems', 'gems',
- RbConfig::CONFIG['ruby_version'] - RbConfig::CONFIG['ruby_version']
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
]
else
[
RbConfig::CONFIG['libdir'],
ruby_engine,
'gems',
- RbConfig::CONFIG['ruby_version']
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
] ]
end end
@@ -75,7 +75,8 @@ def self.default_rubygems_dirs @@ -75,7 +75,8 @@ def self.default_specifications_dir
def self.user_dir def self.user_dir
parts = [Gem.user_home, '.gem', ruby_engine] parts = [Gem.user_home, '.gem', ruby_engine]
@ -232,7 +224,7 @@ index 55ca080..75eea2b 100644
File.join parts File.join parts
end end
@@ -172,7 +173,7 @@ def self.vendor_dir # :nodoc: @@ -158,7 +159,7 @@ def self.vendor_dir # :nodoc:
return nil unless RbConfig::CONFIG.key? 'vendordir' return nil unless RbConfig::CONFIG.key? 'vendordir'
File.join RbConfig::CONFIG['vendordir'], 'gems', File.join RbConfig::CONFIG['vendordir'], 'gems',
@ -242,10 +234,10 @@ index 55ca080..75eea2b 100644
## ##
diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
index 0428bea..b6e090e 100644 index b25068405d..e9fef4a311 100644
--- a/test/rubygems/test_gem.rb --- a/test/rubygems/test_gem.rb
+++ b/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb
@@ -1288,7 +1288,8 @@ def test_self_use_paths @@ -1353,7 +1353,8 @@ def test_self_use_paths
def test_self_user_dir def test_self_user_dir
parts = [@userhome, '.gem', Gem.ruby_engine] parts = [@userhome, '.gem', Gem.ruby_engine]
@ -255,15 +247,15 @@ index 0428bea..b6e090e 100644
assert_equal File.join(parts), Gem.user_dir assert_equal File.join(parts), Gem.user_dir
end end
@@ -1365,7 +1366,7 @@ def test_self_gzip @@ -1429,7 +1430,7 @@ def test_self_vendor_dir
def test_self_vendor_dir vendordir(File.join(@tempdir, 'vendor')) do
expected = expected =
File.join RbConfig::CONFIG['vendordir'], 'gems', File.join RbConfig::CONFIG['vendordir'], 'gems',
- RbConfig::CONFIG['ruby_version'] - RbConfig::CONFIG['ruby_version']
+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version']
assert_equal expected, Gem.vendor_dir assert_equal expected, Gem.vendor_dir
end end
-- --
2.1.0 2.1.0
@ -282,7 +274,7 @@ diff --git a/configure.ac b/configure.ac
index a00f2b6776..999e2d6d5d 100644 index a00f2b6776..999e2d6d5d 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -101,7 +101,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` @@ -98,7 +98,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"`
RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"` RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"`
AC_SUBST(RUBY_BASE_NAME) AC_SUBST(RUBY_BASE_NAME)
AC_SUBST(RUBYW_BASE_NAME) AC_SUBST(RUBYW_BASE_NAME)

View File

@ -8,14 +8,14 @@ on Red Hat platforms.
This workaround rhbz#1361037 This workaround rhbz#1361037
--- ---
test/fiddle/helper.rb | 89 ------------------------------------------- test/fiddle/helper.rb | 105 ------------------------------------------
1 file changed, 89 deletions(-) 1 file changed, 105 deletions(-)
diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb
index 1da3d93..65148a1 100644 index 1da3d93..65148a1 100644
--- a/test/fiddle/helper.rb --- a/test/fiddle/helper.rb
+++ b/test/fiddle/helper.rb +++ b/test/fiddle/helper.rb
@@ -6,95 +6,6 @@ @@ -6,111 +6,6 @@
libc_so = libm_so = nil libc_so = libm_so = nil
@ -23,12 +23,28 @@ index 1da3d93..65148a1 100644
-when /cygwin/ -when /cygwin/
- libc_so = "cygwin1.dll" - libc_so = "cygwin1.dll"
- libm_so = "cygwin1.dll" - libm_so = "cygwin1.dll"
-when /android/
- libdir = '/system/lib'
- if [0].pack('L!').size == 8
- libdir = '/system/lib64'
- end
- libc_so = File.join(libdir, "libc.so")
- libm_so = File.join(libdir, "libm.so")
-when /linux/ -when /linux/
- libdir = '/lib' - libdir = '/lib'
- case [0].pack('L!').size - case RbConfig::SIZEOF['void*']
- when 4 - when 4
- # 32-bit ruby - # 32-bit ruby
- libdir = '/lib32' if File.directory? '/lib32' - case RUBY_PLATFORM
- when /armv\w+-linux/
- # In the ARM 32-bit libc package such as libc6:armhf libc6:armel,
- # libc.so and libm.so are installed to /lib/arm-linux-gnu*.
- # It's not installed to /lib32.
- dirs = Dir.glob('/lib/arm-linux-gnu*')
- libdir = dirs[0] if dirs && File.directory?(dirs[0])
- else
- libdir = '/lib32' if File.directory? '/lib32'
- end
- when 8 - when 8
- # 64-bit ruby - # 64-bit ruby
- libdir = '/lib64' if File.directory? '/lib64' - libdir = '/lib64' if File.directory? '/lib64'
@ -59,7 +75,7 @@ index 1da3d93..65148a1 100644
- libm_so = "/usr/lib/libm.so" - libm_so = "/usr/lib/libm.so"
-when /solaris/ -when /solaris/
- libdir = '/lib' - libdir = '/lib'
- case [0].pack('L!').size - case RbConfig::SIZEOF['void*']
- when 4 - when 4
- # 32-bit ruby - # 32-bit ruby
- libdir = '/lib' if File.directory? '/lib' - libdir = '/lib' if File.directory? '/lib'
@ -110,7 +126,7 @@ index 1da3d93..65148a1 100644
- -
if !libc_so || !libm_so if !libc_so || !libm_so
ruby = EnvUtil.rubybin ruby = EnvUtil.rubybin
ldd = `ldd #{ruby}` # When the ruby binary is 32-bit and the host is 64-bit,
-- --
2.9.2 2.9.2

View File

@ -0,0 +1,77 @@
From eca084e4079c77c061045df9c21b219175b05228 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Mon, 6 Jan 2020 13:56:04 +0100
Subject: [PATCH] Initialize ABRT hook.
The ABRT hook used to be initialized by preludes via patches [[1], [2]].
Unfortunately, due to [[3]] and especially since [[4]], this would
require boostrapping [[5]].
To keep the things simple for now, load the ABRT hook via C.
[1]: https://bugs.ruby-lang.org/issues/8566
[2]: https://bugs.ruby-lang.org/issues/15306
[3]: https://bugs.ruby-lang.org/issues/16254
[4]: https://github.com/ruby/ruby/pull/2735
[5]: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/
---
abrt.c | 12 ++++++++++++++
common.mk | 3 ++-
ruby.c | 4 ++++
3 files changed, 18 insertions(+), 1 deletion(-)
create mode 100644 abrt.c
diff --git a/abrt.c b/abrt.c
new file mode 100644
index 0000000000..74b0bd5c0f
--- /dev/null
+++ b/abrt.c
@@ -0,0 +1,12 @@
+#include "internal.h"
+
+void
+Init_abrt(void)
+{
+ rb_eval_string(
+ " begin\n"
+ " require 'abrt'\n"
+ " rescue LoadError\n"
+ " end\n"
+ );
+}
diff --git a/common.mk b/common.mk
index b2e5b2b6d0..f39f81da5c 100644
--- a/common.mk
+++ b/common.mk
@@ -81,7 +81,8 @@ ENC_MK = enc.mk
MAKE_ENC = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \
RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags)
-COMMONOBJS = array.$(OBJEXT) \
+COMMONOBJS = abrt.$(OBJEXT) \
+ array.$(OBJEXT) \
ast.$(OBJEXT) \
bignum.$(OBJEXT) \
class.$(OBJEXT) \
diff --git a/ruby.c b/ruby.c
index 60c57d6259..1eec16f2c8 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1439,10 +1439,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt)
void Init_builtin_features(void);
+/* abrt.c */
+void Init_abrt(void);
+
static void
ruby_init_prelude(void)
{
Init_builtin_features();
+ Init_abrt();
rb_const_remove(rb_cObject, rb_intern_const("TMP_RUBY_PREFIX"));
}
--
2.24.1

View File

@ -0,0 +1,32 @@
From 6532dbecf36d1f24dab1f2143afd171e0b7699eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
Date: Wed, 4 Sep 2019 15:07:07 +0200
Subject: [PATCH] Remove RubyGems dependency.
Since `Process::RLIMIT_NOFILE` is platform specific, better to use Ruby
introspection than detecting platform.
---
.../vendor/net-http-persistent/lib/net/http/persistent.rb | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb b/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
index a54be2a..06739f1 100644
--- a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
+++ b/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb
@@ -202,10 +202,10 @@ class Bundler::Persistent::Net::HTTP::Persistent
##
# The default connection pool size is 1/4 the allowed open files.
- if Gem.win_platform? then
- DEFAULT_POOL_SIZE = 256
- else
+ if Process.const_defined? :RLIMIT_NOFILE
DEFAULT_POOL_SIZE = Process.getrlimit(Process::RLIMIT_NOFILE).first / 4
+ else
+ DEFAULT_POOL_SIZE = 256
end
##
--
2.23.0

244
ruby.spec
View File

@ -1,56 +1,59 @@
%global major_version 2 %global major_version 2
%global minor_version 6 %global minor_version 7
%global teeny_version 5 %global teeny_version 0
%global major_minor_version %{major_version}.%{minor_version} %global major_minor_version %{major_version}.%{minor_version}
%global ruby_version %{major_minor_version}.%{teeny_version} %global ruby_version %{major_minor_version}.%{teeny_version}
%global ruby_release %{ruby_version} %global ruby_release %{ruby_version}
# Specify the named version. It has precedense to revision. # Specify the named version. It has precedense to revision.
#%%global milestone rc2 #%%global milestone rc1
# Keep the revision enabled for pre-releases from SVN. # Keep the revision enabled for pre-releases from SVN.
#%%global revision 66252 #%%global revision af11efd377
%global ruby_archive %{name}-%{ruby_version} %global ruby_archive %{name}-%{ruby_version}
# If revision and milestone are removed/commented out, the official release build is expected. # If revision and milestone are removed/commented out, the official release build is expected.
%if 0%{?milestone:1}%{?revision:1} != 0 %if 0%{?milestone:1}%{?revision:1} != 0
%global development_release %{?milestone}%{?!milestone:%{?revision:r%{revision}}} %global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision}}
%global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision:r%{revision}}} %define ruby_archive_timestamp %(stat --printf='@%Y' %{ruby_archive}.tar.xz | date -f - +"%Y%m%d")
%define development_release %{?milestone}%{?!milestone:%{?revision:%{ruby_archive_timestamp}git%{revision}}}
%endif %endif
%global release 124 %global release 125
%{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} %{!?release_string:%define release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
# The RubyGems library has to stay out of Ruby directory tree, since the # The RubyGems library has to stay out of Ruby directory tree, since the
# RubyGems should be share by all Ruby implementations. # RubyGems should be share by all Ruby implementations.
%global rubygems_dir %{_datadir}/rubygems %global rubygems_dir %{_datadir}/rubygems
# Bundled libraries versions # Bundled libraries versions
%global rubygems_version 3.0.3 %global rubygems_version 3.1.2
%global rubygems_molinillo_version 0.5.7 %global rubygems_molinillo_version 0.5.7
%global bundler_version 1.17.2 %global bundler_version 2.1.2
%global bundler_fileutils_version 1.1.0 %global bundler_connection_pool_version 2.2.2
%global bundler_fileutils_version 1.3.0
%global bundler_molinillo_version 0.6.6 %global bundler_molinillo_version 0.6.6
%global bundler_net_http_persistent_version 2.9.4 %global bundler_net_http_persistent_version 3.1.0
%global bundler_thor_version 0.20.0 %global bundler_thor_version 1.0.0
%global bigdecimal_version 1.4.1 %global bigdecimal_version 2.0.0
%global did_you_mean_version 1.3.0 %global did_you_mean_version 1.4.0
%global io_console_version 0.4.7 %global io_console_version 0.5.3
%global irb_version 1.0.0 %global irb_version 1.2.1
%global json_version 2.1.0 %global json_version 2.3.0
%global minitest_version 5.11.3 %global minitest_version 5.13.0
%global net_telnet_version 0.2.0 %global net_telnet_version 0.2.0
%global openssl_version 2.1.2 %global openssl_version 2.1.2
%global power_assert_version 1.1.3 %global power_assert_version 1.1.5
%global psych_version 3.1.0 %global psych_version 3.1.0
%global rake_version 12.3.2 %global racc_version 1.4.16
%global rdoc_version 6.1.2 %global rake_version 13.0.1
%global test_unit_version 3.2.9 %global rdoc_version 6.2.1
%global test_unit_version 3.3.4
%global xmlrpc_version 0.3.0 %global xmlrpc_version 0.3.0
# Might not be needed in the future, if we are lucky enough. # Might not be needed in the future, if we are lucky enough.
@ -92,7 +95,6 @@ Source2: libruby.stp
Source3: ruby-exercise.stp Source3: ruby-exercise.stp
Source4: macros.ruby Source4: macros.ruby
Source5: macros.rubygems Source5: macros.rubygems
Source6: abrt_prelude.rb
# RPM dependency generators. # RPM dependency generators.
Source8: rubygems.attr Source8: rubygems.attr
Source9: rubygems.req Source9: rubygems.req
@ -125,24 +127,22 @@ Patch3: ruby-2.1.0-always-use-i386.patch
Patch4: ruby-2.1.0-custom-rubygems-location.patch Patch4: ruby-2.1.0-custom-rubygems-location.patch
# Make mkmf verbose by default # Make mkmf verbose by default
Patch5: ruby-1.9.3-mkmf-verbose.patch Patch5: ruby-1.9.3-mkmf-verbose.patch
# Adds support for '--with-prelude' configuration option. This allows to built # The ABRT hook used to be initialized by preludes via following patches:
# in support for ABRT. # https://bugs.ruby-lang.org/issues/8566
# http://bugs.ruby-lang.org/issues/8566
Patch6: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
# Use miniruby to regenerate prelude.c.
# https://bugs.ruby-lang.org/issues/15306 # https://bugs.ruby-lang.org/issues/15306
Patch7: ruby-2.2.3-Generate-preludes-using-miniruby.patch # Unfortunately, due to https://bugs.ruby-lang.org/issues/16254
# and especially since https://github.com/ruby/ruby/pull/2735
# this would require boostrapping:
# https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/
# For now, load the ABRT hook via this simple patch:
Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch
# Workaround "an invalid stdio handle" error on PPC, due to recently introduced # Workaround "an invalid stdio handle" error on PPC, due to recently introduced
# hardening features of glibc (rhbz#1361037). # hardening features of glibc (rhbz#1361037).
# https://bugs.ruby-lang.org/issues/12666 # https://bugs.ruby-lang.org/issues/12666
Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
# `gem build ../foo.gemspec` changes directory, which does not play well with # Revert commit which breaks bundled net-http-persistent version check.
# gems unpacked by setup macro. # https://github.com/drbrain/net-http-persistent/pull/109
# https://github.com/rubygems/rubygems/issues/2587 Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch
Patch11: rubygems-3.0.3-Restore-gem-build-behavior-and-introdcue-the-C-flag-to-gem-build.patch
# This allows to loosen the RDoc dependency again.
# https://github.com/rubygems/rubygems/pull/2604
Patch12: rubygems-3.0.3-Avoid-rdoc-hook-when-its-failed-to-load-rdoc-library.patch
# Add support for .include directive used by OpenSSL config files. # Add support for .include directive used by OpenSSL config files.
# https://github.com/ruby/openssl/pull/216 # https://github.com/ruby/openssl/pull/216
@ -226,6 +226,7 @@ Summary: The Ruby standard for packaging ruby libraries
Version: %{rubygems_version} Version: %{rubygems_version}
License: Ruby or MIT License: Ruby or MIT
Requires: ruby(release) Requires: ruby(release)
Recommends: rubygem(bundler) >= %{bundler_version}
Recommends: rubygem(rdoc) >= %{rdoc_version} Recommends: rubygem(rdoc) >= %{rdoc_version}
Recommends: rubygem(io-console) >= %{io_console_version} Recommends: rubygem(io-console) >= %{io_console_version}
Requires: rubygem(openssl) >= %{openssl_version} Requires: rubygem(openssl) >= %{openssl_version}
@ -509,6 +510,7 @@ Requires: ruby(rubygems) >= %{rubygems_version}
Requires: rubygem(io-console) Requires: rubygem(io-console)
Provides: rubygem(bundler) = %{version}-%{release} Provides: rubygem(bundler) = %{version}-%{release}
# https://github.com/bundler/bundler/issues/3647 # https://github.com/bundler/bundler/issues/3647
Provides: bundled(connection_pool) = %{bundler_connection_pool_version}
Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version}
Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version} Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version}
Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version}
@ -520,6 +522,19 @@ Bundler manages an application's dependencies through its entire life, across
many machines, systematically and repeatably. many machines, systematically and repeatably.
%package -n rubygem-racc
Summary: Racc is a LALR(1) parser generator
Version: %{racc_version}
License: MIT
Requires: ruby(release)
Requires: ruby(rubygems) >= %{rubygems_version}
Provides: rubygem(racc) = %{version}-%{release}
%description -n rubygem-racc
Racc is a LALR(1) parser generator. It is written in Ruby itself, and
generates Ruby program.
%prep %prep
%setup -q -n %{ruby_archive} %setup -q -n %{ruby_archive}
@ -534,20 +549,13 @@ rm -rf ext/fiddle/libffi*
%patch4 -p1 %patch4 -p1
%patch5 -p1 %patch5 -p1
%patch6 -p1 %patch6 -p1
%patch7 -p1
%patch9 -p1 %patch9 -p1
%patch11 -p1 %patch10 -p1
%patch12 -p1
%patch22 -p1 %patch22 -p1
# Provide an example of usage of the tapset: # Provide an example of usage of the tapset:
cp -a %{SOURCE3} . cp -a %{SOURCE3} .
# Make abrt_prelude.rb available for compilation process. The prelude must be
# available together with Ruby's source due to
# https://github.com/ruby/ruby/blob/trunk/tool/compile_prelude.rb#L26
cp -a %{SOURCE6} .
%build %build
autoconf autoconf
@ -570,7 +578,6 @@ autoconf
--enable-shared \ --enable-shared \
--with-ruby-version='' \ --with-ruby-version='' \
--enable-multiarch \ --enable-multiarch \
--with-prelude=./abrt_prelude.rb \
# Q= makes the build output more verbose and allows to check Fedora # Q= makes the build output more verbose and allows to check Fedora
# compiler options. # compiler options.
@ -583,7 +590,7 @@ make install DESTDIR=%{buildroot}
# Rename ruby/config.h to ruby/config-<arch>.h to avoid file conflicts on # Rename ruby/config.h to ruby/config-<arch>.h to avoid file conflicts on
# multilib systems and install config.h wrapper # multilib systems and install config.h wrapper
%multilib_fix_c_header --file %{_includedir}/%{name}/config.h %multilib_fix_c_header --file %{_includedir}/%{name}/config.h
# TODO: The correct patch should be %%{_includedir}/%%{name}/rb_mjit_min_header-%{ruby_version}.h # TODO: The correct patch should be %%{_includedir}/%%{name}/rb_mjit_min_header-%%{ruby_version}.h
# https://bugs.ruby-lang.org/issues/15425 # https://bugs.ruby-lang.org/issues/15425
%multilib_fix_c_header --file %{_includedir}/rb_mjit_min_header-%{ruby_version}.h %multilib_fix_c_header --file %{_includedir}/rb_mjit_min_header-%{ruby_version}.h
@ -602,13 +609,9 @@ for cert in \
do do
rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert
rm -r $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert) rm -r $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert)
rm %{buildroot}%{ruby_libdir}/bundler/ssl_certs/$cert
rm -r $(dirname %{buildroot}%{ruby_libdir}/bundler/ssl_certs/$cert)
done done
# Ensure there is not forgotten any certificate. # Ensure there is not forgotten any certificate.
test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)" test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)"
test "$(ls -A %{buildroot}%{ruby_libdir}/bundler/ssl_certs/ 2>/dev/null)" \
= "certificate_manager.rb"
# Move macros file into proper place and replace the %%{name} macro, since it # Move macros file into proper place and replace the %%{name} macro, since it
# would be wrongly evaluated during build of other packages. # would be wrongly evaluated during build of other packages.
@ -660,11 +663,9 @@ mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib
mkdir -p %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal mkdir -p %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal
mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib
mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}
mv %{buildroot}%{ruby_libarchdir}/bigdecimal/util.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal
mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications
ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal
ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so
ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal/util.so %{buildroot}%{ruby_libarchdir}/bigdecimal/util.so
# TODO: Put help files into proper location. # TODO: Put help files into proper location.
# https://bugs.ruby-lang.org/issues/15359 # https://bugs.ruby-lang.org/issues/15359
@ -673,6 +674,11 @@ mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_dir}/gems/bundler-%{b
mv %{buildroot}%{ruby_libdir}/bundler %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib mv %{buildroot}%{ruby_libdir}/bundler %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib
mv %{buildroot}%{gem_dir}/specifications/default/bundler-%{bundler_version}.gemspec %{buildroot}%{gem_dir}/specifications mv %{buildroot}%{gem_dir}/specifications/default/bundler-%{bundler_version}.gemspec %{buildroot}%{gem_dir}/specifications
mkdir -p %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/lib
mv %{buildroot}%{ruby_libdir}/did_you_mean.rb %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/lib
mv %{buildroot}%{ruby_libdir}/did_you_mean %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/lib
mv %{buildroot}%{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec %{buildroot}%{gem_dir}/specifications
mkdir -p %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib mkdir -p %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib
mkdir -p %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/io mkdir -p %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/io
mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib
@ -713,6 +719,18 @@ ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir
ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb
ln -s %{_libdir}/gems/%{name}/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.so ln -s %{_libdir}/gems/%{name}/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.so
# These have wrong shebangs. Exclude them for now and let's see what upstream
# thinks about them.
# https://bugs.ruby-lang.org/issues/15982
rm %{buildroot}%{_bindir}/{racc2y,y2racc}
rm %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/bin/{racc2y,y2racc}
mkdir -p %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib
mkdir -p %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version}
mv %{buildroot}%{ruby_libdir}/racc* %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib
mv %{buildroot}%{ruby_libarchdir}/racc/ %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version}/
touch %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version}/gem.build_complete
mv %{buildroot}%{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{buildroot}%{gem_dir}/specifications
# Move the binary extensions into proper place (if no gem has binary extension, # Move the binary extensions into proper place (if no gem has binary extension,
# the extensions directory might be empty). # the extensions directory might be empty).
find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdepth 0 \ find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdepth 0 \
@ -774,9 +792,19 @@ checksec --file=libruby.so.%{ruby_version} | \
# Check Bundler bundled dependencies versions. # Check Bundler bundled dependencies versions.
# connection_pool.
[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \
module Bundler; end; \
require 'bundler/vendor/connection_pool/lib/connection_pool/version'; \
puts Bundler::ConnectionPool::VERSION\\\"\" | tail -1`" \
== '%{bundler_connection_pool_version}' ]
# FileUtils. # FileUtils.
# TODO: There is no version in bundled FileUtils yet. [ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \
#%%{global bundler_fileutils_version} module Bundler; end; \
require 'bundler/vendor/fileutils/lib/fileutils/version'; \
puts Bundler::FileUtils::VERSION\\\"\" | tail -1`" \
== '%{bundler_fileutils_version}' ]
# Molinillo. # Molinillo.
[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ [ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \
@ -819,16 +847,17 @@ MSPECOPTS=""
# Avoid `hostname' dependency. # Avoid `hostname' dependency.
%{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"}
# SIGSEV handler does not provide correct output on AArch64. # Disable "File.utime allows Time instances in the far future to set
# https://bugs.ruby-lang.org/issues/13758 # mtime and atime".
%ifarch aarch64 # https://bugs.ruby-lang.org/issues/16410
DISABLE_TESTS="$DISABLE_TESTS -n !/test_segv_\(setproctitle\|test\|loaded_features\)/" MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'"
%endif
# Disable failing TestResolvMDNS#test_mdns_each_address test, # Increase timeout for TestBugReporter#test_bug_reporter_add test, which fails
# which fails on Koji. # quite often.
# https://bugs.ruby-lang.org/issues/14175 # https://bugs.ruby-lang.org/issues/16492
sed -i '/def test_mdns_each_address$/,/^ end$/ s/^/#/' test/resolv/test_mdns.rb %ifarch s390x
sed -i '/assert_in_out_err/ s/)/, timeout: 30)/' test/-ext-/bug_reporter/test_bug_reporter.rb
%endif
make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
@ -878,25 +907,31 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%exclude %{ruby_libdir}/json.rb %exclude %{ruby_libdir}/json.rb
%exclude %{ruby_libdir}/openssl.rb %exclude %{ruby_libdir}/openssl.rb
%exclude %{ruby_libdir}/psych.rb %exclude %{ruby_libdir}/psych.rb
%{ruby_libdir}/benchmark
%{ruby_libdir}/cgi %{ruby_libdir}/cgi
%{ruby_libdir}/csv %{ruby_libdir}/csv
%{ruby_libdir}/delegate
%{ruby_libdir}/digest %{ruby_libdir}/digest
%{ruby_libdir}/drb %{ruby_libdir}/drb
%{ruby_libdir}/e2mmap
%{ruby_libdir}/fiddle %{ruby_libdir}/fiddle
%{ruby_libdir}/fileutils
%{ruby_libdir}/forwardable %{ruby_libdir}/forwardable
%{ruby_libdir}/getoptlong
%{ruby_libdir}/logger
%{ruby_libdir}/matrix %{ruby_libdir}/matrix
%{ruby_libdir}/net %{ruby_libdir}/net
%{ruby_libdir}/observer
%{ruby_libdir}/open3
%{ruby_libdir}/optparse %{ruby_libdir}/optparse
%{ruby_libdir}/racc %{ruby_libdir}/ostruct
%{ruby_libdir}/pstore
%{ruby_libdir}/reline
%{ruby_libdir}/rexml %{ruby_libdir}/rexml
%{ruby_libdir}/rinda %{ruby_libdir}/rinda
%{ruby_libdir}/ripper %{ruby_libdir}/ripper
%{ruby_libdir}/rss %{ruby_libdir}/rss
%{ruby_libdir}/shell %{ruby_libdir}/singleton
%{ruby_libdir}/syslog %{ruby_libdir}/syslog
%{ruby_libdir}/thwait %{ruby_libdir}/timeout
%{ruby_libdir}/tracer %{ruby_libdir}/tracer
%{ruby_libdir}/unicode_normalize %{ruby_libdir}/unicode_normalize
%{ruby_libdir}/uri %{ruby_libdir}/uri
@ -921,6 +956,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%{ruby_libarchdir}/digest/sha2.so %{ruby_libarchdir}/digest/sha2.so
%dir %{ruby_libarchdir}/enc %dir %{ruby_libarchdir}/enc
%{ruby_libarchdir}/enc/big5.so %{ruby_libarchdir}/enc/big5.so
%{ruby_libarchdir}/enc/cesu_8.so
%{ruby_libarchdir}/enc/cp949.so %{ruby_libarchdir}/enc/cp949.so
%{ruby_libarchdir}/enc/emacs_mule.so %{ruby_libarchdir}/enc/emacs_mule.so
%{ruby_libarchdir}/enc/encdb.so %{ruby_libarchdir}/enc/encdb.so
@ -950,6 +986,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%{ruby_libarchdir}/enc/shift_jis.so %{ruby_libarchdir}/enc/shift_jis.so
%dir %{ruby_libarchdir}/enc/trans %dir %{ruby_libarchdir}/enc/trans
%{ruby_libarchdir}/enc/trans/big5.so %{ruby_libarchdir}/enc/trans/big5.so
%{ruby_libarchdir}/enc/trans/cesu_8.so
%{ruby_libarchdir}/enc/trans/chinese.so %{ruby_libarchdir}/enc/trans/chinese.so
%{ruby_libarchdir}/enc/trans/ebcdic.so %{ruby_libarchdir}/enc/trans/ebcdic.so
%{ruby_libarchdir}/enc/trans/emoji.so %{ruby_libarchdir}/enc/trans/emoji.so
@ -988,12 +1025,11 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%dir %{ruby_libarchdir}/io %dir %{ruby_libarchdir}/io
%{ruby_libarchdir}/io/nonblock.so %{ruby_libarchdir}/io/nonblock.so
%{ruby_libarchdir}/io/wait.so %{ruby_libarchdir}/io/wait.so
%{ruby_libarchdir}/monitor.so
%{ruby_libarchdir}/nkf.so %{ruby_libarchdir}/nkf.so
%{ruby_libarchdir}/objspace.so %{ruby_libarchdir}/objspace.so
%{ruby_libarchdir}/pathname.so %{ruby_libarchdir}/pathname.so
%{ruby_libarchdir}/pty.so %{ruby_libarchdir}/pty.so
%dir %{ruby_libarchdir}/racc
%{ruby_libarchdir}/racc/cparse.so
%dir %{ruby_libarchdir}/rbconfig %dir %{ruby_libarchdir}/rbconfig
%{ruby_libarchdir}/rbconfig.rb %{ruby_libarchdir}/rbconfig.rb
%{ruby_libarchdir}/rbconfig/sizeof.so %{ruby_libarchdir}/rbconfig/sizeof.so
@ -1030,35 +1066,45 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%exclude %{gem_dir}/cache/* %exclude %{gem_dir}/cache/*
# TODO: Gemify these libraries # TODO: Gemify these libraries
%{gem_dir}/specifications/default/cmath-1.0.0.gemspec %{gem_dir}/specifications/default/benchmark-0.1.0.gemspec
%{gem_dir}/specifications/default/csv-3.0.9.gemspec %{gem_dir}/specifications/default/cgi-0.1.0.gemspec
%{gem_dir}/specifications/default/date-2.0.0.gemspec %{gem_dir}/specifications/default/csv-3.1.2.gemspec
%{gem_dir}/specifications/default/dbm-1.0.0.gemspec %{gem_dir}/specifications/default/date-3.0.0.gemspec
%{gem_dir}/specifications/default/e2mmap-0.1.0.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec
%{gem_dir}/specifications/default/etc-1.0.1.gemspec %{gem_dir}/specifications/default/delegate-0.1.0.gemspec
%{gem_dir}/specifications/default/etc-1.1.0.gemspec
%{gem_dir}/specifications/default/fcntl-1.0.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec
%{gem_dir}/specifications/default/fiddle-1.0.0.gemspec %{gem_dir}/specifications/default/fiddle-1.0.0.gemspec
%{gem_dir}/specifications/default/fileutils-1.1.0.gemspec %{gem_dir}/specifications/default/fileutils-1.4.1.gemspec
%{gem_dir}/specifications/default/forwardable-1.2.0.gemspec %{gem_dir}/specifications/default/forwardable-1.3.1.gemspec
%{gem_dir}/specifications/default/gdbm-2.0.0.gemspec %{gem_dir}/specifications/default/gdbm-2.1.0.gemspec
%{gem_dir}/specifications/default/getoptlong-0.1.0.gemspec
%{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec
%{gem_dir}/specifications/default/logger-1.3.0.gemspec %{gem_dir}/specifications/default/logger-1.4.2.gemspec
%{gem_dir}/specifications/default/matrix-0.1.0.gemspec %{gem_dir}/specifications/default/matrix-0.2.0.gemspec
%{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec
%{gem_dir}/specifications/default/ostruct-0.1.0.gemspec %{gem_dir}/specifications/default/net-pop-0.1.0.gemspec
%{gem_dir}/specifications/default/prime-0.1.0.gemspec %{gem_dir}/specifications/default/net-smtp-0.1.0.gemspec
%{gem_dir}/specifications/default/rexml-3.1.9.gemspec %{gem_dir}/specifications/default/observer-0.1.0.gemspec
%{gem_dir}/specifications/default/rss-0.2.7.gemspec %{gem_dir}/specifications/default/open3-0.1.0.gemspec
%{gem_dir}/specifications/default/scanf-1.0.0.gemspec %{gem_dir}/specifications/default/ostruct-0.2.0.gemspec
%{gem_dir}/specifications/default/prime-0.1.1.gemspec
%{gem_dir}/specifications/default/pstore-0.1.0.gemspec
%{gem_dir}/specifications/default/readline-0.0.2.gemspec
%{gem_dir}/specifications/default/readline-ext-0.1.0.gemspec
%{gem_dir}/specifications/default/reline-0.1.2.gemspec
%{gem_dir}/specifications/default/rexml-3.2.3.gemspec
%{gem_dir}/specifications/default/rss-0.2.8.gemspec
%{gem_dir}/specifications/default/sdbm-1.0.0.gemspec %{gem_dir}/specifications/default/sdbm-1.0.0.gemspec
%{gem_dir}/specifications/default/shell-0.7.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec
%{gem_dir}/specifications/default/stringio-0.0.2.gemspec %{gem_dir}/specifications/default/stringio-0.1.0.gemspec
%{gem_dir}/specifications/default/strscan-1.0.0.gemspec %{gem_dir}/specifications/default/strscan-1.0.3.gemspec
%{gem_dir}/specifications/default/sync-0.5.0.gemspec %{gem_dir}/specifications/default/timeout-0.1.0.gemspec
%{gem_dir}/specifications/default/thwait-0.1.0.gemspec
%{gem_dir}/specifications/default/tracer-0.1.0.gemspec %{gem_dir}/specifications/default/tracer-0.1.0.gemspec
%{gem_dir}/specifications/default/webrick-1.4.2.gemspec %{gem_dir}/specifications/default/uri-0.10.0.gemspec
%{gem_dir}/specifications/default/zlib-1.0.0.gemspec %{gem_dir}/specifications/default/webrick-1.6.0.gemspec
%{gem_dir}/specifications/default/yaml-0.1.0.gemspec
%{gem_dir}/specifications/default/zlib-1.1.0.gemspec
%files -n rubygems-devel %files -n rubygems-devel
%{_rpmconfigdir}/macros.d/macros.rubygems %{_rpmconfigdir}/macros.d/macros.rubygems
@ -1174,7 +1220,17 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
%{_mandir}/man1/bundle*.1* %{_mandir}/man1/bundle*.1*
%{_mandir}/man5/gemfile.5* %{_mandir}/man5/gemfile.5*
%files -n rubygem-racc
%{_bindir}/racc
%{_libdir}/gems/%{name}/racc-%{racc_version}
%{gem_dir}/gems/racc-%{racc_version}
%{gem_dir}/specifications/racc-%{racc_version}.gemspec
%changelog %changelog
* Tue Jan 07 2020 Vít Ondruch <vondruch@redhat.com> - 2.7.0-125
- Upgrade to Ruby 2.7.0.
- Drop useless %%{rubygems_default_filter}.
* Tue Oct 08 2019 Slava Kardakov <ojab@ojab.ru> - 2.6.5-124 * Tue Oct 08 2019 Slava Kardakov <ojab@ojab.ru> - 2.6.5-124
- Update to Ruby 2.6.5. - Update to Ruby 2.6.5.

View File

@ -1,24 +0,0 @@
From c16675582a68800ef17b6056110e0a8bcdb38b55 Mon Sep 17 00:00:00 2001
From: SHIBATA Hiroshi <hsbt@ruby-lang.org>
Date: Tue, 22 Jan 2019 09:37:23 +0900
Subject: [PATCH] Avoid rdoc hook when it's failed to load rdoc library.
Fixed #2483
---
lib/rubygems/rdoc.rb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/rubygems/rdoc.rb b/lib/rubygems/rdoc.rb
index dfaf7c55bf..4e16fbb86f 100644
--- a/lib/rubygems/rdoc.rb
+++ b/lib/rubygems/rdoc.rb
@@ -18,7 +18,7 @@
module Gem
RDoc = ::RDoc::RubygemsHook
end
+
+ Gem.done_installing(&Gem::RDoc.method(:generation_hook))
rescue LoadError
end
-
-Gem.done_installing(&Gem::RDoc.method(:generation_hook))

View File

@ -1,88 +0,0 @@
From f4061357d812e9033f07ae3f8f44c4e26839f1e5 Mon Sep 17 00:00:00 2001
From: bronzdoc <lsagastume1990@gmail.com>
Date: Mon, 14 Jan 2019 09:46:29 -0600
Subject: [PATCH] Restore gem build behavior and introdcue the "-C" flag to gem
build
---
lib/rubygems/commands/build_command.rb | 41 +++++++++++++------
.../test_gem_commands_build_command.rb | 1 +
2 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/lib/rubygems/commands/build_command.rb b/lib/rubygems/commands/build_command.rb
index e59471e976..761b80ee94 100644
--- a/lib/rubygems/commands/build_command.rb
+++ b/lib/rubygems/commands/build_command.rb
@@ -18,6 +18,10 @@ def initialize
add_option '-o', '--output FILE', 'output gem with the given filename' do |value, options|
options[:output] = value
end
+
+ add_option '-C PATH', '', 'Run as if gem build was started in <PATH> instead of the current working directory.' do |value, options|
+ options[:build_path] = value
+ end
end
def arguments # :nodoc:
@@ -60,25 +64,36 @@ def execute
end
if File.exist? gemspec
- Dir.chdir(File.dirname(gemspec)) do
- spec = Gem::Specification.load File.basename(gemspec)
-
- if spec
- Gem::Package.build(
- spec,
- options[:force],
- options[:strict],
- options[:output]
- )
- else
- alert_error "Error loading gemspec. Aborting."
- terminate_interaction 1
+ spec = Gem::Specification.load(gemspec)
+
+ if options[:build_path]
+ Dir.chdir(File.dirname(gemspec)) do
+ spec = Gem::Specification.load File.basename(gemspec)
+ build_package(spec)
end
+ else
+ build_package(spec)
end
+
else
alert_error "Gemspec file not found: #{gemspec}"
terminate_interaction 1
end
end
+ private
+
+ def build_package(spec)
+ if spec
+ Gem::Package.build(
+ spec,
+ options[:force],
+ options[:strict],
+ options[:output]
+ )
+ else
+ alert_error "Error loading gemspec. Aborting."
+ terminate_interaction 1
+ end
+ end
end
diff --git a/test/rubygems/test_gem_commands_build_command.rb b/test/rubygems/test_gem_commands_build_command.rb
index ac82a408c7..02d1b98e8f 100644
--- a/test/rubygems/test_gem_commands_build_command.rb
+++ b/test/rubygems/test_gem_commands_build_command.rb
@@ -207,6 +207,7 @@ def test_execute_outside_dir
gs.write @gem.to_ruby
end
+ @cmd.options[:build_path] = gemspec_dir
@cmd.options[:args] = [gemspec_file]
use_ui @ui do

View File

@ -1 +1 @@
SHA512 (ruby-2.6.5.tar.xz) = e8ae3b5d4d23a93d0ef6057235ad0e573665a8b4b6544e1c70b4cce9c4d2fb9094e5c8fe8a9ab7b9996efe3ada603f9b4ef1fd08fb5a83253c1ae2b5e3f202db SHA512 (ruby-2.7.0.tar.xz) = dd5690c631bf3a2b76cdc06902bcd76a89713a045e136debab9b8a81ff8c433bbb254aa09e4014ca1cf85a69ff4bcb13de11da5e40c224e7268be43ef2194af7