From 5b47f50e0847c266bf0afd4fb15daaf29b50380c Mon Sep 17 00:00:00 2001 From: tigro Date: Tue, 26 Sep 2023 14:49:57 +0300 Subject: [PATCH] import --- ..metadata | 1 + .gitignore | 2 +- ...0-Enable-configuration-of-archlibdir.patch | 5 +- ...ed-paths-when-empty-version-string-i.patch | 7 +- SOURCES/ruby-2.1.0-always-use-i386.patch | 5 +- .../ruby-2.1.0-custom-rubygems-location.patch | 11 +- SOURCES/ruby-2.3.0-ruby_version.patch | 91 +- SOURCES/ruby-2.7.0-Initialize-ABRT-hook.patch | 9 +- ..._bug_reporter_add-witout-raising-err.patch | 9 +- ...ery-RubyVM-FrozenCore-for-class-path.patch | 29 +- ...Revert-Fix-test-syntax-suggest-order.patch | 73 ++ ...rt-Test-syntax_suggest-by-make-check.patch | 67 ++ ...uby-3.2.0-Use-SHA256-instead-of-SHA1.patch | 39 + SPECS/ruby.spec | 947 ++++++++++-------- 14 files changed, 789 insertions(+), 506 deletions(-) create mode 100644 ..metadata create mode 100644 SOURCES/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch create mode 100644 SOURCES/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch create mode 100644 SOURCES/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch diff --git a/..metadata b/..metadata new file mode 100644 index 0000000..07ce59d --- /dev/null +++ b/..metadata @@ -0,0 +1 @@ +087af286b70b0e17f88c9c4469b471eca2010161 SOURCES/ruby-3.2.2.tar.xz diff --git a/.gitignore b/.gitignore index a915dc1..097f161 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/ruby-3.0.4.tar.xz +SOURCES/ruby-3.2.2.tar.xz diff --git a/SOURCES/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/SOURCES/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 32806da..2646a80 100644 --- a/SOURCES/ruby-2.1.0-Enable-configuration-of-archlibdir.patch +++ b/SOURCES/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 -@@ -3240,6 +3240,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3411,6 +3411,11 @@ AS_IF([test ${multiarch+set}], [ ]) archlibdir='${libdir}/${arch}' @@ -23,6 +23,3 @@ index d261ea57b5..3c13076b82 100644 sitearchlibdir='${libdir}/${sitearch}' archincludedir='${includedir}/${arch}' sitearchincludedir='${includedir}/${sitearch}' --- -2.22.0 - diff --git a/SOURCES/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch b/SOURCES/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch index 118203c..6f2fbe7 100644 --- a/SOURCES/ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +++ b/SOURCES/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 -@@ -3881,7 +3881,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4196,7 +4196,8 @@ AS_CASE(["$ruby_version_dir_name"], ruby_version_dir=/'${ruby_version_dir_name}' if test -z "${ruby_version_dir_name}"; then @@ -66,7 +66,7 @@ diff --git a/tool/mkconfig.rb b/tool/mkconfig.rb index 07076d4..35e6c3c 100755 --- a/tool/mkconfig.rb +++ b/tool/mkconfig.rb -@@ -114,7 +114,7 @@ +@@ -115,7 +115,7 @@ val = val.gsub(/\$(?:\$|\{?(\w+)\}?)/) {$1 ? "$(#{$1})" : $&}.dump case name when /^prefix$/ @@ -75,6 +75,3 @@ index 07076d4..35e6c3c 100755 when /^ARCH_FLAG$/ val = "arch_flag || #{val}" if universal when /^UNIVERSAL_ARCHNAMES$/ --- -1.9.0 - diff --git a/SOURCES/ruby-2.1.0-always-use-i386.patch b/SOURCES/ruby-2.1.0-always-use-i386.patch index de58295..f94b656 100644 --- a/SOURCES/ruby-2.1.0-always-use-i386.patch +++ b/SOURCES/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 -@@ -3945,6 +3945,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4260,6 +4260,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 @@ -20,6 +20,3 @@ index 3c13076b82..93af30321d 100644 AS_IF([test "${universal_binary-no}" = yes ], [ arch="universal-${target_os}" AS_IF([test "${rb_cv_architecture_available}" = yes], [ --- -1.8.3.1 - diff --git a/SOURCES/ruby-2.1.0-custom-rubygems-location.patch b/SOURCES/ruby-2.1.0-custom-rubygems-location.patch index f7862fa..0cb2012 100644 --- a/SOURCES/ruby-2.1.0-custom-rubygems-location.patch +++ b/SOURCES/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 -@@ -3917,6 +3917,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4232,6 +4232,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='' -@@ -3941,6 +3945,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4256,6 +4260,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 e9110a17ca..76a1f0a315 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -349,6 +349,7 @@ def CONFIG.[](name, mandatory = false) +@@ -359,6 +359,7 @@ def CONFIG.[](name, mandatory = false) vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] end @@ -75,7 +75,7 @@ index e9110a17ca..76a1f0a315 100755 mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -@@ -581,7 +582,16 @@ def stub +@@ -595,7 +596,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir noinst = %w[*.txt *.rdoc *.gemspec] @@ -92,6 +92,3 @@ index e9110a17ca..76a1f0a315 100755 end install?(:local, :comm, :hdr, :'comm-hdr') do --- -1.8.3.1 - diff --git a/SOURCES/ruby-2.3.0-ruby_version.patch b/SOURCES/ruby-2.3.0-ruby_version.patch index b0a73a9..866fef4 100644 --- a/SOURCES/ruby-2.3.0-ruby_version.patch +++ b/SOURCES/ruby-2.3.0-ruby_version.patch @@ -12,15 +12,15 @@ ruby_version_dir_name now specifies custom version string for versioned directories, e.g. instead of default X.Y.Z, you can specify whatever string. --- - configure.ac | 64 ++++++++++++++++++++++++--------------------- + configure.ac | 66 ++++++++++++++++++++++++--------------------- template/ruby.pc.in | 1 + - 2 files changed, 35 insertions(+), 30 deletions(-) + 2 files changed, 36 insertions(+), 31 deletions(-) diff --git a/configure.ac b/configure.ac index 80b137e380..63cd3b4f8b 100644 --- a/configure.ac +++ b/configure.ac -@@ -3832,9 +3832,6 @@ AS_CASE(["$target_os"], +@@ -4146,9 +4146,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], -@@ -3857,56 +3854,62 @@ AC_ARG_WITH(ridir, +@@ -4171,57 +4168,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -46,6 +46,7 @@ index 80b137e380..63cd3b4f8b 100644 -AS_IF([test ${RUBY_LIB_VERSION_STYLE+set}], [ - { - echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE" +- echo '@%:@include "confdefs.h"' - echo '#define STRINGIZE(x) x' - test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0' - echo '#include "version.h"' @@ -61,6 +62,7 @@ index 80b137e380..63cd3b4f8b 100644 +RUBY_LIB_VERSION_STYLE='3 /* full */' +{ +echo "#define RUBY_LIB_VERSION_STYLE $RUBY_LIB_VERSION_STYLE" ++echo '@%:@include "confdefs.h"' +echo '#define STRINGIZE(x) x' +test -f revision.h -o -f "${srcdir}/revision.h" || echo '#define RUBY_REVISION 0' +echo '#include "version.h"' @@ -120,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3923,6 +3926,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4238,6 +4241,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -132,16 +134,14 @@ diff --git a/template/ruby.pc.in b/template/ruby.pc.in index 8a2c066..c81b211 100644 --- a/template/ruby.pc.in +++ b/template/ruby.pc.in -@@ -9,6 +9,7 @@ MAJOR=@MAJOR@ +@@ -2,6 +2,7 @@ MAJOR=@MAJOR@ MINOR=@MINOR@ TEENY=@TEENY@ ruby_version=@ruby_version@ +ruby_version_dir_name=@ruby_version_dir_name@ RUBY_API_VERSION=@RUBY_API_VERSION@ RUBY_PROGRAM_VERSION=@RUBY_PROGRAM_VERSION@ - RUBY_BASE_NAME=@RUBY_BASE_NAME@ --- -2.1.0 + arch=@arch@ From 518850aba6eee76de7715aae8d37330e34b01983 Mon Sep 17 00:00:00 2001 @@ -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 -@@ -439,7 +439,7 @@ def CONFIG.[](name, mandatory = false) +@@ -453,7 +453,7 @@ def CONFIG.[](name, mandatory = false) install?(:doc, :rdoc) do if $rdocdir @@ -180,9 +180,6 @@ index d4c110e..d39c9a6 100755 prepare "rdoc", ridatadir install_recursive($rdocdir, ridatadir, :no_install => rdoc_noinst, :mode => $data_mode) end --- -2.23.0 - From 9f0ec0233f618cbb862629816b22491c3df79578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= @@ -190,46 +187,39 @@ Date: Tue, 31 Mar 2015 16:37:44 +0200 Subject: [PATCH 3/4] Add ruby_version_dir_name support for RubyGems. --- - lib/rubygems/defaults.rb | 9 +++++---- + lib/rubygems/defaults.rb | 7 ++++--- test/rubygems/test_gem.rb | 5 +++-- - 2 files changed, 8 insertions(+), 6 deletions(-) + 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb index d4ff4a262c..3f9a5bf590 100644 --- a/lib/rubygems/defaults.rb +++ b/lib/rubygems/defaults.rb -@@ -38,13 +38,13 @@ def self.default_dir - [ - File.dirname(RbConfig::CONFIG['sitedir']), - 'Gems', -- RbConfig::CONFIG['ruby_version'], -+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] - ] - else - [ - RbConfig::CONFIG['rubylibprefix'], - 'gems', -- RbConfig::CONFIG['ruby_version'], -+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] - ] - end +@@ -34,7 +34,7 @@ def self.default_spec_cache_dir + # specified in the environment + + def self.default_dir +- @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version"]) ++ @default_dir ||= File.join(RbConfig::CONFIG["rubylibprefix"], "gems", RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"]) + end -@@ -117,7 +117,8 @@ def self.user_dir + ## +@@ -103,7 +103,8 @@ def self.user_dir gem_dir = File.join(Gem.user_home, ".gem") gem_dir = File.join(Gem.data_home, "gem") unless File.exist?(gem_dir) parts = [gem_dir, ruby_engine] -- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty? -+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] +- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty? ++ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"] + parts << ruby_version_dir_name unless ruby_version_dir_name.empty? File.join parts end -@@ -252,7 +253,7 @@ def self.vendor_dir # :nodoc: - return nil unless RbConfig::CONFIG.key? 'vendordir' +@@ -248,7 +249,7 @@ def self.vendor_dir # :nodoc: + return nil unless RbConfig::CONFIG.key? "vendordir" - File.join RbConfig::CONFIG['vendordir'], 'gems', -- RbConfig::CONFIG['ruby_version'] -+ RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + File.join RbConfig::CONFIG["vendordir"], "gems", +- RbConfig::CONFIG["ruby_version"] ++ RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"] end ## @@ -237,27 +227,25 @@ 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 -@@ -1440,7 +1440,8 @@ def test_self_use_paths +@@ -1337,7 +1337,8 @@ def test_self_use_paths def test_self_user_dir - parts = [@userhome, '.gem', Gem.ruby_engine] -- parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty? -+ ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + parts = [@userhome, ".gem", Gem.ruby_engine] +- parts << RbConfig::CONFIG["ruby_version"] unless RbConfig::CONFIG["ruby_version"].empty? ++ ruby_version_dir_name = RbConfig::CONFIG["ruby_version_dir_name"] || RbConfig::CONFIG["ruby_version"] + parts << ruby_version_dir_name unless ruby_version_dir_name.empty? FileUtils.mkdir_p File.join(parts) -@@ -1516,7 +1517,7 @@ def test_self_vendor_dir - vendordir(File.join(@tempdir, 'vendor')) do +@@ -1413,7 +1414,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'] + 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 --- -2.1.0 From 88c38a030c22dbf9422ece847bdfbf87d6659313 Mon Sep 17 00:00:00 2001 @@ -274,7 +262,7 @@ diff --git a/configure.ac b/configure.ac index a00f2b6776..999e2d6d5d 100644 --- a/configure.ac +++ b/configure.ac -@@ -107,7 +107,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` +@@ -124,7 +124,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) @@ -283,6 +271,3 @@ index a00f2b6776..999e2d6d5d 100644 dnl checks for alternative programs AC_CANONICAL_BUILD --- -2.1.0 - diff --git a/SOURCES/ruby-2.7.0-Initialize-ABRT-hook.patch b/SOURCES/ruby-2.7.0-Initialize-ABRT-hook.patch index 2b90d9e..b0aace4 100644 --- a/SOURCES/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/SOURCES/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -43,9 +43,9 @@ 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 +@@ -86,7 +86,8 @@ ENC_MK = enc.mk MAKE_ENC = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \ - RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags) + RUBY="$(BOOTSTRAPRUBY)" MINIRUBY="$(BOOTSTRAPRUBY)" $(mflags) -COMMONOBJS = array.$(OBJEXT) \ +COMMONOBJS = abrt.$(OBJEXT) \ @@ -57,7 +57,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1489,10 +1489,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1572,10 +1572,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); @@ -72,6 +72,3 @@ index 60c57d6259..1eec16f2c8 100644 rb_const_remove(rb_cObject, rb_intern_const("TMP_RUBY_PREFIX")); } --- -2.24.1 - diff --git a/SOURCES/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch b/SOURCES/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch index 64e2114..b14971e 100644 --- a/SOURCES/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch +++ b/SOURCES/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -20,15 +20,12 @@ 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 - args = ["--disable-gems", "-r-test-/bug_reporter", +@@ -28,7 +28,7 @@ def test_bug_reporter_add "-C", tmpdir] - stdin = "register_sample_bug_reporter(12345); Process.kill :SEGV, $$" + args.push("--yjit") if yjit_enabled? # We want the printed description to match this process's RUBY_DESCRIPTION + stdin = "#{no_core}register_sample_bug_reporter(12345); Process.kill :SEGV, $$" - assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT") + assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT", timeout_error: nil) ensure FileUtils.rm_rf(tmpdir) if tmpdir end --- -2.27.0 - diff --git a/SOURCES/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch b/SOURCES/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch index f32f306..22b94e6 100644 --- a/SOURCES/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch +++ b/SOURCES/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch @@ -21,23 +21,20 @@ diff --git a/vm.c b/vm.c index 8ce8b279d4..3d189fa63a 100644 --- a/vm.c +++ b/vm.c -@@ -446,7 +446,15 @@ rb_dtrace_setup(rb_execution_context_t *ec, VALUE klass, ID id, +@@ -547,7 +547,15 @@ rb_dtrace_setup(rb_execution_context_t *ec, VALUE klass, ID id, } type = BUILTIN_TYPE(klass); if (type == T_CLASS || type == T_ICLASS || type == T_MODULE) { -- VALUE name = rb_class_path(klass); -+ VALUE name = Qnil; -+ /* -+ * Special treatment for rb_mRubyVMFrozenCore wchi is broken by GC. +- VALUE name = rb_class_path(klass); ++ VALUE name = Qnil; ++ /* ++ * Special treatment for rb_mRubyVMFrozenCore wchi is broken by GC. + * https://bugs.ruby-lang.org/issues/18257 -+ */ -+ if (klass == rb_mRubyVMFrozenCore) -+ name = rb_str_new_cstr("RubyVM::FrozenCore"); -+ else -+ name = rb_class_path(klass); - const char *classname, *filename; - const char *methodname = rb_id2name(id); - if (methodname && (filename = rb_source_location_cstr(&args->line_no)) != 0) { --- -2.34.1 - ++ */ ++ if (klass == rb_mRubyVMFrozenCore) ++ name = rb_str_new_cstr("RubyVM::FrozenCore"); ++ else ++ name = rb_class_path(klass); + const char *classname, *filename; + const char *methodname = rb_id2name(id); + if (methodname && (filename = rb_source_location_cstr(&args->line_no)) != 0) { diff --git a/SOURCES/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch b/SOURCES/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch new file mode 100644 index 0000000..ee3b177 --- /dev/null +++ b/SOURCES/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch @@ -0,0 +1,73 @@ +From 5e2f8761b2342ee58f9689a7d62d48ec031e59c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Mon, 2 Jan 2023 14:30:13 +0100 +Subject: [PATCH] Revert "Fix test-syntax-suggest order" + +This reverts commit 18c1ca8f4c0748905d5cedb6c044df507ea8ad6a. +--- + common.mk | 12 ++++-------- + defs/gmake.mk | 2 +- + 2 files changed, 5 insertions(+), 9 deletions(-) + +diff --git a/common.mk b/common.mk +index d0558697d7..e73841aae7 100644 +--- a/common.mk ++++ b/common.mk +@@ -767,7 +767,8 @@ clean-spec: PHONY + -$(Q) $(RMDIRS) $(RUBYSPEC_CAPIEXT) 2> $(NULL) || $(NULLCMD) + -$(Q) $(RMALL) rubyspec_temp + +-check: main $(DOT_WAIT) test $(DOT_WAIT) test-tool $(DOT_WAIT) test-all ++check: main $(DOT_WAIT) test $(DOT_WAIT) test-tool $(DOT_WAIT) test-all \ ++ $(DOT_WAIT) test-spec $(DOT_WAIT) test-syntax-suggest + $(ECHO) check succeeded + -$(Q) : : "run only on sh"; \ + if [ x"$(GIT)" != x ] && $(CHDIR) "$(srcdir)" && \ +@@ -903,8 +904,6 @@ yes-test-spec: test-spec-precheck + $(ACTIONS_ENDGROUP) + no-test-spec: + +-check: $(DOT_WAIT) test-spec +- + RUNNABLE = $(LIBRUBY_RELATIVE:no=un)-runnable + runnable: $(RUNNABLE) prog $(tooldir)/mkrunnable.rb PHONY + $(Q) $(MINIRUBY) $(tooldir)/mkrunnable.rb -v $(EXTOUT) +@@ -1456,7 +1455,6 @@ test-syntax-suggest-precheck: $(TEST_RUNNABLE)-test-syntax-suggest-precheck + no-test-syntax-suggest-precheck: + yes-test-syntax-suggest-precheck: main + +-test-syntax-suggest-prepare: $(TEST_RUNNABLE)-test-syntax-suggest-prepare + no-test-syntax-suggest-prepare: no-test-syntax-suggest-precheck + yes-test-syntax-suggest-prepare: yes-test-syntax-suggest-precheck + $(ACTIONS_GROUP) +@@ -1466,15 +1464,13 @@ yes-test-syntax-suggest-prepare: yes-test-syntax-suggest-precheck + + RSPECOPTS = + SYNTAX_SUGGEST_SPECS = +-PREPARE_SYNTAX_SUGGEST = test-syntax-suggest-prepare ++PREPARE_SYNTAX_SUGGEST = yes-test-syntax-suggest-prepare + test-syntax-suggest: $(TEST_RUNNABLE)-test-syntax-suggest +-yes-test-syntax-suggest: yes-$(PREPARE_SYNTAX_SUGGEST) ++yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) + $(XRUBY) -C $(srcdir) -Ispec/syntax_suggest .bundle/bin/rspec \ + --require spec_helper $(RSPECOPTS) spec/syntax_suggest/$(SYNTAX_SUGGEST_SPECS) + no-test-syntax-suggest: + +-check: $(DOT_WAIT) $(TEST_RUNNABLE)-$(PREPARE_SYNTAX_SUGGEST) test-syntax-suggest +- + test-bundler-precheck: $(TEST_RUNNABLE)-test-bundler-precheck + no-test-bundler-precheck: + yes-test-bundler-precheck: main $(arch)-fake.rb +diff --git a/defs/gmake.mk b/defs/gmake.mk +index 54fef6685f..0aa403a4eb 100644 +--- a/defs/gmake.mk ++++ b/defs/gmake.mk +@@ -84,7 +84,7 @@ endif + ORDERED_TEST_TARGETS := $(filter $(TEST_TARGETS), \ + btest-ruby test-knownbug test-basic \ + test-testframework test-tool test-ruby test-all \ +- test-spec test-syntax-suggest-prepare test-syntax-suggest \ ++ test-spec test-syntax-suggest \ + test-bundler-prepare test-bundler test-bundler-parallel \ + test-bundled-gems-precheck test-bundled-gems-fetch \ + test-bundled-gems-prepare test-bundled-gems-run \ diff --git a/SOURCES/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch b/SOURCES/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch new file mode 100644 index 0000000..3efb21f --- /dev/null +++ b/SOURCES/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch @@ -0,0 +1,67 @@ +From cf60e383a9c98da5cd75012f2aabfa4a2774aade Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Mon, 2 Jan 2023 14:16:39 +0100 +Subject: [PATCH] Revert "Test syntax_suggest by `make check`" + +This reverts commit cae53842735237ccf71a13873fd0d1ae7f165582. +--- + common.mk | 6 ++---- + defs/gmake.mk | 6 ++---- + 2 files changed, 4 insertions(+), 8 deletions(-) + +diff --git a/common.mk b/common.mk +index 27f6a9d89d..8021f03a58 100644 +--- a/common.mk ++++ b/common.mk +@@ -767,8 +767,7 @@ clean-spec: PHONY + -$(Q) $(RMDIRS) $(RUBYSPEC_CAPIEXT) 2> $(NULL) || $(NULLCMD) + -$(Q) $(RMALL) rubyspec_temp + +-check: main $(DOT_WAIT) test $(DOT_WAIT) test-tool $(DOT_WAIT) test-all \ +- $(DOT_WAIT) test-spec $(DOT_WAIT) test-syntax-suggest ++check: main $(DOT_WAIT) test $(DOT_WAIT) test-tool $(DOT_WAIT) test-all $(DOT_WAIT) test-spec + $(ECHO) check succeeded + -$(Q) : : "run only on sh"; \ + if [ x"$(GIT)" != x ] && $(CHDIR) "$(srcdir)" && \ +@@ -1464,9 +1463,8 @@ yes-test-syntax-suggest-prepare: yes-test-syntax-suggest-precheck + + RSPECOPTS = + SYNTAX_SUGGEST_SPECS = +-PREPARE_SYNTAX_SUGGEST = yes-test-syntax-suggest-prepare + test-syntax-suggest: $(TEST_RUNNABLE)-test-syntax-suggest +-yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) ++yes-test-syntax-suggest: yes-test-syntax-suggest-prepare + $(XRUBY) -C $(srcdir) -Ispec/syntax_suggest .bundle/bin/rspec \ + --require spec_helper $(RSPECOPTS) spec/syntax_suggest/$(SYNTAX_SUGGEST_SPECS) + no-test-syntax-suggest: +diff --git a/defs/gmake.mk b/defs/gmake.mk +index 0aa403a4eb..dc9d31f49e 100644 +--- a/defs/gmake.mk ++++ b/defs/gmake.mk +@@ -27,7 +27,7 @@ TEST_DEPENDS := $(filter-out commit $(TEST_TARGETS),$(MAKECMDGOALS)) + TEST_TARGETS := $(patsubst great,exam,$(TEST_TARGETS)) + TEST_DEPENDS := $(filter-out great $(TEST_TARGETS),$(TEST_DEPENDS)) + TEST_TARGETS := $(patsubst exam,check,$(TEST_TARGETS)) +-TEST_TARGETS := $(patsubst check,test-syntax-suggest test-spec test-all test-tool test-short,$(TEST_TARGETS)) ++TEST_TARGETS := $(patsubst check,test-spec test-all test-tool test-short,$(TEST_TARGETS)) + TEST_TARGETS := $(patsubst test-rubyspec,test-spec,$(TEST_TARGETS)) + TEST_DEPENDS := $(filter-out exam check test-spec $(TEST_TARGETS),$(TEST_DEPENDS)) + TEST_TARGETS := $(patsubst love,check,$(TEST_TARGETS)) +@@ -40,7 +40,6 @@ TEST_TARGETS := $(patsubst test-short,btest-ruby test-knownbug test-basic,$(TEST + TEST_TARGETS := $(patsubst test-bundled-gems,test-bundled-gems-run,$(TEST_TARGETS)) + TEST_TARGETS := $(patsubst test-bundled-gems-run,test-bundled-gems-run $(PREPARE_BUNDLED_GEMS),$(TEST_TARGETS)) + TEST_TARGETS := $(patsubst test-bundled-gems-prepare,test-bundled-gems-prepare $(PRECHECK_BUNDLED_GEMS) test-bundled-gems-fetch,$(TEST_TARGETS)) +-TEST_TARGETS := $(patsubst test-syntax-suggest,test-syntax-suggest $(PREPARE_SYNTAX_SUGGEST),$(TEST_TARGETS)) + TEST_DEPENDS := $(filter-out test-short $(TEST_TARGETS),$(TEST_DEPENDS)) + TEST_DEPENDS += $(if $(filter great exam love check,$(MAKECMDGOALS)),all exts) + endif +@@ -84,8 +83,7 @@ endif + ORDERED_TEST_TARGETS := $(filter $(TEST_TARGETS), \ + btest-ruby test-knownbug test-basic \ + test-testframework test-tool test-ruby test-all \ +- test-spec test-syntax-suggest \ +- test-bundler-prepare test-bundler test-bundler-parallel \ ++ test-spec test-bundler-prepare test-bundler test-bundler-parallel \ + test-bundled-gems-precheck test-bundled-gems-fetch \ + test-bundled-gems-prepare test-bundled-gems-run \ + ) diff --git a/SOURCES/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch b/SOURCES/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch new file mode 100644 index 0000000..1b3395b --- /dev/null +++ b/SOURCES/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch @@ -0,0 +1,39 @@ +From 9b9825d6cdda053fea49eb2f613bc62bde465e89 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Wed, 4 Jan 2023 17:23:35 +0100 +Subject: [PATCH] Use SHA256 instead of SHA1 + +Systems such as CentOS 9 / RHEL 9 are moving away from SHA1 disabling it +by default via a system-wide crypto policy. This replaces SHA1 with +SHA256 in similar way as [[1]]. + +[1]: https://github.com/ruby/openssl/pull/554 +--- + spec/ruby/library/openssl/x509/name/verify_spec.rb | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/spec/ruby/library/openssl/x509/name/verify_spec.rb b/spec/ruby/library/openssl/x509/name/verify_spec.rb +index a8bf865bd..6dcfc9946 100644 +--- a/spec/ruby/library/openssl/x509/name/verify_spec.rb ++++ b/spec/ruby/library/openssl/x509/name/verify_spec.rb +@@ -12,7 +12,7 @@ describe "OpenSSL::X509::Name.verify" do + cert.public_key = key.public_key + cert.not_before = Time.now - 10 + cert.not_after = cert.not_before + 365 * 24 * 60 * 60 +- cert.sign key, OpenSSL::Digest.new('SHA1') ++ cert.sign key, OpenSSL::Digest.new('SHA256') + store = OpenSSL::X509::Store.new + store.add_cert(cert) + [store.verify(cert), store.error, store.error_string].should == [true, 0, "ok"] +@@ -28,7 +28,7 @@ describe "OpenSSL::X509::Name.verify" do + cert.public_key = key.public_key + cert.not_before = Time.now - 10 + cert.not_after = Time.now - 5 +- cert.sign key, OpenSSL::Digest.new('SHA1') ++ cert.sign key, OpenSSL::Digest.new('SHA256') + store = OpenSSL::X509::Store.new + store.add_cert(cert) + store.verify(cert).should == false +-- +2.38.1 + diff --git a/SPECS/ruby.spec b/SPECS/ruby.spec index ac94c1b..0073edf 100644 --- a/SPECS/ruby.spec +++ b/SPECS/ruby.spec @@ -1,6 +1,6 @@ %global major_version 3 -%global minor_version 0 -%global teeny_version 4 +%global minor_version 2 +%global teeny_version 2 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -#%%global revision 684649ea05 +#%%global revision c5eefb7f37 %global ruby_archive %{name}-%{ruby_version} @@ -18,51 +18,58 @@ %if 0%{?milestone:1}%{?revision:1} != 0 %global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision}} %define ruby_archive_timestamp %(stat --printf='@%Y' %{_sourcedir}/%{ruby_archive}.tar.xz | date -f - +"%Y%m%d") -%define development_release %{?milestone}%{?!milestone:%{?revision:%{ruby_archive_timestamp}git%{revision}}} +%define development_release ~%{ruby_archive_timestamp}%{?milestone}%{?!milestone:%{?revision:git%{revision}}} %endif -%global release 160 -%{!?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.2.33 -%global rubygems_molinillo_version 0.7.0 +%global rubygems_version 3.4.10 +%global rubygems_molinillo_version 0.8.0 +%global rubygems_optparse_version 0.3.0 +%global rubygems_tsort_version 0.1.0 # Default gems. -%global bundler_version 2.2.33 +%global bundler_version 2.4.10 %global bundler_connection_pool_version 2.3.0 -%global bundler_fileutils_version 1.4.1 -%global bundler_molinillo_version 0.7.0 -%global bundler_net_http_persistent_version 4.0.0 -%global bundler_thor_version 1.1.0 -%global bundler_tmpdir_version 0.1.0 -%global bundler_uri_version 0.10.0 - -%global bigdecimal_version 3.0.0 -%global did_you_mean_version 1.5.0 -%global erb_version 2.2.0 -%global io_console_version 0.5.7 -%global irb_version 1.3.5 -%global json_version 2.5.1 -%global openssl_version 2.2.1 -%global psych_version 3.3.2 -%global racc_version 1.5.2 -%global rdoc_version 6.3.3 +%global bundler_fileutils_version 1.7.0 +%global bundler_pub_grub_version 0.5.0 +%global bundler_net_http_persistent_version 4.0.1 +%global bundler_thor_version 1.2.1 +%global bundler_tsort_version 0.1.1 +%global bundler_uri_version 0.12.1 + +%global bigdecimal_version 3.1.3 +%global did_you_mean_version 1.6.3 +%global erb_version 4.0.2 +%global io_console_version 0.6.0 +%global irb_version 1.6.2 +%global json_version 2.6.3 +%global openssl_version 3.1.0 +%global psych_version 5.0.1 +%global racc_version 1.6.2 +%global rdoc_version 6.5.0 +%global stringio_version 3.0.4 # Bundled gems. -%global minitest_version 5.14.2 -%global power_assert_version 1.2.0 -%global rake_version 13.0.3 -%global rbs_version 1.4.0 -%global test_unit_version 3.3.7 +%global minitest_version 5.16.3 +%global power_assert_version 2.0.3 +%global rake_version 13.0.6 +%global test_unit_version 3.5.7 %global rexml_version 3.2.5 %global rss_version 0.2.9 -%global typeprof_version 0.15.2 +%global net_ftp_version 0.2.0 +%global net_imap_version 0.3.4 +%global net_pop_version 0.1.2 +%global net_smtp_version 0.3.3 +%global matrix_version 0.4.2 +%global prime_version 0.1.2 +%global rbs_version 2.8.2 +%global typeprof_version 0.21.3 +%global debug_version 1.7.1 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -75,20 +82,33 @@ %bcond_without gmp %bcond_without hostname %bcond_without systemtap +# YJIT is supported on x86_64 and aarch64. +# https://github.com/ruby/ruby/blob/master/doc/yjit/yjit.md +%ifarch x86_64 aarch64 +%bcond_without yjit +%endif +# Enable test when building on local. +%bcond_with bundler_tests %if 0%{?fedora} %bcond_without hardening_test %endif +# The additional linker flags break binary rubygem- packages. +# https://bugzilla.redhat.com/show_bug.cgi?id=2043092 +%undefine _package_note_flags + Summary: An interpreter of object-oriented scripting language Name: ruby -Version: %{ruby_version} -Release: %{release_string} +Version: %{ruby_version}%{?development_release} +Release: 180%{?dist} +# BSD-3-Clause: missing/{crypt,mt19937,setproctitle}.c +# ISC: missing/strl{cat,cpy}.c # Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ... # MIT and CCO: ccan/* # zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c -# UCD: some of enc/trans/**/*.src -License: (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD +# Unicode-DFS-2015: some of enc/trans/**/*.src +License: (Ruby OR BSD-2-Clause) AND BSD-3-Clause AND ISC AND Public Domain AND MIT and CC0 AND zlib AND Unicode-DFS-2015 URL: https://www.ruby-lang.org/ Source0: https://cache.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.xz Source1: operating_system.rb @@ -127,8 +147,6 @@ Patch3: ruby-2.1.0-always-use-i386.patch # Allows to install RubyGems into custom directory, outside of Ruby's tree. # http://bugs.ruby-lang.org/issues/5617 Patch4: ruby-2.1.0-custom-rubygems-location.patch -# Make mkmf verbose by default -Patch5: ruby-1.9.3-mkmf-verbose.patch # The ABRT hook used to be initialized by preludes via following patches: # https://bugs.ruby-lang.org/issues/8566 # https://bugs.ruby-lang.org/issues/15306 @@ -144,131 +162,27 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1986206 # https://bugs.ruby-lang.org/issues/18257 Patch7: ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch -# Fix DWARF5 support. -# https://bugzilla.redhat.com/show_bug.cgi?id=1920533 -# https://bugs.ruby-lang.org/issues/17585 -# https://github.com/ruby/ruby/pull/4240 -Patch15: ruby-3.1.0-Support-GCCs-DWARF-5.patch -# Fix segfaults with enabled LTO. -# https://bugs.ruby-lang.org/issues/18062 -# https://github.com/ruby/ruby/pull/4716 -Patch16: ruby-3.1.0-Get-rid-of-type-punning-pointer-casts.patch -# DWARF5/LTO fixes for SIGSEV handler. -# https://bugs.ruby-lang.org/issues/17052 -# https://github.com/ruby/ruby/commit/72317b333b85eed483ad00bcd4f40944019a7c13 -Patch17: ruby-3.1.0-Ignore-DW_FORM_ref_addr.patch -# https://bugs.ruby-lang.org/issues/17052#note-9 -# https://bugs.ruby-lang.org/attachments/download/8974/ruby-addr2line-DW_FORM_ref_addr.patch -# https://github.com/ruby/ruby/commit/a9977ba2f9863e3fb1b2346589ebbca67d80536c -Patch18: ruby-3.1.0-addr2line-DW_FORM_ref_addr.patch # Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. # https://bugs.ruby-lang.org/issues/16492 -Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch -# Fix /test_\(ast_compacts\|compact_count\|complex_hash_keys\|gc_compact_stats\)/ -# test failures on ppc64le. -# https://bugs.ruby-lang.org/issues/18746 -# https://bugs.ruby-lang.org/issues/18394 -Patch20: ruby-3.1.0-Use-mmap-for-allocating-heap-pages-in-the-GC.patch -# Allow to exclude test with fully qualified name. -# https://bugs.ruby-lang.org/issues/16936 -# https://github.com/ruby/ruby/pull/5026 -Patch21: ruby-3.1.0-Properly-exclude-test-cases.patch -# Fix loading of default gems. -# https://bugzilla.redhat.com/show_bug.cgi?id=2027099 -# https://github.com/rubygems/rubygems/pull/5154 -Patch22: rubygems-3.2.33-Fix-loading-operating_system-rb-customizations-too-late.patch - - -# OpenSSL 3.0 compatibility patches - -# Revert OpenSSL < 3.x enforcement. -# https://github.com/ruby/openssl/commit/202ff1372a40a8adf9aac74bfe8a39141b0c57e5 -Patch30: ruby-3.0.3-ext-openssl-extconf.rb-require-OpenSSL-version-1.0.1.patch - -# Fix test broken by wrongly formatted distinguished name submitted to -# `OpenSSL::X509::Name.parse`. -# https://github.com/ruby/openssl/issues/470 -# https://github.com/rubygems/rubygems/pull/5030 -Patch31: rubygems-3.2.30-Provide-distinguished-name-which-will-be-correctly-p.patch - -# Refactor PEM/DER serialization code. -# https://github.com/ruby/openssl/pull/328 -Patch40: ruby-3.1.0-Refactor-PEM-DER-serialization-code.patch -# Implement more 'generic' operations using the EVP API. -# https://github.com/ruby/openssl/pull/329 -Patch41: ruby-3.1.0-Add-more-support-for-generic-pkey-types.patch -# Migrate from the low-level HMAC API to the EVP API. -# https://github.com/ruby/openssl/pull/371 -Patch42: ruby-3.1.0-Migrate-from-the-low-level-HMAC-API-to-the-EVP-API.patch -# Allow setting algorithm-specific options in #sign and #verify. -# https://github.com/ruby/openssl/pull/374 -Patch43: ruby-3.1.0-Allow-setting-algorithm-specific-options-in-sign-and-verify.patch -# Use high level EVP interface to generate parameters and keys. -# https://github.com/ruby/openssl/pull/397 -Patch44: ruby-3.1.0-Use-high-level-EVP-interface-to-generate-parameters-and-keys.patch -# Use EVP API in more places. -# https://github.com/ruby/openssl/pull/436 -Patch45: ruby-3.1.0-Use-EVP-API-in-more-places.patch -# Implement PKey#{encrypt,decrypt,sign_raw,verify_{raw,verify_recover}}. -# https://github.com/ruby/openssl/pull/382 -Patch46: ruby-3.1.0-Implement-PKey-encrypt-decrypt-sign_raw-verify_raw-and-verify_recover.patch -# Fix `OpenSSL::TestSSL#test_dup` test failure. -# https://github.com/ruby/openssl/commit/7b66eaa2dbabb6570dbbbdfac24c4dcdcc6793d7 -Patch47: ruby-3.1.0-test-openssl-utils-remove-dup_public-helper-method.patch -# Fix `OpenSSL::TestDigest#test_digest_constants` test case. -# https://github.com/ruby/openssl/commit/a3e59f4c2e200c76ef1d93945ff8737a05715e17 -Patch48: ruby-3.1.0-test-openssl-test_digest-do-not-test-constants-for-l.patch -# Fix `OpenSSL::TestSSL#test_connect_certificate_verify_failed_exception_message` -# test case. -# https://github.com/ruby/openssl/commit/b5a0a198505452c7457b192da2e5cd5dda04f23d -Patch49: ruby-3.1.0-test-openssl-test_ssl-relax-regex-to-match-OpenSSL-s.patch -# Fix `OpenSSL::TestPKCS12#test_{new_with_no_keys,new_with_one_key_and_one_cert}` -# test failures. -# https://github.com/ruby/openssl/commit/998406d18f2acf73090e9fd9d92a7b4227ac593b -Patch50: ruby-3.1.0-test-openssl-test_pkcs12-fix-test-failures-with-Open.patch -# Fix `OpenSSL::TestPKey#test_s_generate_key` test case. -# https://github.com/ruby/openssl/commit/c732387ee5aaa8c5a9717e8b3ffebb3d7430e99a -Patch51: ruby-3.1.0-test-openssl-test_pkey-use-EC-keys-for-PKey.generate.patch -# Miscellaneous changes for OpenSSL 3.0 support. -# https://github.com/ruby/openssl/pull/468 -Patch52: ruby-3.1.0-Miscellaneous-changes-for-OpenSSL-3.0-support.patch -# Use OSSL_DECODER to load encrypted PEM. -# https://github.com/ruby/openssl/pull/479 -Patch53: ruby-3.1.0-Use-OSSL_DECODER-to-load-encrypted-PEM-on-OpenSSL-3.0.patch -# Allocate EVP_PKEY on #initialize. -# https://github.com/ruby/openssl/pull/478 -Patch54: ruby-3.1.0-Allocate-EVP_PKEY-on-initialize.patch -# Disable `OpenSSL::TestPKeyRSA#test_no_private_exp` test case which is not -# compatible with OpenSSL 3.0. -# https://github.com/ruby/ruby/commit/47975ece4096cdab16b3f200f93ea2377dfb41ac -Patch55: ruby-3.1.0-Disable-test_no_private_exp-on-OpenSSL-3.0.patch -# Deprecate PKey::*#set_* and PKey::{DH,EC}#generate_key! -# https://github.com/ruby/openssl/pull/480 -Patch56: ruby-3.1.0-Deprecate-PKey-set_-and-PKey-DH-EC-generate_key.patch -# Fix `OpenSSL::PKey::PKeyError: pkeys are immutable on OpenSSL 3.0` errors. -# https://github.com/rubygems/rubygems/pull/5196 -Patch57: rubygems-3.3.1-Fix-compatibility-with-OpenSSL3.0.patch -# Miscellaneous changes for OpenSSL 3.0 support. -# https://github.com/ruby/openssl/pull/481 -Patch58: ruby-3.1.0-Miscellaneous-changes-for-OpenSSL-3.0-support-part-2.patch -# C9S/RHEL9 have SHA1 disabled by default, so using the OCSP with -# default arguments on a default C9S/RHEL9 installation will result in an -# OpenSSL error. This patch, when OCSP does not receive a digest explicitly, will -# let OpenSSL decide which digest to use instead of using a default, thus -# preventing usage of disabled digests. -# https://github.com/ruby/openssl/pull/507 -Patch59: ruby-3.1.1-ossl_ocsp-use-null.patch -# Replace SHA1 usage in tests. -# https://github.com/ruby/openssl/pull/511 -Patch60: ruby-3.1.2-ossl-tests-replace-sha1.patch +Patch8: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch +# Disable syntax_suggest test suite, which tries to download its dependencies. +# https://bugs.ruby-lang.org/issues/19297 +Patch9: ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch +Patch10: ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch +# Fix `OpenSSL::X509::CertificateError: invalid digest` errors on ELN. This +# also might help Fedor, if/when +# https://fedoraproject.org/wiki/Changes/StrongCryptoSettings3Forewarning2 +# is accepted. +# https://github.com/ruby/spec/pull/990 +# https://bugs.ruby-lang.org/issues/19307 +Patch11: ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Suggests: rubypick +%{?with_rubypick:Suggests: rubypick} Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} BuildRequires: autoconf -BuildRequires: gdbm-devel %{?with_gmp:BuildRequires: gmp-devel} BuildRequires: libffi-devel BuildRequires: openssl-devel @@ -287,6 +201,9 @@ BuildRequires: multilib-rpm-config BuildRequires: gcc BuildRequires: make BuildRequires: zlib-devel +%{?with_yjit:BuildRequires: %{_bindir}/rustc} +# The bundler/spec/runtime/setup_spec.rb requires the command `man`. +%{?with_bundler_tests:BuildRequires: %{_bindir}/man} # This package provides %%{_bindir}/ruby-mri therefore it is marked by this # virtual provide. It can be installed as dependency of rubypick. @@ -315,7 +232,6 @@ Ruby or an application embedding Ruby. %package libs Summary: Libraries necessary to run Ruby -License: Ruby or BSD Provides: ruby(release) = %{ruby_release} # Virtual provides for CCAN copylibs. @@ -330,6 +246,16 @@ Provides: bundled(rubygem-did_you_mean) = %{did_you_mean_version} Provides: bundled(rubygem-openssl) = %{openssl_version} Provides: bundled(rubygem-racc) = %{racc_version} +# Tcl/Tk support was removed from stdlib in Ruby 2.4, i.e. F27 timeframe. +Obsoletes: ruby-tcltk < 2.4.0 + +# The Net::Telnet and XMLRPC were removed in Ruby 2.8, i.e. F34 timeframe. +# https://bugs.ruby-lang.org/issues/16484 +# TODO: Update the versions prior landing in Fedora. +Obsoletes: rubygem-net-telnet < 0.2.0-%{release} +Obsoletes: rubygem-xmlrpc < 0.3.0-%{release} + + %description libs This package includes the libruby, necessary to run Ruby. @@ -338,7 +264,10 @@ This package includes the libruby, necessary to run Ruby. %package -n rubygems Summary: The Ruby standard for packaging ruby libraries Version: %{rubygems_version} -License: Ruby or MIT +# BSD-2-Clause: lib/rubygems/tsort/ +# BSD-2-Clause OR Ruby: lib/rubygems/optparse/ +# MIT: lib/rubygems/resolver/molinillo +License: (Ruby OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Ruby) AND MIT Requires: ruby(release) Recommends: rubygem(bundler) >= %{bundler_version} Recommends: rubygem(rdoc) >= %{rdoc_version} @@ -358,7 +287,7 @@ libraries. %package -n rubygems-devel Summary: Macros and development tools for packaging RubyGems Version: %{rubygems_version} -License: Ruby or MIT +License: MIT Requires: ruby(rubygems) >= %{version}-%{release} # Needed for RDoc documentation format generation. Requires: rubygem(json) >= %{json_version} @@ -386,6 +315,7 @@ Obsoletes: rubygem-racc < 1.4.16-130 # Obsoleted by Ruby 3.0 in F34 timeframe. Obsoletes: rubygem-openssl < 2.2.0-145 Provides: rubygem(openssl) = %{openssl_version}-%{release} +Provides: rubygem(stringio) = %{stringio_version} BuildArch: noarch %description default-gems @@ -396,17 +326,19 @@ StdLib. %package -n rubygem-irb Summary: The Interactive Ruby Version: %{irb_version} +License: Ruby OR BSD-2-Clause Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} # ruby-default-gems is required to run irb. # https://bugs.ruby-lang.org/issues/16951 -Requires: ruby-default-gems >= %{ruby_version} +Requires: ruby-default-gems >= %{ruby_version}%{?development_release} +Recommends: rubygem(rdoc) >= %{rdoc_version} Provides: irb = %{version}-%{release} Provides: rubygem(irb) = %{version}-%{release} # Obsoleted by Ruby 2.6 in F30 timeframe. -Provides: ruby(irb) = %{ruby_version}-%{release} -Provides: ruby-irb = %{ruby_version}-%{release} -Obsoletes: ruby-irb < %{ruby_version}-%{release} +Provides: ruby(irb) = %{ruby_version}%{?development_release}-%{release} +Provides: ruby-irb = %{ruby_version}%{?development_release}-%{release} +Obsoletes: ruby-irb < %{ruby_version}%{?development_release}-%{release} BuildArch: noarch %description -n rubygem-irb @@ -417,12 +349,15 @@ from the terminal. %package -n rubygem-rdoc Summary: A tool to generate HTML and command-line documentation for Ruby projects Version: %{rdoc_version} -# SIL: lib/rdoc/generator/template/darkfish/css/fonts.css -License: GPLv2 and Ruby and MIT and OFL +# BSD-3-Clause: lib/rdoc/generator/darkfish.rb +# CC-BY-2.5: lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif +# OFL-1.1-RFN: lib/rdoc/generator/template/darkfish/css/fonts.css +License: GPL-2.0-only AND Ruby AND BSD-3-Clause AND CC-BY-2.5 AND OFL-1.1-RFN Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Requires: rubygem(io-console) >= %{io_console_version} Requires: rubygem(json) >= %{json_version} +Requires: rubygem(psych) >= %{psych_version} Provides: rdoc = %{version}-%{release} Provides: ri = %{version}-%{release} Provides: rubygem(rdoc) = %{version}-%{release} @@ -446,7 +381,7 @@ This package contains documentation for %{name}. %package -n rubygem-bigdecimal Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic Version: %{bigdecimal_version} -License: Ruby or BSD +License: Ruby OR BSD-2-Clause Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(bigdecimal) = %{version}-%{release} @@ -467,6 +402,7 @@ conversion between base 10 and base 2. %package -n rubygem-io-console Summary: IO/Console is a simple console utilizing library Version: %{io_console_version} +License: Ruby OR BSD-2-Clause Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(io-console) = %{version}-%{release} @@ -479,8 +415,8 @@ provide higher layer features, such like curses and readline. %package -n rubygem-json Summary: This is a JSON implementation as a Ruby extension in C Version: %{json_version} -# UCD: ext/json/generator/generator.c -License: (Ruby or GPLv2) and UCD +# Unicode-DFS-2015: ext/json/ext/generator/generator.c +License: (Ruby OR BSD-2-Clause) AND Unicode-DFS-2015 Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(json) = %{version}-%{release} @@ -498,6 +434,7 @@ Version: %{psych_version} License: MIT Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} +Requires: rubygem(stringio) >= %{stringio_version} Provides: rubygem(psych) = %{version}-%{release} %description -n rubygem-psych @@ -518,10 +455,9 @@ Provides: rubygem(bundler) = %{version}-%{release} # https://github.com/bundler/bundler/issues/3647 Provides: bundled(rubygem-connection_pool) = %{bundler_connection_pool_version} Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} -Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version} +Provides: bundled(rubygem-pub_grub) = %{bundler_pub_grub_version} Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} Provides: bundled(rubygem-thor) = %{bundler_thor_version} -Provides: bundled(rubygem-tmpdir) = %{bundler_tmpdir_version} Provides: bundled(rubygem-uri) = %{bundler_uri_version} BuildArch: noarch @@ -535,6 +471,24 @@ many machines, systematically and repeatably. # These are regular packages, which might be installed just optionally. Users # should list them among their dependencies (in Gemfile). +%package bundled-gems +Summary: Bundled gems which are part of Ruby StdLib +Requires: ruby(rubygems) >= %{rubygems_version} +# Runtime dependency of rubygem(debug). +Recommends: rubygem(irb) >= %{irb_version} +Provides: rubygem(net-ftp) = %{net_ftp_version} +Provides: rubygem(net-imap) = %{net_imap_version} +Provides: rubygem(net-pop) = %{net_pop_version} +Provides: rubygem(net-smtp) = %{net_smtp_version} +Provides: rubygem(matrix) = %{matrix_version} +Provides: rubygem(prime) = %{prime_version} +Provides: rubygem(debug) = %{debug_version} + +%description bundled-gems +Bundled gems which are part of Ruby StdLib. While being part of Ruby, these +needs to be listed in Gemfile to be used by Bundler. + + %package -n rubygem-minitest Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} @@ -562,7 +516,7 @@ output. %package -n rubygem-power_assert Summary: Power Assert for Ruby Version: %{power_assert_version} -License: Ruby or BSD +License: Ruby OR BSD-2-Clause Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(power_assert) = %{version}-%{release} @@ -592,11 +546,10 @@ specified in standard Ruby syntax. %package -n rubygem-rbs Summary: Type signature for Ruby Version: %{rbs_version} -License: Ruby or BSD +License: Ruby OR BSD-2-Clause Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(rbs) = %{version}-%{release} -BuildArch: noarch %description -n rubygem-rbs RBS is the language for type signatures for Ruby and standard library @@ -607,8 +560,7 @@ definitions. Summary: An xUnit family unit testing framework for Ruby Version: %{test_unit_version} # lib/test/unit/diff.rb is a double license of the Ruby license and PSF license. -# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later. -License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +License: (Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR Python-2.0.1) Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} Requires: rubygem(power_assert) @@ -625,7 +577,7 @@ writing tests, checking results and automated testing in Ruby. %package -n rubygem-rexml Summary: An XML toolkit for Ruby Version: %{rexml_version} -License: BSD +License: BSD-2-Clause URL: https://github.com/ruby/rexml Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} @@ -647,7 +599,7 @@ features such as XPath. %package -n rubygem-rss Summary: Family of libraries that support various formats of XML "feeds" Version: %{rss_version} -License: BSD +License: BSD-2-Clause URL: https://github.com/ruby/rss Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} @@ -683,49 +635,17 @@ analysis result in RBS format, a standard type description format for Ruby %prep %setup -q -n %{ruby_archive} -# Remove bundled libraries to be sure they are not used. -rm -rf ext/psych/yaml -rm -rf ext/fiddle/libffi* - %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 %patch7 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 -%patch30 -p1 -R -%patch31 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -%patch60 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -733,6 +653,11 @@ cp -a %{SOURCE3} . %build autoconf +%global _configure %{_builddir}/%{buildsubdir}/configure + +mkdir -p %{_vpath_builddir} +pushd %{_vpath_builddir} + %configure \ --with-rubylibprefix='%{ruby_libdir}' \ --with-archlibdir='%{_libdir}' \ @@ -749,17 +674,22 @@ autoconf --with-ruby-pc='%{name}.pc' \ --with-compress-debug-sections=no \ --disable-rpath \ + --enable-mkmf-verbose \ --enable-shared \ --with-ruby-version='' \ --enable-multiarch \ + %{?with_yjit: --enable-yjit} \ -# Q= makes the build output more verbose and allows to check Fedora -# compiler options. -%make_build COPY="cp -p" Q= +popd + +# V=1 in %%make_build outputs the compiler options more verbosely. +# https://bugs.ruby-lang.org/issues/18756 +%make_build COPY="cp -p" -C %{_vpath_builddir} %install rm -rf %{buildroot} -%make_install + +%make_install -C %{_vpath_builddir} # TODO: Regenerate RBS parser in lib/rbs/parser.rb @@ -790,15 +720,15 @@ test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)" # Move macros file into proper place and replace the %%{name} macro, since it # would be wrongly evaluated during build of other packages. -mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d -install -m 644 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby -sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby -install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems -sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems +mkdir -p %{buildroot}%{_rpmmacrodir} +install -m 644 %{SOURCE4} %{buildroot}%{_rpmmacrodir}/macros.ruby +sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmmacrodir}/macros.ruby +install -m 644 %{SOURCE5} %{buildroot}%{_rpmmacrodir}/macros.rubygems +sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmmacrodir}/macros.rubygems # Install dependency generators. -mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs -install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs +mkdir -p %{buildroot}%{_fileattrsdir} +install -m 644 %{SOURCE8} %{buildroot}%{_fileattrsdir} install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} install -m 755 %{SOURCE11} %{buildroot}%{_rpmconfigdir} @@ -822,7 +752,13 @@ mkdir -p %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib mv %{buildroot}%{ruby_libdir}/irb* %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib mv %{buildroot}%{gem_dir}/specifications/default/irb-%{irb_version}.gemspec %{buildroot}%{gem_dir}/specifications ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb.rb %{buildroot}%{ruby_libdir}/irb.rb -ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb %{buildroot}%{ruby_libdir}/irb +# TODO: This should be possible to replaced by simple directory symlink +# after ~ F31 EOL (rhbz#1691039). +mkdir -p %{buildroot}%{ruby_libdir}/irb +pushd %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib +find irb -type d -mindepth 1 -exec mkdir %{buildroot}%{ruby_libdir}/'{}' \; +find irb -type f -exec ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/'{}' %{buildroot}%{ruby_libdir}/'{}' \; +popd mkdir -p %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib @@ -875,10 +811,15 @@ ln -s %{_libdir}/gems/%{name}/psych-%{psych_version}/psych.so %{buildroot}%{ruby # Move the binary extensions into proper place (if no gem has binary extension, # the extensions directory might be empty). -find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdepth 0 \ +# TODO: Get information about extension form .gemspec files. +find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{major_minor_version}.*/* -maxdepth 0 \ -exec mv '{}' %{buildroot}%{_libdir}/gems/%{name}/ \; \ || echo "No gem binary extensions to move." +# Remove the extension sources and library copies from `lib` dir. +find %{buildroot}%{gem_dir}/gems/*/ext -maxdepth 0 -exec rm -rf '{}' + +find %{buildroot}%{gem_dir}/gems/*/lib -name \*.so -delete + # Move man pages into proper location mkdir -p %{buildroot}%{_mandir}/man{1,5} mv %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/doc/rake.1 %{buildroot}%{_mandir}/man1 @@ -914,83 +855,121 @@ rm -rf %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/.github %check %if 0%{?with_hardening_test} # Check Ruby hardening. -checksec --file=libruby.so.%{ruby_version} | \ +checksec --file=%{_vpath_builddir}/libruby.so.%{ruby_version} | \ grep "Full RELRO.*Canary found.*NX enabled.*DSO.*No RPATH.*No RUNPATH.*Yes.*\d*.*\d*.*libruby.so.%{ruby_version}" %endif # Check RubyGems version. -[ "`make runruby TESTRUN_SCRIPT='bin/gem -v' | tail -1`" == '%{rubygems_version}' ] +[ "`make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT='%{_builddir}/%{buildsubdir}/bin/gem -v' | tail -1`" == '%{rubygems_version}' ] # Check Rubygems bundled dependencies versions. # Molinillo. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Gem; module Resolver; end; end; \ require 'rubygems/resolver/molinillo/lib/molinillo/gem_metadata'; \ - puts Gem::Resolver::Molinillo::VERSION\\\"\" | tail -1`" \ - == '%{rubygems_molinillo_version}' ] + puts '%%{rubygems_molinillo_version}: %{rubygems_molinillo_version}'; \ + puts %Q[Gem::Resolver::Molinillo::VERSION: #{Gem::Resolver::Molinillo::VERSION}]; \ + exit 1 if Gem::Resolver::Molinillo::VERSION != '%{rubygems_molinillo_version}'; \ +\"" + +# OptParse. +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; end; \ + require 'rubygems/optparse/lib/optparse'; \ + puts '%%{rubygems_optparse_version}: %{rubygems_optparse_version}'; \ + puts %Q[Gem::OptionParser::Version: #{Gem::OptionParser::Version}]; \ + exit 1 if Gem::OptionParser::Version != '%{rubygems_optparse_version}'; \ +\"" + +# tsort +# TODO: Provide some real version test if version is available. +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; end;\ + require 'rubygems/tsort/lib/tsort'\"" # Check Bundler bundled dependencies versions. # connection_pool. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +make -C %{_vpath_builddir} -s 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}' ] + puts '%%{bundler_connection_pool_version}; %{bundler_connection_pool_version}'; \ + puts %Q[Bundler::ConnectionPool::VERSION: #{Bundler::ConnectionPool::VERSION}]; \ + exit 1 if Bundler::ConnectionPool::VERSION != '%{bundler_connection_pool_version}'; \ +\"" # FileUtils. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ require 'bundler/vendor/fileutils/lib/fileutils'; \ - puts Bundler::FileUtils::VERSION\\\"\" | tail -1`" \ - == '%{bundler_fileutils_version}' ] + puts '%%{bundler_fileutils_version}: %{bundler_fileutils_version}'; \ + puts %Q[Bundler::FileUtils::VERSION: #{Bundler::FileUtils::VERSION}]; \ + exit 1 if Bundler::FileUtils::VERSION != '%{bundler_fileutils_version}'; \ +\"" -# Molinillo. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +# PubGrub +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ - require 'bundler/vendor/molinillo/lib/molinillo/gem_metadata'; \ - puts Bundler::Molinillo::VERSION\\\"\" | tail -1`" \ - == '%{bundler_molinillo_version}' ] + require 'bundler/vendor/pub_grub/lib/pub_grub/version'; \ + puts '%%{bundler_pub_grub_version}: %{bundler_pub_grub_version}'; \ + puts %Q[Bundler::PubGrub::VERSION: #{Bundler::PubGrub::VERSION}]; \ + exit 1 if Bundler::PubGrub::VERSION != '%{bundler_pub_grub_version}'; \ +\"" # Net::HTTP::Persistent. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +# Require `rubygems` to workaround the `': uninitialized +# constant Gem (NameError) issue. +# https://github.com/rubygems/rubygems/issues/5119 +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; module Persistent; module Net; module HTTP; \ end; end; end; end; \ require 'bundler/vendor/net-http-persistent/lib/net/http/persistent'; \ - puts Bundler::Persistent::Net::HTTP::Persistent::VERSION\\\"\" | tail -1`" \ - == '%{bundler_net_http_persistent_version}' ] + puts '%%{bundler_net_http_persistent_version}: %{bundler_net_http_persistent_version}'; \ + puts %Q[Bundler::Persistent::Net::HTTP::Persistent::VERSION: #{Bundler::Persistent::Net::HTTP::Persistent::VERSION}]; \ + exit 1 if Bundler::Persistent::Net::HTTP::Persistent::VERSION != '%{bundler_net_http_persistent_version}'; \ +\"" # Thor. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ require 'bundler/vendor/thor/lib/thor/version'; \ - puts Bundler::Thor::VERSION\\\"\" | tail -1`" \ - == '%{bundler_thor_version}' ] - -# tmpdir. -# TODO: There is no version in bundled tmpdir yet. -#%%{global bundler_tmpdir_version} + puts '%%{bundler_thor_version}: %{bundler_thor_version}'; \ + puts %Q[Bundler::Thor::VERSION: #{Bundler::Thor::VERSION}]; \ + exit 1 if Bundler::Thor::VERSION != '%{bundler_thor_version}'; \ +\"" + +# tsort +# TODO: Provide some real version test if version is available. +#%%{global bundler_tsort_version} +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Bundler; end; \ + require 'bundler/vendor/tsort/lib/tsort' \"" # URI. -[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ require 'bundler/vendor/uri/lib/uri/version'; \ - puts Bundler::URI::VERSION\\\"\" | tail -1`" \ - == '%{bundler_uri_version}' ] + puts '%%{bundler_uri_version}: %{bundler_uri_version}'; \ + puts %Q[Bundler::URI::VERSION: #{Bundler::URI::VERSION}]; \ + exit 1 if Bundler::URI::VERSION != '%{bundler_uri_version}'; \ +\"" # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode, # when abrt.rb cannot be required (seems to be easier way then customizing # the test suite). -touch abrt.rb +touch %{_vpath_builddir}/abrt.rb # Check if abrt hook is required (RubyGems are disabled by default when using # runruby, so re-enable them). -make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" +make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" # Check if systemtap is supported. -%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} +%if %{with systemtap} +ln -sfr probes.d %{_vpath_builddir}/ +make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=%{SOURCE14} +%endif DISABLE_TESTS="" MSPECOPTS="" @@ -998,24 +977,42 @@ MSPECOPTS="" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} +%ifarch armv7hl +# TestReadline#test_interrupt_in_other_thread fails on 32 bit arches according +# to upstream, but the test is disabled just on Travis, not in test suite. +# https://bugs.ruby-lang.org/issues/18393 +DISABLE_TESTS="$DISABLE_TESTS -n !/TestReadline#test_interrupt_in_other_thread/" +%endif + +%ifarch i686 +# i686 specific failures. +# https://bugs.ruby-lang.org/issues/19147 +DISABLE_TESTS="$DISABLE_TESTS -n !/TestFileExhaustive#test_expand_path_for_existent_username/" +DISABLE_TESTS="$DISABLE_TESTS -n !/TestDir#test_home/" +MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s home directory'" +%endif + # Several test broken by libffi-3.4.2. There should be fix in libffi, once # other components are fixed. # https://bugzilla.redhat.com/show_bug.cgi?id=2040380 mv test/fiddle/test_import.rb{,.disable} +mv test/fiddle/test_closure.rb{,.disable} +DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunc#test_qsort1/" +DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunction#test_argument_count/" + +%ifarch i686 +# The MJIT test cases are failing so often, that it is recently impossible +# to get past the test cases :/ +# https://bugzilla.redhat.com/show_bug.cgi?id=2125026 +mv test/ruby/test_jit.rb{,.disable} || : +%endif -# Part of the RubyGems test suite uses certificates that are using SHA1, -# they fail with default crypty policy, but setting crypto policy to -# LEGACY makes them pass. -# OPENSSL_ENABLE_SHA1_SIGNATURES=1 enables SHA1 for -# OpenSSL in order to enable tests using SHA1 certificates, at least running -# the tests is preferable to not running them at all. -# https://github.com/rubygems/rubygems/issues/5454 -# # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 -OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ - make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" + make -C %{_vpath_builddir} check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" + +%{?with_bundler_tests:make -C %{_vpath_builddir} test-bundler-parallel} %files %license BSDL @@ -1035,7 +1032,7 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %license GPL %license LEGAL -%{_rpmconfigdir}/macros.d/macros.ruby +%{_rpmmacrodir}/macros.ruby %{_includedir}/* %{_libdir}/libruby.so @@ -1069,28 +1066,28 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{ruby_libdir}/coverage.rb %{ruby_libdir}/csv* %{ruby_libdir}/date.rb -%{ruby_libdir}/debug.rb %{ruby_libdir}/delegate* %{ruby_libdir}/digest* %{ruby_libdir}/drb* %{ruby_libdir}/English.rb -%{ruby_libdir}/erb.rb +%{ruby_libdir}/erb* +%{ruby_libdir}/error_highlight* %{ruby_libdir}/expect.rb %{ruby_libdir}/fiddle* %{ruby_libdir}/fileutils.rb %{ruby_libdir}/find.rb %{ruby_libdir}/forwardable* %{ruby_libdir}/getoptlong* -%{ruby_libdir}/io %{ruby_libdir}/ipaddr.rb %{ruby_libdir}/kconv.rb %{ruby_libdir}/logger* -%{ruby_libdir}/matrix* +# https://bugs.ruby-lang.org/issues/19298 +%exclude %{ruby_libdir}/mjit %{ruby_libdir}/mkmf.rb %{ruby_libdir}/monitor.rb %{ruby_libdir}/mutex_m.rb %{ruby_libdir}/net -%{ruby_libdir}/objspace.rb +%{ruby_libdir}/objspace* %{ruby_libdir}/observer* %{ruby_libdir}/open-uri.rb %{ruby_libdir}/open3* @@ -1100,25 +1097,27 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{ruby_libdir}/pathname.rb %{ruby_libdir}/pp.rb %{ruby_libdir}/prettyprint.rb -%{ruby_libdir}/prime.rb %{ruby_libdir}/pstore* +%{ruby_libdir}/random %{ruby_libdir}/readline.rb %{ruby_libdir}/reline* %{ruby_libdir}/resolv.rb %{ruby_libdir}/resolv-replace.rb %{ruby_libdir}/rinda %{ruby_libdir}/ripper* +%dir %{ruby_libdir}/ruby_vm +%{ruby_libdir}/ruby_vm/mjit %{ruby_libdir}/securerandom.rb %{ruby_libdir}/set* %{ruby_libdir}/shellwords.rb %{ruby_libdir}/singleton* %{ruby_libdir}/socket.rb +%{ruby_libdir}/syntax_suggest* %{ruby_libdir}/syslog %{ruby_libdir}/tempfile.rb %{ruby_libdir}/timeout* %{ruby_libdir}/time.rb %{ruby_libdir}/tmpdir.rb -%{ruby_libdir}/tracer* %{ruby_libdir}/tsort.rb %{ruby_libdir}/unicode_normalize %{ruby_libdir}/un.rb @@ -1127,14 +1126,13 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{ruby_libdir}/yaml* # Platform specific libraries. -%{_libdir}/libruby.so.* +%{_libdir}/libruby.so.{%{major_minor_version},%{ruby_version}} %dir %{ruby_libarchdir} %dir %{ruby_libarchdir}/cgi %{ruby_libarchdir}/cgi/escape.so %{ruby_libarchdir}/continuation.so %{ruby_libarchdir}/coverage.so %{ruby_libarchdir}/date_core.so -%{ruby_libarchdir}/dbm.so %dir %{ruby_libarchdir}/digest %{ruby_libarchdir}/digest.so %{ruby_libarchdir}/digest/bubblebabble.so @@ -1205,11 +1203,10 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{ruby_libarchdir}/enc/windows_1254.so %{ruby_libarchdir}/enc/windows_1257.so %{ruby_libarchdir}/enc/windows_31j.so +%{ruby_libarchdir}/erb/escape.so %{ruby_libarchdir}/etc.so %{ruby_libarchdir}/fcntl.so -%{ruby_libarchdir}/fiber.so %{ruby_libarchdir}/fiddle.so -%{ruby_libarchdir}/gdbm.so %dir %{ruby_libarchdir}/io %{ruby_libarchdir}/io/nonblock.so %{ruby_libarchdir}/io/wait.so @@ -1262,85 +1259,78 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %exclude %{gem_dir}/cache/* %files -n rubygems-devel -%{_rpmconfigdir}/macros.d/macros.rubygems -%{_rpmconfigdir}/fileattrs/rubygems.attr +%{_rpmmacrodir}/macros.rubygems +%{_fileattrsdir}/rubygems.attr %{_rpmconfigdir}/rubygems.req %{_rpmconfigdir}/rubygems.prov %{_rpmconfigdir}/rubygems.con %files default-gems -%{gem_dir}/specifications/default/abbrev-0.1.0.gemspec -%{gem_dir}/specifications/default/base64-0.1.0.gemspec -%{gem_dir}/specifications/default/benchmark-0.1.1.gemspec -%{gem_dir}/specifications/default/cgi-0.2.1.gemspec -%{gem_dir}/specifications/default/csv-3.1.9.gemspec -%{gem_dir}/specifications/default/date-3.1.3.gemspec -%{gem_dir}/specifications/default/dbm-1.1.0.gemspec -%{gem_dir}/specifications/default/debug-0.2.1.gemspec -%{gem_dir}/specifications/default/delegate-0.2.0.gemspec +%{gem_dir}/specifications/default/abbrev-0.1.1.gemspec +%{gem_dir}/specifications/default/base64-0.1.1.gemspec +%{gem_dir}/specifications/default/benchmark-0.2.1.gemspec +%{gem_dir}/specifications/default/cgi-0.3.6.gemspec +%{gem_dir}/specifications/default/csv-3.2.6.gemspec +%{gem_dir}/specifications/default/date-3.3.3.gemspec +%{gem_dir}/specifications/default/delegate-0.3.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec -%{gem_dir}/specifications/default/digest-3.0.0.gemspec -%{gem_dir}/specifications/default/drb-2.0.5.gemspec -%{gem_dir}/specifications/default/english-0.7.1.gemspec +%{gem_dir}/specifications/default/digest-3.1.1.gemspec +%{gem_dir}/specifications/default/drb-2.1.1.gemspec +%{gem_dir}/specifications/default/english-0.7.2.gemspec %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec -%{gem_dir}/specifications/default/etc-1.3.0.gemspec -%{gem_dir}/specifications/default/fcntl-1.0.1.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.8.gemspec -%{gem_dir}/specifications/default/fileutils-1.5.0.gemspec -%{gem_dir}/specifications/default/find-0.1.0.gemspec -%{gem_dir}/specifications/default/forwardable-1.3.2.gemspec -%{gem_dir}/specifications/default/gdbm-2.1.0.gemspec -%{gem_dir}/specifications/default/getoptlong-0.1.1.gemspec -%{gem_dir}/specifications/default/io-nonblock-0.1.0.gemspec -%{gem_dir}/specifications/default/io-wait-0.2.0.gemspec -%{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec -%{gem_dir}/specifications/default/logger-1.4.3.gemspec -%{gem_dir}/specifications/default/matrix-0.3.1.gemspec -%{gem_dir}/specifications/default/mutex_m-0.1.1.gemspec -%{gem_dir}/specifications/default/net-ftp-0.1.2.gemspec -%{gem_dir}/specifications/default/net-http-0.1.1.gemspec -%{gem_dir}/specifications/default/net-imap-0.1.1.gemspec -%{gem_dir}/specifications/default/net-pop-0.1.1.gemspec -%{gem_dir}/specifications/default/net-protocol-0.1.1.gemspec -%{gem_dir}/specifications/default/net-smtp-0.2.1.gemspec -%{gem_dir}/specifications/default/nkf-0.1.0.gemspec +%{gem_dir}/specifications/default/error_highlight-0.5.1.gemspec +%{gem_dir}/specifications/default/etc-1.4.2.gemspec +%{gem_dir}/specifications/default/fcntl-1.0.2.gemspec +%{gem_dir}/specifications/default/fiddle-1.1.1.gemspec +%{gem_dir}/specifications/default/fileutils-1.7.0.gemspec +%{gem_dir}/specifications/default/find-0.1.1.gemspec +%{gem_dir}/specifications/default/forwardable-1.3.3.gemspec +%{gem_dir}/specifications/default/getoptlong-0.2.0.gemspec +%{gem_dir}/specifications/default/io-nonblock-0.2.0.gemspec +%{gem_dir}/specifications/default/io-wait-0.3.0.gemspec +%{gem_dir}/specifications/default/ipaddr-1.2.5.gemspec +%{gem_dir}/specifications/default/logger-1.5.3.gemspec +%{gem_dir}/specifications/default/mutex_m-0.1.2.gemspec +%{gem_dir}/specifications/default/net-http-0.3.2.gemspec +%{gem_dir}/specifications/default/net-protocol-0.2.1.gemspec +%{gem_dir}/specifications/default/nkf-0.1.2.gemspec %{gem_dir}/specifications/default/observer-0.1.1.gemspec -%{gem_dir}/specifications/default/open3-0.1.1.gemspec -%{gem_dir}/specifications/default/open-uri-0.1.0.gemspec -%{gem_dir}/specifications/default/optparse-0.1.1.gemspec +%{gem_dir}/specifications/default/open3-0.1.2.gemspec +%{gem_dir}/specifications/default/open-uri-0.3.0.gemspec +%{gem_dir}/specifications/default/optparse-0.3.1.gemspec %{gem_dir}/specifications/default/openssl-%{openssl_version}.gemspec -%{gem_dir}/specifications/default/ostruct-0.3.1.gemspec -%{gem_dir}/specifications/default/pathname-0.1.0.gemspec -%{gem_dir}/specifications/default/pp-0.2.1.gemspec +%{gem_dir}/specifications/default/ostruct-0.5.5.gemspec +%{gem_dir}/specifications/default/pathname-0.2.1.gemspec +%{gem_dir}/specifications/default/pp-0.4.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.1.gemspec -%{gem_dir}/specifications/default/prime-0.1.2.gemspec -%{gem_dir}/specifications/default/pstore-0.1.1.gemspec +%{gem_dir}/specifications/default/pstore-0.1.2.gemspec %{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.1.gemspec -%{gem_dir}/specifications/default/reline-0.2.5.gemspec -%{gem_dir}/specifications/default/resolv-0.2.1.gemspec -%{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec +%{gem_dir}/specifications/default/readline-0.0.3.gemspec +%{gem_dir}/specifications/default/readline-ext-0.1.5.gemspec +%{gem_dir}/specifications/default/reline-0.3.2.gemspec +%{gem_dir}/specifications/default/resolv-0.2.2.gemspec +%{gem_dir}/specifications/default/resolv-replace-0.1.1.gemspec %{gem_dir}/specifications/default/rinda-0.1.1.gemspec -%{gem_dir}/specifications/default/securerandom-0.1.0.gemspec -%{gem_dir}/specifications/default/set-1.0.1.gemspec +%{gem_dir}/specifications/default/ruby2_keywords-0.0.5.gemspec +%{gem_dir}/specifications/default/securerandom-0.2.2.gemspec +%{gem_dir}/specifications/default/set-1.0.3.gemspec %{gem_dir}/specifications/default/shellwords-0.1.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.1.gemspec -%{gem_dir}/specifications/default/stringio-3.0.1.gemspec -%{gem_dir}/specifications/default/strscan-3.0.1.gemspec -%{gem_dir}/specifications/default/syslog-0.1.0.gemspec -%{gem_dir}/specifications/default/tempfile-0.1.1.gemspec -%{gem_dir}/specifications/default/time-0.1.0.gemspec -%{gem_dir}/specifications/default/timeout-0.1.1.gemspec -%{gem_dir}/specifications/default/tmpdir-0.1.2.gemspec -%{gem_dir}/specifications/default/tsort-0.1.0.gemspec -%{gem_dir}/specifications/default/tracer-0.1.1.gemspec -%{gem_dir}/specifications/default/un-0.1.0.gemspec -%{gem_dir}/specifications/default/uri-0.10.1.gemspec -%{gem_dir}/specifications/default/weakref-0.1.1.gemspec -#%%{gem_dir}/specifications/default/win32ole-1.8.8.gemspec -%{gem_dir}/specifications/default/yaml-0.1.1.gemspec -%{gem_dir}/specifications/default/zlib-2.0.0.gemspec +%{gem_dir}/specifications/default/stringio-%{stringio_version}.gemspec +%{gem_dir}/specifications/default/strscan-3.0.5.gemspec +%{gem_dir}/specifications/default/syntax_suggest-1.0.2.gemspec +%{gem_dir}/specifications/default/syslog-0.1.1.gemspec +%{gem_dir}/specifications/default/tempfile-0.1.3.gemspec +%{gem_dir}/specifications/default/time-0.2.2.gemspec +%{gem_dir}/specifications/default/timeout-0.3.1.gemspec +%{gem_dir}/specifications/default/tmpdir-0.1.3.gemspec +%{gem_dir}/specifications/default/tsort-0.1.1.gemspec +%{gem_dir}/specifications/default/un-0.2.1.gemspec +%{gem_dir}/specifications/default/uri-0.12.1.gemspec +%{gem_dir}/specifications/default/weakref-0.1.2.gemspec +#%%{gem_dir}/specifications/default/win32ole-1.8.9.gemspec +%{gem_dir}/specifications/default/yaml-0.2.1.gemspec +%{gem_dir}/specifications/default/zlib-3.0.0.gemspec %{gem_dir}/gems/erb-%{erb_version} # Use standalone rubygem-racc if Racc binary is required. Shipping this @@ -1396,7 +1386,8 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{ruby_libdir}/psych.rb %{ruby_libarchdir}/psych.so %{_libdir}/gems/%{name}/psych-%{psych_version} -%{gem_dir}/gems/psych-%{psych_version} +%dir %{gem_dir}/gems/psych-%{psych_version} +%{gem_dir}/gems/psych-%{psych_version}/lib %{gem_dir}/specifications/psych-%{psych_version}.gemspec %files -n rubygem-bundler @@ -1407,15 +1398,94 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{_mandir}/man1/bundle*.1* %{_mandir}/man5/gemfile.5* +%files bundled-gems +%{_bindir}/rdbg +%dir %{_libdir}/gems/%{name}/debug-%{debug_version} +%{_libdir}/gems/%{name}/debug-%{debug_version}/gem.build_complete +%dir %{_libdir}/gems/%{name}/debug-%{debug_version}/debug +%{_libdir}/gems/%{name}/debug-%{debug_version}/debug/debug.so +%dir %{gem_dir}/gems/debug-%{debug_version} +%exclude %{gem_dir}/gems/debug-%{debug_version}/.* +%doc %{gem_dir}/gems/debug-%{debug_version}/CONTRIBUTING.md +%{gem_dir}/gems/debug-%{debug_version}/Gemfile +%license %{gem_dir}/gems/debug-%{debug_version}/LICENSE.txt +%doc %{gem_dir}/gems/debug-%{debug_version}/README.md +%{gem_dir}/gems/debug-%{debug_version}/Rakefile +%doc %{gem_dir}/gems/debug-%{debug_version}/TODO.md +%{gem_dir}/gems/debug-%{debug_version}/exe +%{gem_dir}/gems/debug-%{debug_version}/lib +%{gem_dir}/gems/debug-%{debug_version}/misc +%{gem_dir}/specifications/debug-%{debug_version}.gemspec + +%dir %{gem_dir}/gems/net-ftp-%{net_ftp_version} +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Gemfile +%license %{gem_dir}/gems/net-ftp-%{net_ftp_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-ftp-%{net_ftp_version}/README.md +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Rakefile +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/lib +%{gem_dir}/specifications/net-ftp-%{net_ftp_version}.gemspec + +%dir %{gem_dir}/gems/net-imap-%{net_imap_version} +%{gem_dir}/gems/net-imap-%{net_imap_version}/Gemfile +%license %{gem_dir}/gems/net-imap-%{net_imap_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-imap-%{net_imap_version}/README.md +%{gem_dir}/gems/net-imap-%{net_imap_version}/Rakefile +%{gem_dir}/gems/net-imap-%{net_imap_version}/benchmarks +%{gem_dir}/gems/net-imap-%{net_imap_version}/docs +%{gem_dir}/gems/net-imap-%{net_imap_version}/lib +%{gem_dir}/gems/net-imap-%{net_imap_version}/rakelib +%{gem_dir}/specifications/net-imap-%{net_imap_version}.gemspec + +%dir %{gem_dir}/gems/net-pop-%{net_pop_version} +%{gem_dir}/gems/net-pop-%{net_pop_version}/Gemfile +%license %{gem_dir}/gems/net-pop-%{net_pop_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-pop-%{net_pop_version}/README.md +%{gem_dir}/gems/net-pop-%{net_pop_version}/Rakefile +%{gem_dir}/gems/net-pop-%{net_pop_version}/lib +%{gem_dir}/specifications/net-pop-%{net_pop_version}.gemspec + +%dir %{gem_dir}/gems/net-smtp-%{net_smtp_version} +%license %{gem_dir}/gems/net-smtp-%{net_smtp_version}/LICENSE.txt +%{gem_dir}/gems/net-smtp-%{net_smtp_version}/lib +%{gem_dir}/specifications/net-smtp-%{net_smtp_version}.gemspec + +%dir %{gem_dir}/gems/matrix-%{matrix_version} +%license %{gem_dir}/gems/matrix-%{matrix_version}/LICENSE.txt +%{gem_dir}/gems/matrix-%{matrix_version}/lib +%{gem_dir}/specifications/matrix-%{matrix_version}.gemspec + +%dir %{gem_dir}/gems/prime-%{prime_version} +%{gem_dir}/gems/prime-%{prime_version}/Gemfile +%license %{gem_dir}/gems/prime-%{prime_version}/LICENSE.txt +%doc %{gem_dir}/gems/prime-%{prime_version}/README.md +%{gem_dir}/gems/prime-%{prime_version}/Rakefile +%{gem_dir}/gems/prime-%{prime_version}/bin +%{gem_dir}/gems/prime-%{prime_version}/lib +%{gem_dir}/specifications/prime-%{prime_version}.gemspec + %files -n rubygem-minitest -%{gem_dir}/gems/minitest-%{minitest_version} +%dir %{gem_dir}/gems/minitest-%{minitest_version} %exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* +%{gem_dir}/gems/minitest-%{minitest_version}/Manifest.txt +%{gem_dir}/gems/minitest-%{minitest_version}/design_rationale.rb +%{gem_dir}/gems/minitest-%{minitest_version}/lib %{gem_dir}/specifications/minitest-%{minitest_version}.gemspec +%doc %{gem_dir}/gems/minitest-%{minitest_version}/History.rdoc +%doc %{gem_dir}/gems/minitest-%{minitest_version}/README.rdoc +%{gem_dir}/gems/minitest-%{minitest_version}/Rakefile +%{gem_dir}/gems/minitest-%{minitest_version}/test %files -n rubygem-power_assert -%{gem_dir}/gems/power_assert-%{power_assert_version} +%dir %{gem_dir}/gems/power_assert-%{power_assert_version} %exclude %{gem_dir}/gems/power_assert-%{power_assert_version}/.* +%license %{gem_dir}/gems/power_assert-%{power_assert_version}/BSDL +%license %{gem_dir}/gems/power_assert-%{power_assert_version}/COPYING +%license %{gem_dir}/gems/power_assert-%{power_assert_version}/LEGAL +%{gem_dir}/gems/power_assert-%{power_assert_version}/lib %{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec +%{gem_dir}/gems/power_assert-%{power_assert_version}/Gemfile +%doc %{gem_dir}/gems/power_assert-%{power_assert_version}/README.md +%{gem_dir}/gems/power_assert-%{power_assert_version}/Rakefile %files -n rubygem-rake %{_bindir}/rake @@ -1425,12 +1495,15 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %files -n rubygem-rbs %{_bindir}/rbs +%dir %{_libdir}/gems/%{name}/rbs-%{rbs_version} +%{_libdir}/gems/%{name}/rbs-%{rbs_version}/gem.build_complete +%{_libdir}/gems/%{name}/rbs-%{rbs_version}/rbs_extension.so %dir %{gem_dir}/gems/rbs-%{rbs_version} %exclude %{gem_dir}/gems/rbs-%{rbs_version}/.* %license %{gem_dir}/gems/rbs-%{rbs_version}/BSDL %doc %{gem_dir}/gems/rbs-%{rbs_version}/CHANGELOG.md %license %{gem_dir}/gems/rbs-%{rbs_version}/COPYING -%{gem_dir}/gems/rbs-%{rbs_version}/Gemfile +%{gem_dir}/gems/rbs-%{rbs_version}/Gemfile* %doc %{gem_dir}/gems/rbs-%{rbs_version}/README.md %{gem_dir}/gems/rbs-%{rbs_version}/Rakefile %{gem_dir}/gems/rbs-%{rbs_version}/Steepfile @@ -1446,8 +1519,16 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec %files -n rubygem-test-unit -%{gem_dir}/gems/test-unit-%{test_unit_version} +%dir %{gem_dir}/gems/test-unit-%{test_unit_version} +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/BSDL +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/COPYING +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/PSFL +%{gem_dir}/gems/test-unit-%{test_unit_version}/lib +%{gem_dir}/gems/test-unit-%{test_unit_version}/sample %{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec +%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/README.md +%{gem_dir}/gems/test-unit-%{test_unit_version}/Rakefile +%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/doc %files -n rubygem-rexml %dir %{gem_dir}/gems/rexml-%{rexml_version} @@ -1477,97 +1558,155 @@ OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ %license %{gem_dir}/gems/typeprof-%{typeprof_version}/LICENSE %{gem_dir}/gems/typeprof-%{typeprof_version}/exe %{gem_dir}/gems/typeprof-%{typeprof_version}/lib -%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/smoke %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/tools +%exclude %{gem_dir}/gems/typeprof-%{typeprof_version}/typeprof-lsp %{gem_dir}/specifications/typeprof-%{typeprof_version}.gemspec %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Gemfile* %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/README.md %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Rakefile -%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc -%lang(ja) %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc/doc.ja.md -%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/testbed %changelog -* Fri Jul 08 2022 Jarek Prokop - 3.0.4-160 -- Upgrade to Ruby 3.0.4. - Resolves: rhbz#2109428 -- OpenSSL test suite fixes due to disabled SHA1. - Related: rbhz#2109428 -- Fix double free in Regexp compilation. - Resolves: CVE-2022-28738 -- Fix buffer overrun in String-to-Float conversion. - Resolves: CVE-2022-28739 - -* Thu Feb 10 2022 Vít Ondruch - 3.0.3-159 +* Tue Sep 26 2023 Arkady L. Shane - +- Rebuilt for MSVSphere 9.2 + +* Fri Mar 31 2023 Vít Ondruch - 3.2.2-180 +- Upgrade to Ruby 3.2.2. + Resolves: rhbz#2183284 + +* Thu Feb 09 2023 Vít Ondruch - 3.2.1-179 +- Upgrade to Ruby 3.2.1. + Resolves: rhbz#2168292 + +* Fri Jan 20 2023 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jan 05 2023 Vít Ondruch - 3.2.0-177 +- Fix ELN FTBFS due to stronger crypto settings. + +* Mon Jan 02 2023 Vít Ondruch - 3.2.0-176 +- Upgrade to Ruby 3.2.0. + +* Thu Dec 22 2022 Yaakov Selkowitz - 3.1.3-175 +- Use SHA256 instead of SHA1 where needed in Openssl tests +- Let OpenSSL choose the digest if digest for Openssl::OCSP::BasicResponse#sign is nil + +* Wed Dec 21 2022 Vít Ondruch - 3.1.3-174 +- Fix for tzdata-2022g. + +* Thu Dec 08 2022 Vít Ondruch - 3.1.3-173 +- Disable MJIT test cases on i686 due to issues with PCH. +- Fix CGI causing issue with leading '.' in domain names. + +* Thu Nov 24 2022 Vít Ondruch - 3.1.3-172 +- Upgrade to Ruby 3.1.3. + +* Tue Nov 22 2022 Vít Ondruch - 3.1.2-171 +- Re-disable package notes. It causes additional issues with installing binary + gems. + +* Thu Sep 29 2022 Vít Ondruch - 3.1.2-170 +- Re-enable package notes. + +* Fri Sep 02 2022 Jarek Prokop - 3.1.2-169 +- Disable fiddle tests that use FFI closures. + Related: rhbz#2040380 + +* Mon Aug 29 2022 Jun Aruga - 3.1.2-168 +- Make RDoc soft dependnecy in IRB. + Resolves: rhbz#2119964 +- Add IRB to ruby-bundled-gems recommends. + Resolves: rhbz#2120562 + +* Wed Aug 24 2022 Jun Aruga - 3.1.2-168 +- Fix tests with Europe/Amsterdam pre-1970 time on tzdata version 2022b. + Resolves: rhbz#2120354 + +* Mon Jul 25 2022 Jarek Prokop - 3.1.2-167 +- Fix directory permissions in one of the rubygems tests. + +* Sat Jul 23 2022 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jun 16 2022 Jarek Prokop - 3.1.2-166 +- Detect compaction support during run time. + +* Tue Jun 07 2022 Jarek Prokop - 3.1.2-165 +- Define GC compaction methods as rb_f_notimplement on unsupported platforms. + +* Thu Apr 14 2022 Vít Ondruch - 3.1.2-164 +- Upgrade to Ruby 3.1.2. +- Use upstream patch for correct build of gem extensions. + +* Mon Apr 04 2022 Vít Ondruch - 3.1.1-163 +- Properly build binary gem extensions. + +* Mon Mar 14 2022 Vít Ondruch - 3.1.1-162 +- Upgrade to Ruby 3.1.1. + +* Thu Feb 10 2022 Vít Ondruch - 3.1.0-161 - Prevent segfaults running with SystemTap. - Resolves: rhbz#2015441 + +* Wed Jan 26 2022 Vít Ondruch - 3.1.0-160 +- Upgrade to Ruby 3.1.0. * Tue Jan 25 2022 Vít Ondruch - 3.0.3-159 - Update OpenSSL 3 compatibility patches. - Resolves: rhbz#1952925 + +* Thu Jan 20 2022 Vít Ondruch - 3.0.3-158 +- Disable package notes to prevent rubygem- build breakage. * Thu Jan 20 2022 Vít Ondruch - 3.0.3-157 - Fix segfault in `TestArray#test_sample` on s390x. - Related: rhbz#2049693 * Tue Jan 11 2022 Jun Aruga - 3.0.3-157 - Remove the patch applied to pass the test/fiddle/test_import.rb on PPC. - Related: rhbz#2049693 -* Thu Nov 25 2021 Vít Ondruch - 3.0.2-156 +* Mon Jan 10 2022 Miro Hrončok - 3.0.3-156 +- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34 + +* Thu Dec 09 2021 Vít Ondruch - 3.0.3-155 +- Fix loading of default gems. + Resolves: rhbz#2027099 + +* Thu Nov 25 2021 Vít Ondruch - 3.0.3-154 - Upgrade to Ruby 3.0.3. - Resolves: rhbz#2049693 -* Wed Aug 25 2021 Vít Ondruch - 3.0.2-156 +* Fri Nov 05 2021 Vít Ondruch - 3.0.2-153 +- Fix OpenSSL 3.0 compatibility. + Resolves: rhbz#2021922 + +* Tue Sep 14 2021 Sahana Prasad +- Rebuilt with OpenSSL 3.0.0 + +* Tue Aug 24 2021 Vít Ondruch - 3.0.2-152 - Enable LTO. - Resolves: rhbz#1990108 +- Load user installed RubyGems plugins. -* Wed Aug 25 2021 Carlos O'Donell - 3.0.1-155 -- Rebuilt for libffi 3.4.2 SONAME transition (second attempt). - Related: rhbz#1891914 +* Fri Jul 23 2021 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild -* Fri Aug 20 2021 Pavel Valena - 3.0.1-154 +* Tue Jul 13 2021 Jarek Prokop - 3.0.2-150 - Upgrade to Ruby 3.0.2. - Fix command injection vulnerability in RDoc. Resolves: CVE-2021-31799 - Fix FTP PASV command response can cause Net::FTP to connect to arbitrary host. Resolves: CVE-2021-31810 -- Fix StartTLS stripping vulnerability in Net::IMAP +- Fix StartTLS stripping vulnerability in Net::IMAP. Resolves: CVE-2021-32066 -- Fix dependencies of gems with explicit source installed from a - different source. +- Fix dependencies of gems with explicit source installed from a different + source. Resolves: CVE-2020-36327 -- Pass ldflags to gem install via CONFIGURE_ARGS. - -* Thu Aug 19 2021 Carlos O'Donell - 3.0.1-153 -- Rebuilt for libffi 3.4.2 SONAME transition. - Related: rhbz#1891914 -* Tue Aug 10 2021 Mohan Boddu -- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Related: rhbz#1991688 +* Mon May 17 2021 Timm Bäder - 3.0.1-149 +- Pass ldflags to gem install via CONFIGURE_ARGS -* Fri Aug 6 2021 Florian Weimer - 3.0.1-151 -- Rebuild to pick up new build flags from redhat-rpm-config (#1984652) - -* Wed Jun 16 2021 Mohan Boddu -- Rebuilt for RHEL 9 BETA for openssl 3.0 - Related: rhbz#1971065 - -* Thu Jun 03 2021 Pavel Valena - 3.0.1-149 -- Support OpenSSL 3.0. - Resolves: rhbz#1952925 - -* Fri Apr 16 2021 Vít Ondruch - 3.0.1-148 +* Tue Apr 06 2021 Vít Ondruch - 3.0.1-148 - Upgrade to Ruby 3.0.1. -* Fri Apr 16 2021 Vít Ondruch - 3.0.0-147 +* Thu Apr 01 2021 Vít Ondruch - 3.0.0-147 - Remove IRB dependency from rubygem-rdoc. -* Fri Apr 16 2021 Mohan Boddu - 3.0.0-147 -- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 - * Tue Mar 02 2021 Vít Ondruch - 3.0.0-146 - Fix flaky excon test suite. - Properly support DWARF5 debug information.