From 58a27c6cd997b83932efa13a87920883bfbfe119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 3 Jul 2019 13:32:56 +0200 Subject: [PATCH] Upgrade to Ruby 2.7.0 (76851381cb). --- ruby-1.9.3-mkmf-verbose.patch | 2 +- ...-additional-preludes-by-configuratio.patch | 36 +- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 8 +- ...2.3-Generate-preludes-using-miniruby.patch | 2 +- ruby-2.3.0-ruby_version.patch | 30 +- ...-2.6.0-use-larger-keys-for-SSL-tests.patch | 486 ------------------ ruby.spec | 78 +-- ...when-its-failed-to-load-rdoc-library.patch | 24 - ...nd-introdcue-the-C-flag-to-gem-build.patch | 88 ---- 12 files changed, 83 insertions(+), 677 deletions(-) delete mode 100644 ruby-2.6.0-use-larger-keys-for-SSL-tests.patch delete mode 100644 rubygems-3.0.3-Avoid-rdoc-hook-when-its-failed-to-load-rdoc-library.patch delete mode 100644 rubygems-3.0.3-Restore-gem-build-behavior-and-introdcue-the-C-flag-to-gem-build.patch diff --git a/ruby-1.9.3-mkmf-verbose.patch b/ruby-1.9.3-mkmf-verbose.patch index dc8e9da..2ecdfcd 100644 --- a/ruby-1.9.3-mkmf-verbose.patch +++ b/ruby-1.9.3-mkmf-verbose.patch @@ -11,7 +11,7 @@ diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 682eb46..e6b1445 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb -@@ -1911,7 +1911,7 @@ def configuration(srcdir) +@@ -1918,7 +1918,7 @@ def configuration(srcdir) SHELL = /bin/sh # V=0 quiet, V=1 verbose. other values don't work. diff --git a/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch b/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch index 0770723..198c34c 100644 --- a/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch +++ b/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch @@ -4,29 +4,16 @@ 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 +++++++ + common.mk | 2 +- + configure.ac | 7 +++++++ + template/Makefile.in | 2 ++ 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) +@@ -162,7 +162,7 @@ ALLOBJS = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT) DEFAULT_PRELUDES = $(GEM_PRELUDE) @@ -39,7 +26,7 @@ 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 +@@ -3820,6 +3820,13 @@ AC_SUBST(rubyarchhdrdir)dnl AC_SUBST(sitearchhdrdir)dnl AC_SUBST(vendorarchhdrdir)dnl @@ -53,6 +40,19 @@ index 028ef7ca3e..cdeff87871 100644 AC_ARG_WITH(mantype, AS_HELP_STRING([--with-mantype=TYPE], [specify man page type; TYPE is one of man and doc]), [ +diff --git a/template/Makefile.in b/template/Makefile.in +index 110071de6a..a83500b5af 100644 +--- a/template/Makefile.in ++++ b/template/Makefile.in +@@ -155,6 +155,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@ -- 1.8.3.1 diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 116bb66..3300849 100644 --- a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch +++ b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch @@ -11,7 +11,7 @@ diff --git a/configure.ac b/configure.ac index 11fc237552..b77e88fc37 100644 --- a/configure.ac +++ b/configure.ac -@@ -3085,6 +3085,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3037,6 +3037,11 @@ AS_IF([test ${multiarch+set}], [ ]) archlibdir='${libdir}/${arch}' diff --git a/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch b/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch index bfb197f..a192018 100644 --- a/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +++ b/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch @@ -14,7 +14,7 @@ diff --git a/configure.ac b/configure.ac index 999e2d6d5d..11fc237552 100644 --- a/configure.ac +++ b/configure.ac -@@ -3710,7 +3710,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3675,7 +3675,8 @@ AS_CASE(["$ruby_version_dir_name"], ruby_version_dir=/'${ruby_version_dir_name}' if test -z "${ruby_version_dir_name}"; then diff --git a/ruby-2.1.0-always-use-i386.patch b/ruby-2.1.0-always-use-i386.patch index d63752a..26d585f 100644 --- a/ruby-2.1.0-always-use-i386.patch +++ b/ruby-2.1.0-always-use-i386.patch @@ -11,7 +11,7 @@ diff --git a/configure.ac b/configure.ac index b77e88fc37..6bba453e3c 100644 --- a/configure.ac +++ b/configure.ac -@@ -3774,6 +3774,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3739,6 +3739,8 @@ AC_SUBST(vendorarchdir)dnl AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl diff --git a/ruby-2.1.0-custom-rubygems-location.patch b/ruby-2.1.0-custom-rubygems-location.patch index c4893da..0cebb2c 100644 --- a/ruby-2.1.0-custom-rubygems-location.patch +++ b/ruby-2.1.0-custom-rubygems-location.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index 6bba453e3c..028ef7ca3e 100644 --- a/configure.ac +++ b/configure.ac -@@ -3746,6 +3746,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3711,6 +3711,10 @@ AC_ARG_WITH(vendorarchdir, [vendorarchdir=$withval], [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}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX='' -@@ -3770,6 +3774,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3735,6 +3739,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl @@ -67,7 +67,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index b47b6e1..0b99408 100755 --- a/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"] vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] @@ -75,7 +75,7 @@ index b47b6e1..0b99408 100755 mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -@@ -560,7 +561,16 @@ def stub +@@ -564,7 +565,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir noinst = %w[*.txt *.rdoc *.gemspec] diff --git a/ruby-2.2.3-Generate-preludes-using-miniruby.patch b/ruby-2.2.3-Generate-preludes-using-miniruby.patch index 7118a32..e82c681 100644 --- a/ruby-2.2.3-Generate-preludes-using-miniruby.patch +++ b/ruby-2.2.3-Generate-preludes-using-miniruby.patch @@ -11,7 +11,7 @@ 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) +@@ -1059,9 +1059,9 @@ $(MINIPRELUDE_C): $(COMPILE_PRELUDE) $(srcdir)/template/prelude.c.tmpl $(PRELUDE_C): $(COMPILE_PRELUDE) \ diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index a74fb74..3bd4ead 100644 --- a/ruby-2.3.0-ruby_version.patch +++ b/ruby-2.3.0-ruby_version.patch @@ -20,7 +20,7 @@ diff --git a/configure.ac b/configure.ac index 8ea969412f..a00f2b6776 100644 --- a/configure.ac +++ b/configure.ac -@@ -3661,9 +3661,6 @@ AS_CASE(["$target_os"], +@@ -3626,9 +3626,6 @@ AS_CASE(["$target_os"], rubyw_install_name='$(RUBYW_INSTALL_NAME)' ]) @@ -30,7 +30,7 @@ index 8ea969412f..a00f2b6776 100644 rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'} AC_ARG_WITH(rubyarchprefix, AS_HELP_STRING([--with-rubyarchprefix=DIR], -@@ -3686,56 +3683,62 @@ AC_ARG_WITH(ridir, +@@ -3651,56 +3648,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 8ea969412f..a00f2b6776 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3752,6 +3755,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3717,6 +3720,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -171,7 +171,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index d4c110e..d39c9a6 100755 --- a/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 if $rdocdir @@ -232,7 +232,7 @@ index 55ca080..75eea2b 100644 File.join parts end -@@ -172,7 +173,7 @@ def self.vendor_dir # :nodoc: +@@ -165,7 +166,7 @@ def self.vendor_dir # :nodoc: return nil unless RbConfig::CONFIG.key? 'vendordir' File.join RbConfig::CONFIG['vendordir'], 'gems', @@ -245,7 +245,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index 0428bea..b6e090e 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb -@@ -1288,7 +1288,8 @@ def test_self_use_paths +@@ -1279,7 +1279,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, '.gem', Gem.ruby_engine] @@ -255,15 +255,15 @@ index 0428bea..b6e090e 100644 assert_equal File.join(parts), Gem.user_dir end -@@ -1365,7 +1366,7 @@ def test_self_gzip - def test_self_vendor_dir - expected = - File.join RbConfig::CONFIG['vendordir'], 'gems', -- RbConfig::CONFIG['ruby_version'] -+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] +@@ -1355,7 +1356,7 @@ def test_self_vendor_dir + vendordir(File.join(@tempdir, 'vendor')) do + expected = + File.join RbConfig::CONFIG['vendordir'], 'gems', +- RbConfig::CONFIG['ruby_version'] ++ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] - assert_equal expected, Gem.vendor_dir - end + assert_equal expected, Gem.vendor_dir + end -- 2.1.0 @@ -282,7 +282,7 @@ diff --git a/configure.ac b/configure.ac index a00f2b6776..999e2d6d5d 100644 --- a/configure.ac +++ b/configure.ac -@@ -101,7 +101,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` +@@ -96,7 +96,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"` AC_SUBST(RUBY_BASE_NAME) AC_SUBST(RUBYW_BASE_NAME) diff --git a/ruby-2.6.0-use-larger-keys-for-SSL-tests.patch b/ruby-2.6.0-use-larger-keys-for-SSL-tests.patch deleted file mode 100644 index 6bb8466..0000000 --- a/ruby-2.6.0-use-larger-keys-for-SSL-tests.patch +++ /dev/null @@ -1,486 +0,0 @@ -From b0bcb19cb4f95d260c5993df0aaa3667522fb99d Mon Sep 17 00:00:00 2001 -From: Kazuki Yamaguchi -Date: Thu, 16 Aug 2018 20:54:47 +0900 -Subject: [PATCH 1/2] test/openssl/test_pair: fix deadlock in - test_connect_accept_nonblock - -Call IO.select with a timeout value and limit the number of retries to -prevent stacking forever. - -Reference: https://github.com/ruby/openssl/issues/214 ---- - test/openssl/test_pair.rb | 51 +++++++++++++++++---------------------- - 1 file changed, 22 insertions(+), 29 deletions(-) - -diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb -index ea5f0dcf..eac3655e 100644 ---- a/test/openssl/test_pair.rb -+++ b/test/openssl/test_pair.rb -@@ -442,7 +442,7 @@ def test_connect_accept_nonblock_no_exception - end - - def test_connect_accept_nonblock -- ctx = OpenSSL::SSL::SSLContext.new() -+ ctx = OpenSSL::SSL::SSLContext.new - ctx.cert = @svr_cert - ctx.key = @svr_key - ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") } -@@ -451,45 +451,38 @@ def test_connect_accept_nonblock - - th = Thread.new { - s2 = OpenSSL::SSL::SSLSocket.new(sock2, ctx) -- s2.sync_close = true -- begin -+ 5.times { -+ begin -+ break s2.accept_nonblock -+ rescue IO::WaitReadable -+ IO.select([s2], nil, nil, 1) -+ rescue IO::WaitWritable -+ IO.select(nil, [s2], nil, 1) -+ end - sleep 0.2 -- s2.accept_nonblock -+ } -+ } -+ -+ s1 = OpenSSL::SSL::SSLSocket.new(sock1) -+ 5.times { -+ begin -+ break s1.connect_nonblock - rescue IO::WaitReadable -- IO.select([s2]) -- retry -+ IO.select([s1], nil, nil, 1) - rescue IO::WaitWritable -- IO.select(nil, [s2]) -- retry -+ IO.select(nil, [s1], nil, 1) - end -- s2 -- } -- -- sleep 0.1 -- ctx = OpenSSL::SSL::SSLContext.new() -- s1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx) -- begin - sleep 0.2 -- s1.connect_nonblock -- rescue IO::WaitReadable -- IO.select([s1]) -- retry -- rescue IO::WaitWritable -- IO.select(nil, [s1]) -- retry -- end -- s1.sync_close = true -+ } - - s2 = th.value - - s1.print "a\ndef" - assert_equal("a\n", s2.gets) - ensure -- th.join if th -- s1.close if s1 && !s1.closed? -- s2.close if s2 && !s2.closed? -- sock1.close if sock1 && !sock1.closed? -- sock2.close if sock2 && !sock2.closed? -+ sock1&.close -+ sock2&.close -+ th&.join - end - end - - -From 5ba99ad7ae1267ed964f53906530579299f3fcc6 Mon Sep 17 00:00:00 2001 -From: Kazuki Yamaguchi -Date: Thu, 16 Aug 2018 20:04:13 +0900 -Subject: [PATCH 2/2] test: use larger keys for SSL tests - -Some systems enforce a system-wide policy to restrict key sizes used in -SSL/TLS. Use larger ones if possible so that the test suite runs -successfully. - -New PEM files test/openssl/fixtures/pkey/{dh-1,rsa-1,rsa-2,rsa-3}.pem are added -to the tree, and SSL tests now use them instead of the fixed-size keys. - -Reference: https://github.com/ruby/openssl/issues/215 ---- - test/openssl/fixtures/pkey/dh-1.pem | 13 +++++++ - test/openssl/fixtures/pkey/rsa-1.pem | 51 ++++++++++++++++++++++++++++ - test/openssl/fixtures/pkey/rsa-2.pem | 51 ++++++++++++++++++++++++++++ - test/openssl/fixtures/pkey/rsa-3.pem | 51 ++++++++++++++++++++++++++++ - test/openssl/test_pair.rb | 8 ++--- - test/openssl/test_pkey_dh.rb | 8 ++--- - test/openssl/test_ssl.rb | 11 +++--- - test/openssl/utils.rb | 14 ++++---- - 8 files changed, 186 insertions(+), 21 deletions(-) - create mode 100644 test/openssl/fixtures/pkey/dh-1.pem - create mode 100644 test/openssl/fixtures/pkey/rsa-1.pem - create mode 100644 test/openssl/fixtures/pkey/rsa-2.pem - create mode 100644 test/openssl/fixtures/pkey/rsa-3.pem - -diff --git a/test/openssl/fixtures/pkey/dh-1.pem b/test/openssl/fixtures/pkey/dh-1.pem -new file mode 100644 -index 00000000..3340a6a1 ---- /dev/null -+++ b/test/openssl/fixtures/pkey/dh-1.pem -@@ -0,0 +1,13 @@ -+-----BEGIN DH PARAMETERS----- -+MIICCAKCAgEAvRzXYxY6L2DjeYmm1eowtMDu1it3j+VwFr6s6PRWzc1apMtztr9G -+xZ2mYndUAJLgNLO3n2fUDCYVMB6ZkcekW8Siocof3xWiMA6wqZ6uw0dsE3q7ZX+6 -+TLjgSjaXeGvjutvuEwVrFeaUi83bMgfXN8ToxIQVprIF35sYFt6fpbFATKfW7qqi -+P1pQkjmCskU4tztaWvlLh0qg85wuQGnpJaQT3gS30378i0IGbA0EBvJcSpTHYbLa -+nsdI9bfN/ZVgeolVMNMU9/n8R8vRhNPcHuciFwaqS656q+HavCIyxw/LfjSwwFvR -+TngCn0wytRErkzFIXnRKckh8/BpI4S+0+l1NkOwG4WJ55KJ/9OOdZW5o/QCp2bDi -+E0JN1EP/gkSom/prq8JR/yEqtsy99uc5nUxPmzv0IgdcFHZEfiQU7iRggEbx7qfQ -+Ve55XksmmJInmpCy1bSabAEgIKp8Ckt5KLYZ0RgTXUhcEpsxEo6cuAwoSJT5o4Rp -+yG3xow2ozPcqZkvb+d2CHj1sc54w9BVFAjVANEKmRil/9WKz14bu3wxEhOPqC54n -+QojjLcoXSoT66ZUOQnYxTSiLtzoKGPy8cAVPbkBrXz2u2sj5gcvr1JjoGjdHm9/3 -+qnqC8fsTz8UndKNIQC337o4K0833bQMzRGl1/qjbAPit2B7E3b6xTZMCAQI= -+-----END DH PARAMETERS----- -diff --git a/test/openssl/fixtures/pkey/rsa-1.pem b/test/openssl/fixtures/pkey/rsa-1.pem -new file mode 100644 -index 00000000..bd5a624f ---- /dev/null -+++ b/test/openssl/fixtures/pkey/rsa-1.pem -@@ -0,0 +1,51 @@ -+-----BEGIN RSA PRIVATE KEY----- -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 -+-----END RSA PRIVATE KEY----- -diff --git a/test/openssl/fixtures/pkey/rsa-2.pem b/test/openssl/fixtures/pkey/rsa-2.pem -new file mode 100644 -index 00000000..e4fd4f43 ---- /dev/null -+++ b/test/openssl/fixtures/pkey/rsa-2.pem -@@ -0,0 +1,51 @@ -+-----BEGIN RSA PRIVATE KEY----- -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 -+-----END RSA PRIVATE KEY----- -diff --git a/test/openssl/fixtures/pkey/rsa-3.pem b/test/openssl/fixtures/pkey/rsa-3.pem -new file mode 100644 -index 00000000..6c9c9ced ---- /dev/null -+++ b/test/openssl/fixtures/pkey/rsa-3.pem -@@ -0,0 +1,51 @@ -+-----BEGIN RSA PRIVATE KEY----- -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 -+-----END RSA PRIVATE KEY----- -diff --git a/test/openssl/test_pair.rb b/test/openssl/test_pair.rb -index eac3655e..8d6ca1e9 100644 ---- a/test/openssl/test_pair.rb -+++ b/test/openssl/test_pair.rb -@@ -10,7 +10,7 @@ def setup - ee_exts = [ - ["keyUsage", "keyEncipherment,digitalSignature", true], - ] -- @svr_key = OpenSSL::TestUtils::Fixtures.pkey("rsa1024") -+ @svr_key = OpenSSL::TestUtils::Fixtures.pkey("rsa-1") - @svr_cert = issue_cert(svr_dn, @svr_key, 1, ee_exts, nil, nil) - end - -@@ -23,7 +23,7 @@ def ssl_pair - sctx = OpenSSL::SSL::SSLContext.new - sctx.cert = @svr_cert - sctx.key = @svr_key -- sctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") } -+ sctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") } - sctx.options |= OpenSSL::SSL::OP_NO_COMPRESSION - ssls = OpenSSL::SSL::SSLServer.new(tcps, sctx) - ns = ssls.accept -@@ -397,7 +397,7 @@ def test_connect_accept_nonblock_no_exception - ctx2 = OpenSSL::SSL::SSLContext.new - ctx2.cert = @svr_cert - ctx2.key = @svr_key -- ctx2.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") } -+ ctx2.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") } - - sock1, sock2 = tcp_pair - -@@ -445,7 +445,7 @@ def test_connect_accept_nonblock - ctx = OpenSSL::SSL::SSLContext.new - ctx.cert = @svr_cert - ctx.key = @svr_key -- ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey_dh("dh1024") } -+ ctx.tmp_dh_callback = proc { OpenSSL::TestUtils::Fixtures.pkey("dh-1") } - - sock1, sock2 = tcp_pair - -diff --git a/test/openssl/test_pkey_dh.rb b/test/openssl/test_pkey_dh.rb -index fb713813..79bf9bb7 100644 ---- a/test/openssl/test_pkey_dh.rb -+++ b/test/openssl/test_pkey_dh.rb -@@ -19,7 +19,7 @@ def test_new_break - end - - def test_DHparams -- dh1024 = Fixtures.pkey_dh("dh1024") -+ dh1024 = Fixtures.pkey("dh1024") - asn1 = OpenSSL::ASN1::Sequence([ - OpenSSL::ASN1::Integer(dh1024.p), - OpenSSL::ASN1::Integer(dh1024.g) -@@ -42,7 +42,7 @@ def test_DHparams - end - - def test_public_key -- dh = Fixtures.pkey_dh("dh1024") -+ dh = Fixtures.pkey("dh1024") - public_key = dh.public_key - assert_no_key(public_key) #implies public_key.public? is false! - assert_equal(dh.to_der, public_key.to_der) -@@ -50,14 +50,14 @@ def test_public_key - end - - def test_generate_key -- dh = Fixtures.pkey_dh("dh1024").public_key # creates a copy -+ dh = Fixtures.pkey("dh1024").public_key # creates a copy - assert_no_key(dh) - dh.generate_key! - assert_key(dh) - end - - def test_key_exchange -- dh = Fixtures.pkey_dh("dh1024") -+ dh = Fixtures.pkey("dh1024") - dh2 = dh.public_key - dh.generate_key! - dh2.generate_key! -diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb -index 408c7d82..2633f7c4 100644 ---- a/test/openssl/test_ssl.rb -+++ b/test/openssl/test_ssl.rb -@@ -712,7 +712,7 @@ def socketpair - - def test_tlsext_hostname - fooctx = OpenSSL::SSL::SSLContext.new -- fooctx.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") } -+ fooctx.tmp_dh_callback = proc { Fixtures.pkey("dh-1") } - fooctx.cert = @cli_cert - fooctx.key = @cli_key - -@@ -764,7 +764,7 @@ def test_servername_cb_raises_an_exception_on_unknown_objects - ctx2 = OpenSSL::SSL::SSLContext.new - ctx2.cert = @svr_cert - ctx2.key = @svr_key -- ctx2.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") } -+ ctx2.tmp_dh_callback = proc { Fixtures.pkey("dh-1") } - ctx2.servername_cb = lambda { |args| Object.new } - - sock1, sock2 = socketpair -@@ -1144,7 +1144,7 @@ def test_alpn_protocol_selection_cancel - ctx1 = OpenSSL::SSL::SSLContext.new - ctx1.cert = @svr_cert - ctx1.key = @svr_key -- ctx1.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") } -+ ctx1.tmp_dh_callback = proc { Fixtures.pkey("dh-1") } - ctx1.alpn_select_cb = -> (protocols) { nil } - ssl1 = OpenSSL::SSL::SSLSocket.new(sock1, ctx1) - -@@ -1386,20 +1386,21 @@ def test_fallback_scsv - def test_dh_callback - pend "TLS 1.2 is not supported" unless tls12_supported? - -+ dh = Fixtures.pkey("dh-1") - called = false - ctx_proc = -> ctx { - ctx.ssl_version = :TLSv1_2 - ctx.ciphers = "DH:!NULL" - ctx.tmp_dh_callback = ->(*args) { - called = true -- Fixtures.pkey_dh("dh1024") -+ dh - } - } - start_server(ctx_proc: ctx_proc) do |port| - server_connect(port) { |ssl| - assert called, "dh callback should be called" - if ssl.respond_to?(:tmp_key) -- assert_equal Fixtures.pkey_dh("dh1024").to_der, ssl.tmp_key.to_der -+ assert_equal dh.to_der, ssl.tmp_key.to_der - end - } - end -diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb -index b7ddd891..fe626ade 100644 ---- a/test/openssl/utils.rb -+++ b/test/openssl/utils.rb -@@ -42,10 +42,8 @@ module Fixtures - - def pkey(name) - OpenSSL::PKey.read(read_file("pkey", name)) -- end -- -- def pkey_dh(name) -- # DH parameters can be read by OpenSSL::PKey.read atm -+ rescue OpenSSL::PKey::PKeyError -+ # TODO: DH parameters can be read by OpenSSL::PKey.read atm - OpenSSL::PKey::DH.new(read_file("pkey", name)) - end - -@@ -157,9 +155,9 @@ class OpenSSL::SSLTestCase < OpenSSL::TestCase - - def setup - super -- @ca_key = Fixtures.pkey("rsa2048") -- @svr_key = Fixtures.pkey("rsa1024") -- @cli_key = Fixtures.pkey("rsa2048") -+ @ca_key = Fixtures.pkey("rsa-1") -+ @svr_key = Fixtures.pkey("rsa-2") -+ @cli_key = Fixtures.pkey("rsa-3") - @ca = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=CA") - @svr = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=localhost") - @cli = OpenSSL::X509::Name.parse("/DC=org/DC=ruby-lang/CN=localhost") -@@ -200,7 +198,7 @@ def start_server(verify_mode: OpenSSL::SSL::VERIFY_NONE, start_immediately: true - ctx.cert_store = store - ctx.cert = @svr_cert - ctx.key = @svr_key -- ctx.tmp_dh_callback = proc { Fixtures.pkey_dh("dh1024") } -+ ctx.tmp_dh_callback = proc { Fixtures.pkey("dh-1") } - ctx.verify_mode = verify_mode - ctx_proc.call(ctx) if ctx_proc - diff --git a/ruby.spec b/ruby.spec index 2e94ada..2f7075d 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 2 -%global minor_version 6 -%global teeny_version 3 +%global minor_version 7 +%global teeny_version 0 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -10,50 +10,51 @@ #%%global milestone rc2 # Keep the revision enabled for pre-releases from SVN. -#%%global revision 66252 +%global revision 76851381cb %global ruby_archive %{name}-%{ruby_version} # If revision and milestone are removed/commented out, the official release build is expected. %if 0%{?milestone:1}%{?revision:1} != 0 -%global development_release %{?milestone}%{?!milestone:%{?revision:r%{revision}}} -%global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision:r%{revision}}} +%global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision}} +%define ruby_archive_timestamp %%(stat --printf='@%Y' %%{ruby_archive}.tar.xz | date -f - +"%Y%m%d") +%global development_release %{?milestone}%{?!milestone:%{?revision:%{ruby_archive_timestamp}git%{revision}}} %endif -%global release 121 -%{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} +%global release 1 +%{!?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 # RubyGems should be share by all Ruby implementations. %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.0.3 +%global rubygems_version 3.1.0.pre1 %global rubygems_molinillo_version 0.5.7 -%global bundler_version 1.17.2 +%global bundler_version 2.1.0.pre.1 # FileUtils had not used to have separate versioning from Ruby :/ Lets use # date of bundling for now. The gemified version of FileUtils has already proper # version (if it's going to be bundled). -%global bundler_fileutils_version 0.20170425 +%global bundler_fileutils_version 1.2.0 %global bundler_molinillo_version 0.6.6 %global bundler_net_http_persistent_version 2.9.4 -%global bundler_thor_version 0.20.0 +%global bundler_thor_version 0.20.3 -%global bigdecimal_version 1.4.1 +%global bigdecimal_version 1.4.2 %global did_you_mean_version 1.3.0 %global io_console_version 0.4.7 -%global irb_version 1.0.0 -%global json_version 2.1.0 +%global irb_version 1.1.0.pre.1 +%global json_version 2.2.0 %global minitest_version 5.11.3 %global net_telnet_version 0.2.0 %global openssl_version 2.1.2 -%global power_assert_version 1.1.3 +%global power_assert_version 1.1.4 %global psych_version 3.1.0 %global rake_version 12.3.2 %global rdoc_version 6.1.0 -%global test_unit_version 3.2.9 +%global test_unit_version 3.3.3 %global xmlrpc_version 0.3.0 # Might not be needed in the future, if we are lucky enough. @@ -139,20 +140,10 @@ Patch7: ruby-2.2.3-Generate-preludes-using-miniruby.patch # 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 -# `gem build ../foo.gemspec` changes directory, which does not play well with -# gems unpacked by setup macro. -# https://github.com/rubygems/rubygems/issues/2587 -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. # https://github.com/ruby/openssl/pull/216 Patch22: ruby-2.6.0-config-support-include-directive.patch -# Use larger keys to prevent test failures. -# https://github.com/ruby/openssl/pull/217 -Patch23: ruby-2.6.0-use-larger-keys-for-SSL-tests.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick @@ -542,10 +533,7 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch7 -p1 %patch9 -p1 -%patch11 -p1 -%patch12 -p1 %patch22 -p1 -%patch23 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -609,13 +597,9 @@ for cert in \ do rm %{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 # Ensure there is not forgotten any certificate. 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 # would be wrongly evaluated during build of other packages. @@ -782,8 +766,11 @@ checksec -f libruby.so.%{ruby_version} | \ # Check Bundler bundled dependencies versions. # FileUtils. -# TODO: There is no version in bundled FileUtils yet. -#%%{global bundler_fileutils_version} +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/fileutils/lib/fileutils/version'; \ + puts Bundler::FileUtils::VERSION\\\"\" | tail -1`" \ + == '%{bundler_fileutils_version}' ] # Molinillo. [ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ @@ -837,6 +824,10 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/test_segv_\(setproctitle\|test\|loaded_featur # https://bugs.ruby-lang.org/issues/14175 sed -i '/def test_mdns_each_address$/,/^ end$/ s/^/#/' test/resolv/test_mdns.rb +# Disable failing TestFileExhaustive#test_birthtime test. +# https://bugs.ruby-lang.org/issues/15972 +DISABLE_TESTS="$DISABLE_TESTS -n !/test_birthtime/" + make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %files @@ -846,6 +837,9 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %license GPL %license LEGAL %{_bindir}/erb +%{_bindir}/racc +%{_bindir}/racc2y +%{_bindir}/y2racc %{_bindir}/%{name}%{?with_rubypick:-mri} %{_mandir}/man1/erb* %{_mandir}/man1/ruby* @@ -897,6 +891,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libdir}/net %{ruby_libdir}/optparse %{ruby_libdir}/racc +%{ruby_libdir}/reline %{ruby_libdir}/rexml %{ruby_libdir}/rinda %{ruby_libdir}/ripper @@ -928,6 +923,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libarchdir}/digest/sha2.so %dir %{ruby_libarchdir}/enc %{ruby_libarchdir}/enc/big5.so +%{ruby_libarchdir}/enc/cesu_8.so %{ruby_libarchdir}/enc/cp949.so %{ruby_libarchdir}/enc/emacs_mule.so %{ruby_libarchdir}/enc/encdb.so @@ -1045,7 +1041,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/etc-1.0.1.gemspec %{gem_dir}/specifications/default/fcntl-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.2.0.gemspec %{gem_dir}/specifications/default/forwardable-1.2.0.gemspec %{gem_dir}/specifications/default/gdbm-2.0.0.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec @@ -1054,8 +1050,10 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec %{gem_dir}/specifications/default/ostruct-0.1.0.gemspec %{gem_dir}/specifications/default/prime-0.1.0.gemspec +%{gem_dir}/specifications/default/racc-1.4.16.pre.1.gemspec +%{gem_dir}/specifications/default/reline-0.0.0.gemspec %{gem_dir}/specifications/default/rexml-3.1.9.gemspec -%{gem_dir}/specifications/default/rss-0.2.7.gemspec +%{gem_dir}/specifications/default/rss-0.2.8.gemspec %{gem_dir}/specifications/default/scanf-1.0.0.gemspec %{gem_dir}/specifications/default/sdbm-1.0.0.gemspec %{gem_dir}/specifications/default/shell-0.7.gemspec @@ -1067,6 +1065,9 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/webrick-1.4.2.gemspec %{gem_dir}/specifications/default/zlib-1.0.0.gemspec +# TODO: Gemify racc +%{gem_dir}/gems/racc-1.4.16.pre.1 + %files -n rubygems-devel %{_rpmconfigdir}/macros.d/macros.rubygems %{_rpmconfigdir}/fileattrs/rubygems.attr @@ -1182,6 +1183,9 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{_mandir}/man5/gemfile.5* %changelog +* Mon Jul 01 2019 Vít Ondruch - 2.7.0-1 +- Upgrade to Ruby 2.7.0 (76851381cb). + * Tue Jun 25 2019 Vít Ondruch - 2.6.3-121 - Properly support %%prerelease in %%gemspec_ macros. diff --git a/rubygems-3.0.3-Avoid-rdoc-hook-when-its-failed-to-load-rdoc-library.patch b/rubygems-3.0.3-Avoid-rdoc-hook-when-its-failed-to-load-rdoc-library.patch deleted file mode 100644 index 690d245..0000000 --- a/rubygems-3.0.3-Avoid-rdoc-hook-when-its-failed-to-load-rdoc-library.patch +++ /dev/null @@ -1,24 +0,0 @@ -From c16675582a68800ef17b6056110e0a8bcdb38b55 Mon Sep 17 00:00:00 2001 -From: SHIBATA Hiroshi -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)) diff --git a/rubygems-3.0.3-Restore-gem-build-behavior-and-introdcue-the-C-flag-to-gem-build.patch b/rubygems-3.0.3-Restore-gem-build-behavior-and-introdcue-the-C-flag-to-gem-build.patch deleted file mode 100644 index fa4f0c3..0000000 --- a/rubygems-3.0.3-Restore-gem-build-behavior-and-introdcue-the-C-flag-to-gem-build.patch +++ /dev/null @@ -1,88 +0,0 @@ -From f4061357d812e9033f07ae3f8f44c4e26839f1e5 Mon Sep 17 00:00:00 2001 -From: bronzdoc -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 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