From 8b746d13cf7e797442cf730262dd5559fe4ebe91 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 13 2020 14:22:15 +0000 Subject: Upgrade to Ruby 2.7.2. --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 6352db3..87583c2 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 d261ea57b5..3c13076b82 100644 --- a/configure.ac +++ b/configure.ac -@@ -3102,6 +3102,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3105,6 +3105,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 d48f74e..9d5dc20 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 c42436c23d..d261ea57b5 100644 --- a/configure.ac +++ b/configure.ac -@@ -3740,7 +3740,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3743,7 +3743,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 d156a73..3595c0d 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 3c13076b82..93af30321d 100644 --- a/configure.ac +++ b/configure.ac -@@ -3804,6 +3804,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3807,6 +3807,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 c256708..f0eeb61 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 93af30321d..bc13397e0e 100644 --- a/configure.ac +++ b/configure.ac -@@ -3776,6 +3776,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3779,6 +3779,10 @@ AC_ARG_WITH(vendorarchdir, [vendorarchdir=$withval], [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}]) @@ -26,7 +26,7 @@ index 93af30321d..bc13397e0e 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX='' -@@ -3800,6 +3804,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3803,6 +3807,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index bf51605..fc85914 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 80b137e380..63cd3b4f8b 100644 --- a/configure.ac +++ b/configure.ac -@@ -3691,9 +3691,6 @@ AS_CASE(["$target_os"], +@@ -3694,9 +3694,6 @@ AS_CASE(["$target_os"], rubyw_install_name='$(RUBYW_INSTALL_NAME)' ]) @@ -30,7 +30,7 @@ index 80b137e380..63cd3b4f8b 100644 rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'} AC_ARG_WITH(rubyarchprefix, AS_HELP_STRING([--with-rubyarchprefix=DIR], -@@ -3716,56 +3713,62 @@ AC_ARG_WITH(ridir, +@@ -3719,56 +3716,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3782,6 +3785,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3785,6 +3788,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -237,7 +237,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index b25068405d..e9fef4a311 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb -@@ -1353,7 +1353,8 @@ def test_self_use_paths +@@ -1378,7 +1378,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, '.gem', Gem.ruby_engine] @@ -247,7 +247,7 @@ index b25068405d..e9fef4a311 100644 assert_equal File.join(parts), Gem.user_dir end -@@ -1429,7 +1430,7 @@ def test_self_vendor_dir +@@ -1454,7 +1455,7 @@ def test_self_vendor_dir vendordir(File.join(@tempdir, 'vendor')) do expected = File.join RbConfig::CONFIG['vendordir'], 'gems', diff --git a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch index 4d81a84..9718d6e 100644 --- a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +++ b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch @@ -8,14 +8,14 @@ on Red Hat platforms. This workaround rhbz#1361037 --- - test/fiddle/helper.rb | 105 ------------------------------------------ - 1 file changed, 105 deletions(-) + test/fiddle/helper.rb | 111 ------------------------------------------ + 1 file changed, 111 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,111 +6,6 @@ +@@ -6,115 +6,6 @@ libc_so = libm_so = nil @@ -56,8 +56,7 @@ index 1da3d93..65148a1 100644 - 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" +- libc_so = libm_so = "/usr/lib/libSystem.B.dylib" -when /kfreebsd/ - libc_so = "/lib/libc.so.0.1" - libm_so = "/lib/libm.so.1" @@ -124,6 +123,11 @@ index 1da3d93..65148a1 100644 -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)) - +-# macOS 11.0+ removed libSystem.B.dylib from /usr/lib. But It works with dlopen. +-if RUBY_PLATFORM =~ /darwin/ +- libc_so = libm_so = "/usr/lib/libSystem.B.dylib" +-end +- if !libc_so || !libm_so ruby = EnvUtil.rubybin # When the ruby binary is 32-bit and the host is 64-bit, diff --git a/ruby-2.6.0-config-support-include-directive.patch b/ruby-2.6.0-config-support-include-directive.patch deleted file mode 100644 index 5b2024b..0000000 --- a/ruby-2.6.0-config-support-include-directive.patch +++ /dev/null @@ -1,182 +0,0 @@ -From f46bac1f3e8634e24c747d06b28e11b874f1e488 Mon Sep 17 00:00:00 2001 -From: Kazuki Yamaguchi -Date: Thu, 16 Aug 2018 19:40:48 +0900 -Subject: [PATCH] config: support .include directive - -OpenSSL 1.1.1 introduces a new '.include' directive. Update our config -parser to support that. - -As mentioned in the referenced GitHub issue, we should use the OpenSSL -API instead of implementing the parsing logic ourselves, but it will -need backwards-incompatible changes which we can't backport to stable -versions. So continue to use the Ruby implementation for now. - -Reference: https://github.com/ruby/openssl/issues/208 ---- - ext/openssl/lib/openssl/config.rb | 54 ++++++++++++++++++++----------- - test/openssl/test_config.rb | 54 +++++++++++++++++++++++++++++++ - 2 files changed, 90 insertions(+), 18 deletions(-) - -diff --git a/ext/openssl/lib/openssl/config.rb b/ext/openssl/lib/openssl/config.rb -index 88225451..ba3a54c8 100644 ---- a/ext/openssl/lib/openssl/config.rb -+++ b/ext/openssl/lib/openssl/config.rb -@@ -77,29 +77,44 @@ def get_key_string(data, section, key) # :nodoc: - def parse_config_lines(io) - section = 'default' - data = {section => {}} -- while definition = get_definition(io) -+ io_stack = [io] -+ while definition = get_definition(io_stack) - definition = clear_comments(definition) - next if definition.empty? -- if definition[0] == ?[ -+ case definition -+ when /\A\[/ - if /\[([^\]]*)\]/ =~ definition - section = $1.strip - data[section] ||= {} - else - raise ConfigError, "missing close square bracket" - end -- else -- if /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/ =~ definition -- if $2 -- section = $1 -- key = $2 -- else -- key = $1 -+ when /\A\.include (\s*=\s*)?(.+)\z/ -+ path = $2 -+ if File.directory?(path) -+ files = Dir.glob(File.join(path, "*.{cnf,conf}"), File::FNM_EXTGLOB) -+ else -+ files = [path] -+ end -+ -+ files.each do |filename| -+ begin -+ io_stack << StringIO.new(File.read(filename)) -+ rescue -+ raise ConfigError, "could not include file '%s'" % filename - end -- value = unescape_value(data, section, $3) -- (data[section] ||= {})[key] = value.strip -+ end -+ when /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/ -+ if $2 -+ section = $1 -+ key = $2 - else -- raise ConfigError, "missing equal sign" -+ key = $1 - end -+ value = unescape_value(data, section, $3) -+ (data[section] ||= {})[key] = value.strip -+ else -+ raise ConfigError, "missing equal sign" - end - end - data -@@ -212,10 +227,10 @@ def clear_comments(line) - scanned.join - end - -- def get_definition(io) -- if line = get_line(io) -+ def get_definition(io_stack) -+ if line = get_line(io_stack) - while /[^\\]\\\z/ =~ line -- if extra = get_line(io) -+ if extra = get_line(io_stack) - line += extra - else - break -@@ -225,9 +240,12 @@ def get_definition(io) - end - end - -- def get_line(io) -- if line = io.gets -- line.gsub(/[\r\n]*/, '') -+ def get_line(io_stack) -+ while io = io_stack.last -+ if line = io.gets -+ return line.gsub(/[\r\n]*/, '') -+ end -+ io_stack.pop - end - end - end -diff --git a/test/openssl/test_config.rb b/test/openssl/test_config.rb -index 99dcc497..5653b5d0 100644 ---- a/test/openssl/test_config.rb -+++ b/test/openssl/test_config.rb -@@ -120,6 +120,49 @@ def test_s_parse_format - assert_equal("error in line 7: missing close square bracket", excn.message) - end - -+ def test_s_parse_include -+ in_tmpdir("ossl-config-include-test") do |dir| -+ Dir.mkdir("child") -+ File.write("child/a.conf", <<~__EOC__) -+ [default] -+ file-a = a.conf -+ [sec-a] -+ a = 123 -+ __EOC__ -+ File.write("child/b.cnf", <<~__EOC__) -+ [default] -+ file-b = b.cnf -+ [sec-b] -+ b = 123 -+ __EOC__ -+ File.write("include-child.conf", <<~__EOC__) -+ key_outside_section = value_a -+ .include child -+ __EOC__ -+ -+ include_file = <<~__EOC__ -+ [default] -+ file-main = unnamed -+ [sec-main] -+ main = 123 -+ .include = include-child.conf -+ __EOC__ -+ -+ # Include a file by relative path -+ c1 = OpenSSL::Config.parse(include_file) -+ assert_equal(["default", "sec-a", "sec-b", "sec-main"], c1.sections.sort) -+ assert_equal(["file-main", "file-a", "file-b"], c1["default"].keys) -+ assert_equal({"a" => "123"}, c1["sec-a"]) -+ assert_equal({"b" => "123"}, c1["sec-b"]) -+ assert_equal({"main" => "123", "key_outside_section" => "value_a"}, c1["sec-main"]) -+ -+ # Relative paths are from the working directory -+ assert_raise(OpenSSL::ConfigError) do -+ Dir.chdir("child") { OpenSSL::Config.parse(include_file) } -+ end -+ end -+ end -+ - def test_s_load - # alias of new - c = OpenSSL::Config.load -@@ -299,6 +342,17 @@ def test_clone - @it['newsection'] = {'a' => 'b'} - assert_not_equal(@it.sections.sort, c.sections.sort) - end -+ -+ private -+ -+ def in_tmpdir(*args) -+ Dir.mktmpdir(*args) do |dir| -+ dir = File.realpath(dir) -+ Dir.chdir(dir) do -+ yield dir -+ end -+ end -+ end - end - - end diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 58c92cf..5dd2654 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -57,7 +57,7 @@ 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) +@@ -1451,10 +1451,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch b/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch index 64e2114..81384ba 100644 --- a/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch +++ b/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -20,7 +20,7 @@ diff --git a/test/-ext-/bug_reporter/test_bug_reporter.rb b/test/-ext-/bug_repor index 628fcd0340..2c677cc8a7 100644 --- a/test/-ext-/bug_reporter/test_bug_reporter.rb +++ b/test/-ext-/bug_reporter/test_bug_reporter.rb -@@ -21,7 +21,7 @@ def test_bug_reporter_add +@@ -19,7 +19,7 @@ def test_bug_reporter_add args = ["--disable-gems", "-r-test-/bug_reporter", "-C", tmpdir] stdin = "register_sample_bug_reporter(12345); Process.kill :SEGV, $$" diff --git a/ruby-2.7.2-psych-fix-yaml-tests.patch b/ruby-2.7.2-psych-fix-yaml-tests.patch deleted file mode 100644 index 5a4be77..0000000 --- a/ruby-2.7.2-psych-fix-yaml-tests.patch +++ /dev/null @@ -1,162 +0,0 @@ -From 3c55d93cf68b1a969b90b306de4dd8b88d74a2f2 Mon Sep 17 00:00:00 2001 -From: nagachika -Date: Sat, 13 Jun 2020 11:29:51 +0900 -Subject: [PATCH] merge revision(s) 7e289cdf3fed588b2d5a6973e29f9ff95cb8d76c: - [Backport #16949] - - [ruby/psych] Fixing compatibility with libyaml 0.2.5 - - The main issue is that commas aren't allowed in local tags. libyaml - was updated to follow the spec, and our tests were out of date. - - See: https://github.com/yaml/libyaml/issues/196 - - https://github.com/ruby/psych/commit/3f5e520fd3 ---- - test/psych/test_nil.rb | 4 ++-- - test/psych/test_psych.rb | 17 +++++++---------- - test/psych/test_yaml.rb | 24 ++++++++++++------------ - version.h | 4 ++-- - 4 files changed, 23 insertions(+), 26 deletions(-) - -diff --git a/test/psych/test_nil.rb b/test/psych/test_nil.rb -index 910a2e697def..bcbbcb9c9397 100644 ---- a/test/psych/test_nil.rb -+++ b/test/psych/test_nil.rb -@@ -5,13 +5,13 @@ module Psych - class TestNil < TestCase - def test_nil - yml = Psych.dump nil -- assert_match(/--- \n(?:\.\.\.\n)?/, yml) -+ assert_match(/---[ ]?\n(?:\.\.\.\n)?/, yml) - assert_nil Psych.load(yml) - end - - def test_array_nil - yml = Psych.dump [nil] -- assert_equal "---\n- \n", yml -+ assert_match(/---\n-[ ]?\n/, yml) - assert_equal [nil], Psych.load(yml) - end - -diff --git a/test/psych/test_psych.rb b/test/psych/test_psych.rb -index eeadc864ef4e..e557feffb76a 100644 ---- a/test/psych/test_psych.rb -+++ b/test/psych/test_psych.rb -@@ -178,17 +178,17 @@ def test_add_builtin_type - - def test_domain_types - got = nil -- Psych.add_domain_type 'foo.bar,2002', 'foo' do |type, val| -+ Psych.add_domain_type 'foo.bar/2002', 'foo' do |type, val| - got = val - end - -- Psych.load('--- !foo.bar,2002/foo hello') -+ Psych.load('--- !foo.bar/2002:foo hello') - assert_equal 'hello', got - -- Psych.load("--- !foo.bar,2002/foo\n- hello\n- world") -+ Psych.load("--- !foo.bar/2002:foo\n- hello\n- world") - assert_equal %w{ hello world }, got - -- Psych.load("--- !foo.bar,2002/foo\nhello: world") -+ Psych.load("--- !foo.bar/2002:foo\nhello: world") - assert_equal({ 'hello' => 'world' }, got) - end - -@@ -295,16 +295,13 @@ def test_callbacks - types = [] - appender = lambda { |*args| types << args } - -- Psych.add_builtin_type('foo', &appender) -- Psych.add_domain_type('example.com,2002', 'foo', &appender) -+ Psych.add_domain_type('example.com:2002', 'foo', &appender) - Psych.load <<-eoyml --- !tag:yaml.org,2002:foo bar --- !tag:example.com,2002:foo bar -+- !tag:example.com:2002:foo bar - eoyml - - assert_equal [ -- ["tag:yaml.org,2002:foo", "bar"], -- ["tag:example.com,2002:foo", "bar"] -+ ["tag:example.com:2002:foo", "bar"] - ], types - end - -diff --git a/test/psych/test_yaml.rb b/test/psych/test_yaml.rb -index 5fa759c981b2..0dfd60f89434 100644 ---- a/test/psych/test_yaml.rb -+++ b/test/psych/test_yaml.rb -@@ -617,11 +617,11 @@ def test_spec_domain_prefix - raise ArgumentError, "Not a Hash in domain.tld,2002/invoice: " + val.inspect - end - } -- Psych.add_domain_type( "domain.tld,2002", 'invoice', &customer_proc ) -- Psych.add_domain_type( "domain.tld,2002", 'customer', &customer_proc ) -+ Psych.add_domain_type( "domain.tld/2002", 'invoice', &customer_proc ) -+ Psych.add_domain_type( "domain.tld/2002", 'customer', &customer_proc ) - assert_parse_only( { "invoice"=> { "customers"=> [ { "given"=>"Chris", "type"=>"domain customer", "family"=>"Dumars" } ], "type"=>"domain invoice" } }, <7, "center"=>{"x"=>73, "y"=>129}, "TYPE"=>"Shape: graph/circle"}, {"finish"=>{"x"=>89, "y"=>102}, "TYPE"=>"Shape: graph/line", "start"=>{"x"=>73, "y"=>129}}, {"TYPE"=>"Shape: graph/text", "value"=>"Pretty vector drawing.", "start"=>{"x"=>73, "y"=>129}, "color"=>16772795}, "Shape Container"]], < -Date: Thu, 23 Jan 2020 15:33:42 +0900 -Subject: [PATCH] brace the fact that lchmod(2) can EOPNOTSUPP - -Musl libc has this function as a tiny wrapper of fchmodat(3posix). On -the other hand Linux kernel does not support changing modes of a symlink. -The operation always fails with EOPNOTSUPP. This fchmodat behaviour is -defined in POSIX. We have to take care of such exceptions. ---- - lib/fileutils.rb | 3 ++- - test/pathname/test_pathname.rb | 2 +- - test/ruby/test_notimp.rb | 19 ++++++++++++------- - 3 files changed, 15 insertions(+), 9 deletions(-) - -diff --git a/lib/fileutils.rb b/lib/fileutils.rb -index a7ad65ae5e98..04788e26ca9c 100644 ---- a/lib/fileutils.rb -+++ b/lib/fileutils.rb -@@ -1345,6 +1345,7 @@ def chmod(mode) - else - File.chmod mode, path() - end -+ rescue Errno::EOPNOTSUPP - end - - def chown(uid, gid) -@@ -1439,7 +1440,7 @@ def copy_metadata(path) - if st.symlink? - begin - File.lchmod mode, path -- rescue NotImplementedError -+ rescue NotImplementedError, Errno::EOPNOTSUPP - end - else - File.chmod mode, path -diff --git a/test/pathname/test_pathname.rb b/test/pathname/test_pathname.rb -index 792510bdfb2d..2ce32a6c1208 100644 ---- a/test/pathname/test_pathname.rb -+++ b/test/pathname/test_pathname.rb -@@ -818,7 +818,7 @@ def test_lchmod - old = path.lstat.mode - begin - path.lchmod(0444) -- rescue NotImplementedError -+ rescue NotImplementedError, Errno::EOPNOTSUPP - next - end - assert_equal(0444, path.lstat.mode & 0777) -diff --git a/test/ruby/test_notimp.rb b/test/ruby/test_notimp.rb -index b069154cfc3f..e13db692b50d 100644 ---- a/test/ruby/test_notimp.rb -+++ b/test/ruby/test_notimp.rb -@@ -13,11 +13,11 @@ def test_respond_to_fork - - def test_respond_to_lchmod - assert_include(File.methods, :lchmod) -- if /linux/ =~ RUBY_PLATFORM -- assert_equal(false, File.respond_to?(:lchmod)) -- end -- if /freebsd/ =~ RUBY_PLATFORM -+ case RUBY_PLATFORM -+ when /freebsd/, /linux-musl/ - assert_equal(true, File.respond_to?(:lchmod)) -+ when /linux/ -+ assert_equal(false, File.respond_to?(:lchmod)) - end - end - -@@ -57,9 +57,14 @@ def test_call_lchmod - File.open(f, "w") {} - File.symlink f, g - newmode = 0444 -- File.lchmod newmode, "#{d}/g" -- snew = File.lstat(g) -- assert_equal(newmode, snew.mode & 0777) -+ begin -+ File.lchmod newmode, "#{d}/g" -+ rescue Errno::EOPNOTSUPP -+ skip $! -+ else -+ snew = File.lstat(g) -+ assert_equal(newmode, snew.mode & 0777) -+ end - } - end - end diff --git a/ruby-2.8.0-Moved-not-implemented-method-tests.patch b/ruby-2.8.0-Moved-not-implemented-method-tests.patch deleted file mode 100644 index ffc8c52..0000000 --- a/ruby-2.8.0-Moved-not-implemented-method-tests.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 72c02aa4b79731c7f25c9267f74b347f1946c704 Mon Sep 17 00:00:00 2001 -From: Nobuyoshi Nakada -Date: Fri, 28 Feb 2020 21:15:37 +0900 -Subject: [PATCH] Moved not-implemented method tests [Bug #16662] - -Test not-implemented method with the dedicated methods, instead of -platform dependent features. ---- - test/-ext-/test_notimplement.rb | 7 +++ - test/ruby/test_notimp.rb | 90 --------------------------------- - 2 files changed, 7 insertions(+), 90 deletions(-) - delete mode 100644 test/ruby/test_notimp.rb - -diff --git a/test/-ext-/test_notimplement.rb b/test/-ext-/test_notimplement.rb -index 92a2fd22b8d6..038b507b7312 100644 ---- a/test/-ext-/test_notimplement.rb -+++ b/test/-ext-/test_notimplement.rb -@@ -13,10 +13,17 @@ def test_funcall_notimplement - end - - def test_respond_to -+ assert_include(Bug.methods(false), :notimplement) -+ assert_include(Bug::NotImplement.instance_methods(false), :notimplement) - assert_not_respond_to(Bug, :notimplement) - assert_not_respond_to(Bug::NotImplement.new, :notimplement) - end - -+ def test_method_inspect_notimplement -+ assert_match(/not-implemented/, Bug.method(:notimplement).inspect) -+ assert_match(/not-implemented/, Bug::NotImplement.instance_method(:notimplement).inspect) -+ end -+ - def test_not_method_defined - assert !Bug::NotImplement.method_defined?(:notimplement) - assert !Bug::NotImplement.method_defined?(:notimplement, true) -diff --git a/test/ruby/test_notimp.rb b/test/ruby/test_notimp.rb -deleted file mode 100644 -index e13db692b50d..000000000000 ---- a/test/ruby/test_notimp.rb -+++ /dev/null -@@ -1,90 +0,0 @@ --# frozen_string_literal: false --require 'test/unit' --require 'timeout' --require 'tmpdir' -- --class TestNotImplement < Test::Unit::TestCase -- def test_respond_to_fork -- assert_include(Process.methods, :fork) -- if /linux/ =~ RUBY_PLATFORM -- assert_equal(true, Process.respond_to?(:fork)) -- end -- end -- -- def test_respond_to_lchmod -- assert_include(File.methods, :lchmod) -- case RUBY_PLATFORM -- when /freebsd/, /linux-musl/ -- assert_equal(true, File.respond_to?(:lchmod)) -- when /linux/ -- assert_equal(false, File.respond_to?(:lchmod)) -- end -- end -- -- def test_call_fork -- GC.start -- pid = nil -- ps = -- case RUBY_PLATFORM -- when /linux/ # assume Linux Distribution uses procps -- proc {`ps -eLf #{pid}`} -- when /freebsd/ -- proc {`ps -lH #{pid}`} -- when /darwin/ -- proc {`ps -lM #{pid}`} -- else -- proc {`ps -l #{pid}`} -- end -- assert_nothing_raised(Timeout::Error, ps) do -- EnvUtil.timeout(20) { -- pid = fork {} -- Process.wait pid -- pid = nil -- } -- end -- ensure -- if pid -- Process.kill(:KILL, pid) -- Process.wait pid -- end -- end if Process.respond_to?(:fork) -- -- def test_call_lchmod -- if File.respond_to?(:lchmod) -- Dir.mktmpdir {|d| -- f = "#{d}/f" -- g = "#{d}/g" -- File.open(f, "w") {} -- File.symlink f, g -- newmode = 0444 -- begin -- File.lchmod newmode, "#{d}/g" -- rescue Errno::EOPNOTSUPP -- skip $! -- else -- snew = File.lstat(g) -- assert_equal(newmode, snew.mode & 0777) -- end -- } -- end -- end -- -- def test_method_inspect_fork -- m = Process.method(:fork) -- if Process.respond_to?(:fork) -- assert_not_match(/not-implemented/, m.inspect) -- else -- assert_match(/not-implemented/, m.inspect) -- end -- end -- -- def test_method_inspect_lchmod -- m = File.method(:lchmod) -- if File.respond_to?(:lchmod) -- assert_not_match(/not-implemented/, m.inspect) -- else -- assert_match(/not-implemented/, m.inspect) -- end -- end -- --end diff --git a/ruby.spec b/ruby.spec index 942088f..9c0d538 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 2 %global minor_version 7 -%global teeny_version 1 +%global teeny_version 2 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -22,7 +22,7 @@ %endif -%global release 134 +%global release 135 %{!?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 @@ -30,7 +30,7 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.1.2 +%global rubygems_version 3.1.4 %global rubygems_molinillo_version 0.5.7 # Default gems. @@ -44,7 +44,7 @@ %global bigdecimal_version 2.0.0 %global did_you_mean_version 1.4.0 %global io_console_version 0.5.6 -%global irb_version 1.2.3 +%global irb_version 1.2.6 %global json_version 2.3.0 %global net_telnet_version 0.2.0 %global openssl_version 2.1.2 @@ -150,17 +150,9 @@ Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # Revert commit which breaks bundled net-http-persistent version check. # https://github.com/drbrain/net-http-persistent/pull/109 Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch -# Fix lchmod test failures. -# https://github.com/ruby/ruby/commit/a19228f878d955eaf2cce086bcf53f46fdf894b9 -Patch11: ruby-2.8.0-Brace-the-fact-that-lchmod-can-EOPNOTSUPP.patch -# https://github.com/ruby/ruby/commit/72c02aa4b79731c7f25c9267f74b347f1946c704 -Patch12: ruby-2.8.0-Moved-not-implemented-method-tests.patch # Prevent issues with openssl loading when RubyGems are disabled. # https://github.com/ruby/openssl/pull/242 Patch13: ruby-2.8.0-remove-unneeded-gem-require-for-ipaddr.patch -# Fix compatibility with libyaml 0.2.5 -# https://bugs.ruby-lang.org/issues/16949 -Patch14: ruby-2.7.2-psych-fix-yaml-tests.patch # Fix `require` behavior allowing to load libraries multiple times. # https://github.com/rubygems/rubygems/issues/3647 # Because there were multiple fixes in `Kernel.require` in recent months, @@ -177,10 +169,6 @@ Patch18: rubygems-3.1.3-Fix-correctness-and-performance-regression-in-require.pa # https://bugs.ruby-lang.org/issues/16492 Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.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 - Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick Recommends: ruby(rubygems) >= %{rubygems_version} @@ -589,16 +577,12 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -%patch12 -p1 %patch13 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 -%patch22 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -878,8 +862,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to # Disable File.lchmod specs, which fails when building against glibc 2.31.9000. # https://bugs.ruby-lang.org/issues/16749 -MSPECOPTS="$MSPECOPTS -P 'File.lchmod returns false from \#respond_to?'" -MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError when called'" +MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not of the file'" # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 @@ -1167,7 +1150,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError when called'" %{gem_dir}/specifications/default/racc-%{racc_version}.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.3.gemspec +%{gem_dir}/specifications/default/reline-0.1.5.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 @@ -1297,6 +1280,9 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError when called'" %changelog +* Tue Oct 13 2020 Vít Ondruch - 2.7.2-135 +- Upgrade to Ruby 2.7.2. + * Wed Jul 29 2020 Fedora Release Engineering - 2.7.1-134 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/rubygems-3.1.3-Fix-correctness-and-performance-regression-in-require.patch b/rubygems-3.1.3-Fix-correctness-and-performance-regression-in-require.patch index b1438dd..ae6ecbb 100644 --- a/rubygems-3.1.3-Fix-correctness-and-performance-regression-in-require.patch +++ b/rubygems-3.1.3-Fix-correctness-and-performance-regression-in-require.patch @@ -15,7 +15,7 @@ diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 843cb49e4a..d1a9a1c7e1 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb -@@ -660,10 +660,20 @@ def self.load_path_insert_index +@@ -662,10 +662,20 @@ def self.load_path_insert_index index end @@ -53,7 +53,7 @@ diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index a05a2898d1..53dd495aef 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb -@@ -379,6 +379,7 @@ def setup +@@ -385,6 +385,7 @@ def setup Gem::Security.reset Gem.loaded_specs.clear @@ -98,7 +98,7 @@ diff --git a/lib/rubygems.rb b/lib/rubygems.rb index d1a9a1c7e1..ca80326459 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb -@@ -657,7 +657,7 @@ def self.load_path_insert_index +@@ -659,7 +659,7 @@ def self.load_path_insert_index index = $LOAD_PATH.index RbConfig::CONFIG['sitelibdir'] @@ -107,7 +107,7 @@ index d1a9a1c7e1..ca80326459 100644 end ## -@@ -674,15 +674,8 @@ def self.activated_gem_paths +@@ -676,15 +676,8 @@ def self.activated_gem_paths def self.add_to_load_path(*paths) @activated_gem_paths = activated_gem_paths + paths.size diff --git a/sources b/sources index 38b728a..df34d8a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruby-2.7.1.tar.xz) = 79f98b1ea98e0b10ec79da1883e8fc84d48ffe5c09ae945cbebde94365e35a589d919aac965f74d70ca7e21370ecee631ac5a8f9c4eac61d62f5aa629f27bf31 +SHA512 (ruby-2.7.2.tar.xz) = 7972278b096aa768c7adf2befd26003e18781a29ca317640317d30d93d6e963ded197724c8e2f1dfe1e838c5647176d414a74732a62e931fb50d6f2e0f777349