From 79e87e6d82f0b0ab217d86c6711d29525ead0326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 18 Sep 2023 15:14:53 +0200 Subject: [PATCH 01/52] Allow to provide custom gem_name for %gem_ macros This is mainly useful for ruby.gemspec, where the same macros as for gem pckages can be used. --- macros.rubygems | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/macros.rubygems b/macros.rubygems index 8c4d067..afd3f85 100644 --- a/macros.rubygems +++ b/macros.rubygems @@ -2,14 +2,30 @@ %gem_dir %{_datadir}/gems %gem_archdir %{_libdir}/gems +# %gem_name_version - Provides gem_name-version string. +# +# Usage: %gem_name_version [custom_gem_name] +# +# Prints gem_name-version string, by default joining %gem_name, %version and +# %prerelease macros. When [custom_gem_name] is provided, the +# custom_gem_name is joined with %custom_gem_name_version macro which needs +# to be predegined. +# +%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{?1:%{expand:%{%{1}_version}}}%{!?1:%{version}}%{?prerelease} + # Common gem locations and files. -%gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}%{?prerelease} -%gem_extdir_mri %{gem_archdir}/%{name}/%{gem_name}-%{version}%{?prerelease} -%gem_libdir %{gem_instdir}/lib -%gem_cache %{gem_dir}/cache/%{gem_name}-%{version}%{?prerelease}.gem -%gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}%{?prerelease}.gemspec -%gem_docdir %{gem_dir}/doc/%{gem_name}-%{version}%{?prerelease} -%gem_plugin %{gem_dir}/plugins/%{gem_name}_plugin.rb +# +# These macros leverages %gem_name_version macro and accepts custom gem_name. +# +# -d Use default gem install location. +# +%gem_instdir() %{gem_dir}/gems/%{gem_name_version %{?1}} +%gem_extdir_mri() %{gem_archdir}/%{name}/%{gem_name_version %{?1}} +%gem_libdir() %{gem_instdir %{?1}}/lib +%gem_cache() %{gem_dir}/cache/%{gem_name_version %{?1}}.gem +%gem_spec(d) %{gem_dir}/specifications%{?-d:/default}/%{gem_name_version %{?1}}.gemspec +%gem_docdir() %{gem_dir}/doc/%{gem_name_version %{?1}} +%gem_plugin() %{gem_dir}/plugins/%{?1}%{!?1:%{gem_name}}_plugin.rb # %gem_install - Install gem into appropriate directory. From 4c825f6bc823ccdf97ae3891a0f80faf4fcf84b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 11 Sep 2023 17:02:53 +0200 Subject: [PATCH 02/52] Upgrade to Ruby 3.3.0 (7c8932365f). --- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +- ruby-2.3.0-ruby_version.patch | 18 +- ruby-2.7.0-Initialize-ABRT-hook.patch | 30 ++- ..._bug_reporter_add-witout-raising-err.patch | 31 --- ...ery-RubyVM-FrozenCore-for-class-path.patch | 2 +- ...Revert-Fix-test-syntax-suggest-order.patch | 73 ------ ...rt-Test-syntax_suggest-by-make-check.patch | 67 ------ ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch | 39 ---- ...3.0-Disable-syntax-suggest-test-case.patch | 23 ++ ....3.0-openssl-3.2.0-fips-enable-tests.patch | 32 --- ...2.0-fips-fix-pkey-dh-require-openssl.patch | 73 ------ ....2.0-fips-fix-pkey-read-in-openssl-3.patch | 160 -------------- ...-3.2.0-fix-fips-get-set-in-openssl-3.patch | 142 ------------ ruby.spec | 208 ++++++++---------- 17 files changed, 156 insertions(+), 752 deletions(-) delete mode 100644 ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch delete mode 100644 ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch delete mode 100644 ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch delete mode 100644 ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch create mode 100644 ruby-3.3.0-Disable-syntax-suggest-test-case.patch delete mode 100644 ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch delete mode 100644 ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch delete mode 100644 ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch delete mode 100644 ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 2646a80..9652d5a 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 -@@ -3411,6 +3411,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3431,6 +3431,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 6f2fbe7..b6027cc 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 -@@ -4196,7 +4196,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4259,7 +4259,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 f94b656..1f1e2fe 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 -@@ -4260,6 +4260,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4323,6 +4323,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 0cb2012..70c702a 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 -@@ -4232,6 +4232,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4295,6 +4295,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='' -@@ -4256,6 +4260,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4319,6 +4323,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 866fef4..133fd00 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 -@@ -4146,9 +4146,6 @@ AS_CASE(["$target_os"], +@@ -4209,9 +4209,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], -@@ -4171,57 +4168,63 @@ AC_ARG_WITH(ridir, +@@ -4234,57 +4231,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4238,6 +4241,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4301,6 +4304,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -195,7 +195,7 @@ 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 -@@ -34,7 +34,7 @@ def self.default_spec_cache_dir +@@ -35,7 +35,7 @@ def self.default_spec_cache_dir # specified in the environment def self.default_dir @@ -204,7 +204,7 @@ index d4ff4a262c..3f9a5bf590 100644 end ## -@@ -103,7 +103,8 @@ def self.user_dir +@@ -104,7 +104,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] @@ -214,7 +214,7 @@ index d4ff4a262c..3f9a5bf590 100644 File.join parts end -@@ -248,7 +249,7 @@ def self.vendor_dir # :nodoc: +@@ -253,7 +254,7 @@ def self.vendor_dir # :nodoc: return nil unless RbConfig::CONFIG.key? "vendordir" File.join RbConfig::CONFIG["vendordir"], "gems", @@ -227,7 +227,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 -@@ -1337,7 +1337,8 @@ def test_self_use_paths +@@ -1351,7 +1351,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, ".gem", Gem.ruby_engine] @@ -237,7 +237,7 @@ index b25068405d..e9fef4a311 100644 FileUtils.mkdir_p File.join(parts) -@@ -1413,7 +1414,7 @@ def test_self_vendor_dir +@@ -1427,7 +1428,7 @@ def test_self_vendor_dir vendordir(File.join(@tempdir, "vendor")) do expected = File.join RbConfig::CONFIG["vendordir"], "gems", @@ -262,7 +262,7 @@ diff --git a/configure.ac b/configure.ac index a00f2b6776..999e2d6d5d 100644 --- a/configure.ac +++ b/configure.ac -@@ -124,7 +124,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` +@@ -135,7 +135,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` RUBYW_BASE_NAME=`echo rubyw | sed "$program_transform_name"` AC_SUBST(RUBY_BASE_NAME) AC_SUBST(RUBYW_BASE_NAME) diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index b0aace4..6947b07 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -15,10 +15,11 @@ To keep the things simple for now, load the ABRT hook via C. [4]: https://github.com/ruby/ruby/pull/2735 [5]: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/ --- - abrt.c | 12 ++++++++++++ - common.mk | 3 ++- - ruby.c | 4 ++++ - 3 files changed, 18 insertions(+), 1 deletion(-) + abrt.c | 12 ++++++++++++ + common.mk | 3 ++- + ruby.c | 4 ++++ + spec/ruby/core/kernel/require_spec.rb | 2 ++ + 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 abrt.c diff --git a/abrt.c b/abrt.c @@ -43,9 +44,9 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -86,7 +86,8 @@ ENC_MK = enc.mk - MAKE_ENC = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \ - RUBY="$(BOOTSTRAPRUBY)" MINIRUBY="$(BOOTSTRAPRUBY)" $(mflags) +@@ -115,7 +115,8 @@ YARP_FILES = yarp/api_node.$(OBJEXT) \ + yarp/yarp.$(OBJEXT) \ + yarp/yarp_init.$(OBJEXT) -COMMONOBJS = array.$(OBJEXT) \ +COMMONOBJS = abrt.$(OBJEXT) \ @@ -57,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1572,10 +1572,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1699,10 +1699,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); @@ -72,3 +73,16 @@ index 60c57d6259..1eec16f2c8 100644 rb_const_remove(rb_cObject, rb_intern_const("TMP_RUBY_PREFIX")); } +diff --git a/spec/ruby/core/kernel/require_spec.rb b/spec/ruby/core/kernel/require_spec.rb +index 60c57d6259..1eec16f2c8 100644 +--- a/spec/ruby/core/kernel/require_spec.rb ++++ b/spec/ruby/core/kernel/require_spec.rb +@@ -25,6 +25,8 @@ + out = ruby_exe("puts $LOADED_FEATURES", options: '--disable-gems --disable-did-you-mean') + features = out.lines.map { |line| File.basename(line.chomp, '.*') } + ++ # Ignore ABRT ++ features -= %w[abrt] + # Ignore CRuby internals + features -= %w[encdb transdb windows_1252] + features.reject! { |feature| feature.end_with?('-fake') } 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 deleted file mode 100644 index b14971e..0000000 --- a/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 9b42fce32bff25e0569581f76f532b9d57865aef Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Mon, 27 Jul 2020 14:56:05 +0200 -Subject: [PATCH] Timeout the test_bug_reporter_add witout raising error. - -While timeouting the threads might be still good idea, it does not seems -the timeout impacts the TestBugReporter#test_bug_reporter_add result, -because the output of the child process has been already collected -earlier. - -It seems that when the system is under heavy load, the thread might not -be sheduled to finish its processing. Even finishing the child process -might take tens of seconds and therefore the test case finish might take -a while. ---- - test/-ext-/bug_reporter/test_bug_reporter.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/test/-ext-/bug_reporter/test_bug_reporter.rb b/test/-ext-/bug_reporter/test_bug_reporter.rb -index 628fcd0340..2c677cc8a7 100644 ---- a/test/-ext-/bug_reporter/test_bug_reporter.rb -+++ b/test/-ext-/bug_reporter/test_bug_reporter.rb -@@ -28,7 +28,7 @@ def test_bug_reporter_add - "-C", tmpdir] - 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 diff --git a/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch b/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch index 22b94e6..58b39cb 100644 --- a/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch +++ b/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch @@ -21,7 +21,7 @@ diff --git a/vm.c b/vm.c index 8ce8b279d4..3d189fa63a 100644 --- a/vm.c +++ b/vm.c -@@ -547,7 +547,15 @@ rb_dtrace_setup(rb_execution_context_t *ec, VALUE klass, ID id, +@@ -565,7 +565,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) { diff --git a/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch b/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch deleted file mode 100644 index ee3b177..0000000 --- a/ruby-3.2.0-Revert-Fix-test-syntax-suggest-order.patch +++ /dev/null @@ -1,73 +0,0 @@ -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/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch b/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch deleted file mode 100644 index 3efb21f..0000000 --- a/ruby-3.2.0-Revert-Test-syntax_suggest-by-make-check.patch +++ /dev/null @@ -1,67 +0,0 @@ -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/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch b/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch deleted file mode 100644 index 1b3395b..0000000 --- a/ruby-3.2.0-Use-SHA256-instead-of-SHA1.patch +++ /dev/null @@ -1,39 +0,0 @@ -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/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch new file mode 100644 index 0000000..5a40496 --- /dev/null +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -0,0 +1,23 @@ +From 6365d1b79e10330fced83d00d4cb950380a3b0fe Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Thu, 7 Sep 2023 13:13:02 +0200 +Subject: [PATCH] Disable syntax-suggest test case. + +This requires internet connection. +--- + common.mk | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/common.mk b/common.mk +index d55d1788aa..73755f6ccd 100644 +--- a/common.mk ++++ b/common.mk +@@ -1563,8 +1563,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) + $(ACTIONS_ENDGROUP) + no-test-syntax-suggest: + +-check: $(DOT_WAIT) $(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/ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch b/ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch deleted file mode 100644 index 7f66fa1..0000000 --- a/ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f0b254f1f6610294821bbfc06b414d2af452db5b Mon Sep 17 00:00:00 2001 -From: Jun Aruga -Date: Thu, 13 Apr 2023 17:28:27 +0200 -Subject: [PATCH] [ruby/openssl] Drop a common logic disabling the FIPS mode in - the tests. - -We want to run the unit tests in the FIPS mode too. - -https://github.com/ruby/openssl/commit/ab92baff34 ---- - test/openssl/utils.rb | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/test/openssl/utils.rb b/test/openssl/utils.rb -index 4ebcb9837b..8a0be0d154 100644 ---- a/test/openssl/utils.rb -+++ b/test/openssl/utils.rb -@@ -1,11 +1,6 @@ - # frozen_string_literal: true - begin - require "openssl" -- -- # Disable FIPS mode for tests for installations -- # where FIPS mode would be enabled by default. -- # Has no effect on all other installations. -- OpenSSL.fips_mode=false - rescue LoadError - end - --- -2.41.0 - diff --git a/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch b/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch deleted file mode 100644 index a0951bd..0000000 --- a/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch +++ /dev/null @@ -1,73 +0,0 @@ -From b6d7cdc2bad0eadbca73f3486917f0ec7a475814 Mon Sep 17 00:00:00 2001 -From: Kazuki Yamaguchi -Date: Tue, 29 Aug 2023 19:46:02 +0900 -Subject: [PATCH] [ruby/openssl] ssl: use ffdhe2048 from RFC 7919 as the - default DH group parameters - -In TLS 1.2 or before, if DH group parameters for DHE are not supplied -with SSLContext#tmp_dh= or #tmp_dh_callback=, we currently use the -self-generated parameters added in commit https://github.com/ruby/openssl/commit/bb3399a61c03 ("support 2048 -bit length DH-key", 2016-01-15) as the fallback. - -While there is no known weakness in the current parameters, it would be -a good idea to switch to pre-defined, more well audited parameters. - -This also allows the fallback to work in the FIPS mode. - -The PEM encoding was derived with: - - # RFC 7919 Appendix A.1. ffdhe2048 - print OpenSSL::PKey.read(OpenSSL::ASN1::Sequence([OpenSSL::ASN1::Integer((<<-END).split.join.to_i(16)), OpenSSL::ASN1::Integer(2)]).to_der).to_pem - FFFFFFFF FFFFFFFF ADF85458 A2BB4A9A AFDC5620 273D3CF1 - D8B9C583 CE2D3695 A9E13641 146433FB CC939DCE 249B3EF9 - 7D2FE363 630C75D8 F681B202 AEC4617A D3DF1ED5 D5FD6561 - 2433F51F 5F066ED0 85636555 3DED1AF3 B557135E 7F57C935 - 984F0C70 E0E68B77 E2A689DA F3EFE872 1DF158A1 36ADE735 - 30ACCA4F 483A797A BC0AB182 B324FB61 D108A94B B2C8E3FB - B96ADAB7 60D7F468 1D4F42A3 DE394DF4 AE56EDE7 6372BB19 - 0B07A7C8 EE0A6D70 9E02FCE1 CDF7E2EC C03404CD 28342F61 - 9172FE9C E98583FF 8E4F1232 EEF28183 C3FE3B1B 4C6FAD73 - 3BB5FCBC 2EC22005 C58EF183 7D1683B2 C6F34A26 C1B2EFFA - 886B4238 61285C97 FFFFFFFF FFFFFFFF - END - -https://github.com/ruby/openssl/commit/a5527cb4f4 ---- - ext/openssl/lib/openssl/ssl.rb | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/ext/openssl/lib/openssl/ssl.rb b/ext/openssl/lib/openssl/ssl.rb -index ea8bb2a18e533..94be6ba80b894 100644 ---- a/ext/openssl/lib/openssl/ssl.rb -+++ b/ext/openssl/lib/openssl/ssl.rb -@@ -34,21 +34,21 @@ class SSLContext - } - - if defined?(OpenSSL::PKey::DH) -- DEFAULT_2048 = OpenSSL::PKey::DH.new <<-_end_of_pem_ -+ DH_ffdhe2048 = OpenSSL::PKey::DH.new <<-_end_of_pem_ - -----BEGIN DH PARAMETERS----- --MIIBCAKCAQEA7E6kBrYiyvmKAMzQ7i8WvwVk9Y/+f8S7sCTN712KkK3cqd1jhJDY --JbrYeNV3kUIKhPxWHhObHKpD1R84UpL+s2b55+iMd6GmL7OYmNIT/FccKhTcveab --VBmZT86BZKYyf45hUF9FOuUM9xPzuK3Vd8oJQvfYMCd7LPC0taAEljQLR4Edf8E6 --YoaOffgTf5qxiwkjnlVZQc3whgnEt9FpVMvQ9eknyeGB5KHfayAc3+hUAvI3/Cr3 --1bNveX5wInh5GDx1FGhKBZ+s1H+aedudCm7sCgRwv8lKWYGiHzObSma8A86KG+MD --7Lo5JquQ3DlBodj3IDyPrxIv96lvRPFtAwIBAg== -+MIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz -++8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a -+87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7 -+YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi -+7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD -+ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg== - -----END DH PARAMETERS----- - _end_of_pem_ -- private_constant :DEFAULT_2048 -+ private_constant :DH_ffdhe2048 - - DEFAULT_TMP_DH_CALLBACK = lambda { |ctx, is_export, keylen| # :nodoc: - warn "using default DH parameters." if $VERBOSE -- DEFAULT_2048 -+ DH_ffdhe2048 - } - end - diff --git a/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch b/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch deleted file mode 100644 index bd37bd7..0000000 --- a/ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 40451afa279c52ce7a508f8a9ec553cfe7a76a10 Mon Sep 17 00:00:00 2001 -From: Jun Aruga -Date: Wed, 12 Apr 2023 17:15:21 +0200 -Subject: [PATCH] Fix OpenSSL::PKey.read in OpenSSL 3 FIPS module. - -This is a combination of the following 2 commits. Because the combined patch is -easy to merge. - -This is the 1st commit message: - -[ruby/openssl] Workaround: Fix OpenSSL::PKey.read that cannot parse PKey in the FIPS mode. - -This commit is a workaround to avoid the error below that the -`OpenSSL::PKey.read` fails with the OpenSSL 3.0 FIPS mode. - -``` -$ openssl genrsa -out key.pem 4096 - -$ ruby -e "require 'openssl'; OpenSSL::PKey.read(File.read('key.pem'))" --e:1:in `read': Could not parse PKey (OpenSSL::PKey::PKeyError) - from -e:1:in `
' -``` - -The root cause is on the OpenSSL side. The `OSSL_DECODER_CTX_set_selection` -doesn't apply the selection value properly if there are multiple providers, and -a provider (e.g. "base" provider) handles the decoder implementation, and -another provider (e.g. "fips" provider) handles the keys. - -The workaround is to create `OSSL_DECODER_CTX` variable each time without using -the `OSSL_DECODER_CTX_set_selection`. - -https://github.com/ruby/openssl/commit/5ff4a31621 - -This is the commit message #2: - -[ruby/openssl] ossl_pkey.c: Workaround: Decode with non-zero selections. - -This is a workaround for the decoding issue in ossl_pkey_read_generic(). -The issue happens in the case that a key management provider is different from -a decoding provider. - -Try all the non-zero selections in order, instead of selection 0 for OpenSSL 3 -to avoid the issue. - -https://github.com/ruby/openssl/commit/db688fa739 ---- - ext/openssl/ossl_pkey.c | 78 ++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 73 insertions(+), 5 deletions(-) - -diff --git a/ext/openssl/ossl_pkey.c b/ext/openssl/ossl_pkey.c -index 476256679b..419422958e 100644 ---- a/ext/openssl/ossl_pkey.c -+++ b/ext/openssl/ossl_pkey.c -@@ -82,18 +82,20 @@ ossl_pkey_new(EVP_PKEY *pkey) - #if OSSL_OPENSSL_PREREQ(3, 0, 0) - # include - --EVP_PKEY * --ossl_pkey_read_generic(BIO *bio, VALUE pass) -+static EVP_PKEY * -+ossl_pkey_read(BIO *bio, const char *input_type, int selection, VALUE pass) - { - void *ppass = (void *)pass; - OSSL_DECODER_CTX *dctx; - EVP_PKEY *pkey = NULL; - int pos = 0, pos2; - -- dctx = OSSL_DECODER_CTX_new_for_pkey(&pkey, "DER", NULL, NULL, 0, NULL, NULL); -+ dctx = OSSL_DECODER_CTX_new_for_pkey(&pkey, input_type, NULL, NULL, -+ selection, NULL, NULL); - if (!dctx) - goto out; -- if (OSSL_DECODER_CTX_set_pem_password_cb(dctx, ossl_pem_passwd_cb, ppass) != 1) -+ if (OSSL_DECODER_CTX_set_pem_password_cb(dctx, ossl_pem_passwd_cb, -+ ppass) != 1) - goto out; - - /* First check DER */ -@@ -151,11 +153,77 @@ ossl_pkey_read_generic(BIO *bio, VALUE pass) - ossl_clear_error(); - pos = pos2; - } -- - out: -+ OSSL_BIO_reset(bio); - OSSL_DECODER_CTX_free(dctx); - return pkey; - } -+ -+EVP_PKEY * -+ossl_pkey_read_generic(BIO *bio, VALUE pass) -+{ -+ EVP_PKEY *pkey = NULL; -+ /* First check DER, then check PEM. */ -+ const char *input_types[] = {"DER", "PEM"}; -+ int input_type_num = (int)(sizeof(input_types) / sizeof(char *)); -+ /* -+ * Non-zero selections to try to decode. -+ * -+ * See EVP_PKEY_fromdata(3) - Selections to see all the selections. -+ * -+ * This is a workaround for the decoder failing to decode or returning -+ * bogus keys with selection 0, if a key management provider is different -+ * from a decoder provider. The workaround is to avoid using selection 0. -+ * -+ * Affected OpenSSL versions: >= 3.1.0, <= 3.1.2, or >= 3.0.0, <= 3.0.10 -+ * Fixed OpenSSL versions: 3.2, next release of the 3.1.z and 3.0.z -+ * -+ * See https://github.com/openssl/openssl/pull/21519 for details. -+ * -+ * First check for private key formats (EVP_PKEY_KEYPAIR). This is to keep -+ * compatibility with ruby/openssl < 3.0 which decoded the following as a -+ * private key. -+ * -+ * $ openssl ecparam -name prime256v1 -genkey -outform PEM -+ * -----BEGIN EC PARAMETERS----- -+ * BggqhkjOPQMBBw== -+ * -----END EC PARAMETERS----- -+ * -----BEGIN EC PRIVATE KEY----- -+ * MHcCAQEEIAG8ugBbA5MHkqnZ9ujQF93OyUfL9tk8sxqM5Wv5tKg5oAoGCCqGSM49 -+ * AwEHoUQDQgAEVcjhJfkwqh5C7kGuhAf8XaAjVuG5ADwb5ayg/cJijCgs+GcXeedj -+ * 86avKpGH84DXUlB23C/kPt+6fXYlitUmXQ== -+ * -----END EC PRIVATE KEY----- -+ * -+ * While the first PEM block is a proper encoding of ECParameters, thus -+ * OSSL_DECODER_from_bio() would pick it up, ruby/openssl used to return -+ * the latter instead. Existing applications expect this behavior. -+ * -+ * Note that normally, the input is supposed to contain a single decodable -+ * PEM block only, so this special handling should not create a new problem. -+ * -+ * Note that we need to create the OSSL_DECODER_CTX variable each time when -+ * we use the different selection as a workaround. -+ * See https://github.com/openssl/openssl/issues/20657 for details. -+ */ -+ int selections[] = { -+ EVP_PKEY_KEYPAIR, -+ EVP_PKEY_KEY_PARAMETERS, -+ EVP_PKEY_PUBLIC_KEY -+ }; -+ int selection_num = (int)(sizeof(selections) / sizeof(int)); -+ int i, j; -+ -+ for (i = 0; i < input_type_num; i++) { -+ for (j = 0; j < selection_num; j++) { -+ pkey = ossl_pkey_read(bio, input_types[i], selections[j], pass); -+ if (pkey) { -+ goto out; -+ } -+ } -+ } -+ out: -+ return pkey; -+} - #else - EVP_PKEY * - ossl_pkey_read_generic(BIO *bio, VALUE pass) --- -2.41.0 - diff --git a/ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch b/ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch deleted file mode 100644 index ab6a777..0000000 --- a/ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch +++ /dev/null @@ -1,142 +0,0 @@ -From 29920ec109751459a65c6478525f2e59c644891f Mon Sep 17 00:00:00 2001 -From: Jun Aruga -Date: Thu, 16 Mar 2023 21:36:43 +0100 -Subject: [PATCH] [ruby/openssl] Implement FIPS functions on OpenSSL 3. - -This commit is to implement the `OpenSSL::OPENSSL_FIPS`, `ossl_fips_mode_get` -and `ossl_fips_mode_set` to pass the test `test/openssl/test_fips.rb`. - -It seems that the `OPENSSL_FIPS` macro is not used on the FIPS mode case any -more, and some FIPS related APIs also were removed in OpenSSL 3. - -See the document -the section OPENSSL 3.0 > Main Changes from OpenSSL 1.1.1 > -Other notable deprecations and changes - Removed FIPS_mode() and FIPS_mode_set() . - -The `OpenSSL::OPENSSL_FIPS` returns always true in OpenSSL 3 because the used -functions `EVP_default_properties_enable_fips` and `EVP_default_properties_is_fips_enabled` -works with the OpenSSL installed without FIPS option. - -The `TEST_RUBY_OPENSSL_FIPS_ENABLED` is set on the FIPS mode case on the CI. -Because I want to test that the `OpenSSL.fips_mode` returns the `true` or -'false' surely in the CI. You can test the FIPS mode case by setting -`TEST_RUBY_OPENSSL_FIPS_ENABLED` on local too. Right now I don't find a better -way to get the status of the FIPS mode enabled or disabled for this purpose. I -am afraid of the possibility that the FIPS test case is unintentionally skipped. - -I also replaced the ambiguous "returns" with "should return" in the tests. - -https://github.com/ruby/openssl/commit/c5b2bc1268 ---- - ext/openssl/ossl.c | 25 +++++++++++++++++++++---- - test/openssl/test_fips.rb | 32 ++++++++++++++++++++++++++++---- - 2 files changed, 49 insertions(+), 8 deletions(-) - -diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c -index 6c532aca94..fcf3744c65 100644 ---- a/ext/openssl/ossl.c -+++ b/ext/openssl/ossl.c -@@ -418,7 +418,11 @@ static VALUE - ossl_fips_mode_get(VALUE self) - { - --#ifdef OPENSSL_FIPS -+#if OSSL_OPENSSL_PREREQ(3, 0, 0) -+ VALUE enabled; -+ enabled = EVP_default_properties_is_fips_enabled(NULL) ? Qtrue : Qfalse; -+ return enabled; -+#elif OPENSSL_FIPS - VALUE enabled; - enabled = FIPS_mode() ? Qtrue : Qfalse; - return enabled; -@@ -442,8 +446,18 @@ ossl_fips_mode_get(VALUE self) - static VALUE - ossl_fips_mode_set(VALUE self, VALUE enabled) - { -- --#ifdef OPENSSL_FIPS -+#if OSSL_OPENSSL_PREREQ(3, 0, 0) -+ if (RTEST(enabled)) { -+ if (!EVP_default_properties_enable_fips(NULL, 1)) { -+ ossl_raise(eOSSLError, "Turning on FIPS mode failed"); -+ } -+ } else { -+ if (!EVP_default_properties_enable_fips(NULL, 0)) { -+ ossl_raise(eOSSLError, "Turning off FIPS mode failed"); -+ } -+ } -+ return enabled; -+#elif OPENSSL_FIPS - if (RTEST(enabled)) { - int mode = FIPS_mode(); - if(!mode && !FIPS_mode_set(1)) /* turning on twice leads to an error */ -@@ -1198,7 +1212,10 @@ Init_openssl(void) - * Boolean indicating whether OpenSSL is FIPS-capable or not - */ - rb_define_const(mOSSL, "OPENSSL_FIPS", --#ifdef OPENSSL_FIPS -+/* OpenSSL 3 is FIPS-capable even when it is installed without fips option */ -+#if OSSL_OPENSSL_PREREQ(3, 0, 0) -+ Qtrue -+#elif OPENSSL_FIPS - Qtrue - #else - Qfalse -diff --git a/test/openssl/test_fips.rb b/test/openssl/test_fips.rb -index 8cd474f9a3..56a12a94ce 100644 ---- a/test/openssl/test_fips.rb -+++ b/test/openssl/test_fips.rb -@@ -4,22 +4,46 @@ - if defined?(OpenSSL) - - class OpenSSL::TestFIPS < OpenSSL::TestCase -+ def test_fips_mode_get_is_true_on_fips_mode_enabled -+ unless ENV["TEST_RUBY_OPENSSL_FIPS_ENABLED"] -+ omit "Only for FIPS mode environment" -+ end -+ -+ assert_separately([{ "OSSL_MDEBUG" => nil }, "-ropenssl"], <<~"end;") -+ assert OpenSSL.fips_mode == true, ".fips_mode should return true on FIPS mode enabled" -+ end; -+ end -+ -+ def test_fips_mode_get_is_false_on_fips_mode_disabled -+ if ENV["TEST_RUBY_OPENSSL_FIPS_ENABLED"] -+ omit "Only for non-FIPS mode environment" -+ end -+ -+ assert_separately([{ "OSSL_MDEBUG" => nil }, "-ropenssl"], <<~"end;") -+ message = ".fips_mode should return false on FIPS mode disabled. " \ -+ "If you run the test on FIPS mode, please set " \ -+ "TEST_RUBY_OPENSSL_FIPS_ENABLED=true" -+ assert OpenSSL.fips_mode == false, message -+ end; -+ end -+ - def test_fips_mode_is_reentrant - OpenSSL.fips_mode = false - OpenSSL.fips_mode = false - end - -- def test_fips_mode_get -- return unless OpenSSL::OPENSSL_FIPS -+ def test_fips_mode_get_with_fips_mode_set -+ omit('OpenSSL is not FIPS-capable') unless OpenSSL::OPENSSL_FIPS -+ - assert_separately([{ "OSSL_MDEBUG" => nil }, "-ropenssl"], <<~"end;") - require #{__FILE__.dump} - - begin - OpenSSL.fips_mode = true -- assert OpenSSL.fips_mode == true, ".fips_mode returns true when .fips_mode=true" -+ assert OpenSSL.fips_mode == true, ".fips_mode should return true when .fips_mode=true" - - OpenSSL.fips_mode = false -- assert OpenSSL.fips_mode == false, ".fips_mode returns false when .fips_mode=false" -+ assert OpenSSL.fips_mode == false, ".fips_mode should return false when .fips_mode=false" - rescue OpenSSL::OpenSSLError - pend "Could not set FIPS mode (OpenSSL::OpenSSLError: \#$!); skipping" - end --- -2.41.0 - diff --git a/ruby.spec b/ruby.spec index 141162a..b98cb19 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 3 -%global minor_version 2 -%global teeny_version 2 +%global minor_version 3 +%global teeny_version 0 %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 c5eefb7f37 +%global revision 7c8932365f %global ruby_archive %{name}-%{ruby_version} @@ -27,49 +27,50 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.4.10 +%global rubygems_version 3.5.0.dev %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.4.10 +%global bundler_version 2.5.0.dev %global bundler_connection_pool_version 2.3.0 %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_net_http_persistent_version 4.0.2 +%global bundler_thor_version 1.2.2 %global bundler_tsort_version 0.1.1 -%global bundler_uri_version 0.12.1 +%global bundler_uri_version 0.12.2 -%global bigdecimal_version 3.1.3 +%global bigdecimal_version 3.1.4 %global did_you_mean_version 1.6.3 -%global erb_version 4.0.2 +%global erb_version 4.0.3 %global io_console_version 0.6.0 -%global irb_version 1.6.2 +%global irb_version 1.8.0 %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 psych_version 5.1.0 +%global racc_version 1.7.1 %global rdoc_version 6.5.0 -%global stringio_version 3.0.4 +%global stringio_version 3.0.9 +%global syntax_suggest_version 1.1.0 # Bundled gems. -%global minitest_version 5.16.3 +%global minitest_version 5.19.0 %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 test_unit_version 3.6.1 +%global rexml_version 3.2.6 +%global rss_version 0.3.0 %global net_ftp_version 0.2.0 -%global net_imap_version 0.3.4 +%global net_imap_version 0.3.7 %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 rbs_version 3.2.1 +%global typeprof_version 0.21.8 +%global debug_version 1.8.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -101,7 +102,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version}%{?development_release} -Release: 183%{?dist} +Release: 184%{?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/*, ... @@ -164,68 +165,49 @@ 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 -# Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. -# https://bugs.ruby-lang.org/issues/16492 -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 -# Fix OpenSSL.fips_mode in OpenSSL 3 FIPS. -# https://github.com/ruby/openssl/pull/608 -# https://github.com/ruby/ruby/commit/678d41bc51fe31834eec0b653ba0e47de5420aa0 -Patch12: ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch -# Fix OpenSSL::PKey.read in OpenSSL 3 FIPS. -# The patch is a combination of the following 2 commits to simplify the patch. -# https://github.com/ruby/openssl/pull/615 -# https://github.com/ruby/ruby/commit/2a4834057b30a26c38ece3961b370c0b2ee59380 -# https://github.com/ruby/openssl/pull/669 -# https://github.com/ruby/ruby/commit/b0ec1db8a72c530460abd9462ac75845362886bd -Patch13: ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch -# Enable tests in OpenSSL FIPS. -# https://github.com/ruby/openssl/pull/615 -# https://github.com/ruby/ruby/commit/920bc71284f417f9044b0dc1822b1d29a8fc61e5 -Patch14: ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch -# ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters -# https://github.com/ruby/openssl/pull/674 -# https://github.com/ruby/ruby/commit/b6d7cdc2bad0eadbca73f3486917f0ec7a475814 -Patch15: ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch +Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} +# Build dependencies BuildRequires: autoconf -%{?with_gmp:BuildRequires: gmp-devel} -BuildRequires: libffi-devel -BuildRequires: openssl-devel -BuildRequires: libyaml-devel -BuildRequires: readline-devel -# Needed to pass test_set_program_name(TestRubyOptions) -BuildRequires: procps -%{?with_systemtap:BuildRequires: %{_bindir}/dtrace} -# RubyGems test suite optional dependencies. -%{?with_git:BuildRequires: git} -%{?with_cmake:BuildRequires: %{_bindir}/cmake} -# Required to test hardening. -%{?with_hardening_test:BuildRequires: %{_bindir}/checksec} -%{?with_hostname:BuildRequires: %{_bindir}/hostname} -BuildRequires: multilib-rpm-config BuildRequires: gcc BuildRequires: make +BuildRequires: libffi-devel +BuildRequires: libyaml-devel +BuildRequires: openssl-devel BuildRequires: zlib-devel +%{?with_gmp:BuildRequires: gmp-devel} +%{?with_systemtap:BuildRequires: %{_bindir}/dtrace} %{?with_yjit:BuildRequires: %{_bindir}/rustc} + +# Install section +BuildRequires: multilib-rpm-config + +# Check dependencies + +# Required to test hardening. +%{?with_hardening_test:BuildRequires: %{_bindir}/checksec} + +# Needed to pass test_set_program_name(TestRubyOptions) +BuildRequires: procps +# Neede by `Socket.gethostname returns the host name ERROR` +%{?with_hostname:BuildRequires: %{_bindir}/hostname} + +# RubyGems test suite optional dependencies. +%{?with_git:BuildRequires: git} +# `cmake` is required for test/rubygems/test_gem_ext_cmake_builder.rb. +%{?with_cmake:BuildRequires: %{_bindir}/cmake} + # 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. Provides: ruby(runtime_executable) = %{ruby_release} @@ -265,7 +247,6 @@ Provides: bundled(ccan-list) # StdLib default gems. 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 @@ -503,6 +484,8 @@ 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(racc) = %{racc_version} +Provides: bundled(rubygem-racc) = %{racc_version} Provides: rubygem(debug) = %{debug_version} %description bundled-gems @@ -663,14 +646,7 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 7 -p1 -%patch 8 -p1 %patch 9 -p1 -%patch 10 -p1 -%patch 11 -p1 -%patch 12 -p1 -%patch 13 -p1 -%patch 14 -p1 -%patch 15 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -721,9 +697,6 @@ rm -rf %{buildroot} # Rename ruby/config.h to ruby/config-.h to avoid file conflicts on # multilib systems and install config.h wrapper %multilib_fix_c_header --file %{_includedir}/%{name}/config.h -# TODO: The correct patch should be %%{_includedir}/%%{name}/rb_mjit_min_header-%%{ruby_version}.h -# https://bugs.ruby-lang.org/issues/15425 -%multilib_fix_c_header --file %{_includedir}/rb_mjit_min_header-%{ruby_version}.h # Rename the ruby executable. It is replaced by RubyPick. %{?with_rubypick:mv %{buildroot}%{_bindir}/%{name}{,-mri}} @@ -1013,7 +986,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ - make -C %{_vpath_builddir} check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" + make -C %{_vpath_builddir} check TESTS="-v --show-skip $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" # Run Ruby OpenSSL tests in OpenSSL FIPS. make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ @@ -1070,6 +1043,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/abbrev.rb %{ruby_libdir}/base64.rb %{ruby_libdir}/benchmark* +%{ruby_libdir}/bundled_gems.rb %{ruby_libdir}/cgi* %{ruby_libdir}/coverage.rb %{ruby_libdir}/csv* @@ -1089,8 +1063,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/ipaddr.rb %{ruby_libdir}/kconv.rb %{ruby_libdir}/logger* -# https://bugs.ruby-lang.org/issues/19298 -%exclude %{ruby_libdir}/mjit %{ruby_libdir}/mkmf.rb %{ruby_libdir}/monitor.rb %{ruby_libdir}/mutex_m.rb @@ -1114,7 +1086,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/rinda %{ruby_libdir}/ripper* %dir %{ruby_libdir}/ruby_vm -%{ruby_libdir}/ruby_vm/mjit +%{ruby_libdir}/ruby_vm/rjit %{ruby_libdir}/securerandom.rb %{ruby_libdir}/set* %{ruby_libdir}/shellwords.rb @@ -1132,6 +1104,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/uri* %{ruby_libdir}/weakref* %{ruby_libdir}/yaml* +%{ruby_libdir}/yarp* # Platform specific libraries. %{_libdir}/libruby.so.{%{major_minor_version},%{ruby_version}} @@ -1226,7 +1199,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %dir %{ruby_libarchdir}/rbconfig %{ruby_libarchdir}/rbconfig.rb %{ruby_libarchdir}/rbconfig/sizeof.so -%{ruby_libarchdir}/readline.so %{ruby_libarchdir}/ripper.so %{ruby_libarchdir}/socket.so %{ruby_libarchdir}/stringio.so @@ -1238,9 +1210,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/did_you_mean* %{ruby_libdir}/openssl* %{ruby_libarchdir}/openssl.so -%{ruby_libdir}/racc* -%dir %{ruby_libarchdir}/racc -%{ruby_libarchdir}/racc/cparse.so %{?with_systemtap:%{_systemtap_datadir}} @@ -1278,10 +1247,10 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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/csv-3.2.8.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_spec -d did_you_mean %{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 @@ -1289,8 +1258,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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/fiddle-1.1.2.gemspec +%{gem_dir}/specifications/default/fileutils-1.7.1.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 @@ -1301,21 +1270,19 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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/nkf-0.1.3.gemspec %{gem_dir}/specifications/default/observer-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/optparse-0.4.0.pre.1.gemspec %{gem_dir}/specifications/default/openssl-%{openssl_version}.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/pstore-0.1.2.gemspec -%{gem_dir}/specifications/default/racc-%{racc_version}.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/reline-0.3.8.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 @@ -1324,29 +1291,26 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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-%{stringio_version}.gemspec -%{gem_dir}/specifications/default/strscan-3.0.5.gemspec -%{gem_dir}/specifications/default/syntax_suggest-1.0.2.gemspec +%gem_spec -d stringio +%{gem_dir}/specifications/default/strscan-3.0.7.gemspec +%gem_spec -d syntax_suggest +%{_bindir}/syntax_suggest +%{gem_dir}/gems/syntax_suggest-%{syntax_suggest_version} %{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/timeout-0.4.0.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/uri-0.12.2.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/yarp-0.10.0.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 -# executable in both packages might possibly cause conflicts. The situation -# could be better if Ruby generated these files: -# https://github.com/ruby/ruby/pull/2545 -%exclude %{_bindir}/racc -%exclude %{gem_dir}/gems/racc-%{racc_version}/bin %files -n rubygem-irb %{_bindir}/irb @@ -1407,6 +1371,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{_mandir}/man5/gemfile.5* %files bundled-gems +# rdbg %{_bindir}/rdbg %dir %{_libdir}/gems/%{name}/debug-%{debug_version} %{_libdir}/gems/%{name}/debug-%{debug_version}/gem.build_complete @@ -1425,6 +1390,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/debug-%{debug_version}/misc %{gem_dir}/specifications/debug-%{debug_version}.gemspec +# net-ftp %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 @@ -1433,6 +1399,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/net-ftp-%{net_ftp_version}/lib %{gem_dir}/specifications/net-ftp-%{net_ftp_version}.gemspec +# net-imap %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 @@ -1444,6 +1411,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/net-imap-%{net_imap_version}/rakelib %{gem_dir}/specifications/net-imap-%{net_imap_version}.gemspec +# net-pop %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 @@ -1452,16 +1420,19 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/net-pop-%{net_pop_version}/lib %{gem_dir}/specifications/net-pop-%{net_pop_version}.gemspec +# net-smpt %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 +# matrix %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 +# prime %dir %{gem_dir}/gems/prime-%{prime_version} %{gem_dir}/gems/prime-%{prime_version}/Gemfile %license %{gem_dir}/gems/prime-%{prime_version}/LICENSE.txt @@ -1471,6 +1442,20 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/prime-%{prime_version}/lib %{gem_dir}/specifications/prime-%{prime_version}.gemspec +# racc +%dir %{gem_dir}/gems/racc-%{racc_version} +%{_bindir}/racc +%{gem_archdir}/%{name}/racc-%{racc_version} +%license %{gem_dir}/gems/racc-%{racc_version}/COPYING +%doc %{gem_dir}/gems/racc-%{racc_version}/ChangeLog +%lang(ja) %doc %{gem_dir}/gems/racc-%{racc_version}/README.ja.rdoc +%doc %{gem_dir}/gems/racc-%{racc_version}/README.rdoc +%doc %{gem_dir}/gems/racc-%{racc_version}/TODO +%{gem_dir}/gems/racc-%{racc_version}/bin +%doc %{gem_dir}/gems/racc-%{racc_version}/doc +%{gem_dir}/gems/racc-%{racc_version}/lib +%{gem_dir}/specifications/racc-%{racc_version}.gemspec + %files -n rubygem-minitest %dir %{gem_dir}/gems/minitest-%{minitest_version} %exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* @@ -1523,7 +1508,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_dir}/gems/rbs-%{rbs_version}/schema %{gem_dir}/gems/rbs-%{rbs_version}/sig %{gem_dir}/gems/rbs-%{rbs_version}/stdlib -%{gem_dir}/gems/rbs-%{rbs_version}/steep %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec %files -n rubygem-test-unit @@ -1554,10 +1538,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %doc %{gem_dir}/gems/rss-%{rss_version}/NEWS.md %{gem_dir}/gems/rss-%{rss_version}/lib %{gem_dir}/specifications/rss-%{rss_version}.gemspec -%doc %{gem_dir}/gems/rss-%{rss_version}/Gemfile %doc %{gem_dir}/gems/rss-%{rss_version}/README.md -%doc %{gem_dir}/gems/rss-%{rss_version}/Rakefile -%doc %{gem_dir}/gems/rss-%{rss_version}/test %files -n rubygem-typeprof %dir %{gem_dir}/gems/typeprof-%{typeprof_version} @@ -1575,6 +1556,9 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog +* Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (7c8932365f). + * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From fec49feda705ad8fd4b48af7d4c5b144e1620662 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 18 Sep 2023 17:06:12 +0200 Subject: [PATCH 03/52] Upgrade to Ruby 3.3.0-preview2 (e50fcca9a7). --- ruby-2.1.0-Enable-configuration-of-archlibdir.patch | 2 +- ...uplicated-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 ++-- ruby-2.3.0-ruby_version.patch | 6 +++--- ruby-3.3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 12 ++++++------ 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 9652d5a..c204060 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 -@@ -3431,6 +3431,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3434,6 +3434,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 b6027cc..f218035 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 -@@ -4259,7 +4259,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4262,7 +4262,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 1f1e2fe..01cd3f0 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 -@@ -4323,6 +4323,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4326,6 +4326,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 70c702a..c815d87 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 -@@ -4295,6 +4295,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4298,6 +4298,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='' -@@ -4319,6 +4323,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4322,6 +4326,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 133fd00..1ed74d1 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 -@@ -4209,9 +4209,6 @@ AS_CASE(["$target_os"], +@@ -4212,9 +4212,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], -@@ -4234,57 +4231,63 @@ AC_ARG_WITH(ridir, +@@ -4237,57 +4234,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4301,6 +4304,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4304,6 +4307,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 5a40496..13bc85c 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1563,8 +1563,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1564,8 +1564,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index b98cb19..3983611 100644 --- a/ruby.spec +++ b/ruby.spec @@ -7,10 +7,10 @@ %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. -#%%global milestone rc1 +%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 7c8932365f +%global revision e50fcca9a7 %global ruby_archive %{name}-%{ruby_version} @@ -46,7 +46,7 @@ %global did_you_mean_version 1.6.3 %global erb_version 4.0.3 %global io_console_version 0.6.0 -%global irb_version 1.8.0 +%global irb_version 1.8.1 %global json_version 2.6.3 %global openssl_version 3.1.0 %global psych_version 5.1.0 @@ -56,7 +56,7 @@ %global syntax_suggest_version 1.1.0 # Bundled gems. -%global minitest_version 5.19.0 +%global minitest_version 5.20.0 %global power_assert_version 2.0.3 %global rake_version 13.0.6 %global test_unit_version 3.6.1 @@ -1307,7 +1307,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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/yarp-0.10.0.gemspec +%{gem_dir}/specifications/default/yarp-0.11.0.gemspec %{gem_dir}/specifications/default/zlib-3.0.0.gemspec %{gem_dir}/gems/erb-%{erb_version} @@ -1557,7 +1557,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (7c8932365f). +- Upgrade to Ruby 3.3.0-preview2 (e50fcca9a7). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 7653e37fc1ea5749bd4a24554e5a552112e376a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Sep 2023 09:40:36 +0200 Subject: [PATCH 04/52] Upgrade to Ruby 3.3.0 (3c11cdbcfe). --- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +- ruby-2.3.0-ruby_version.patch | 6 +-- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ...ery-RubyVM-FrozenCore-for-class-path.patch | 40 ------------------- ruby.spec | 15 ++----- 8 files changed, 13 insertions(+), 60 deletions(-) delete mode 100644 ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index c204060..5adf835 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 -@@ -3434,6 +3434,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3436,6 +3436,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 f218035..b0927c2 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 -@@ -4262,7 +4262,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4264,7 +4264,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 01cd3f0..36d48f1 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 -@@ -4326,6 +4326,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4328,6 +4328,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 c815d87..30af286 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 -@@ -4298,6 +4298,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4300,6 +4300,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='' -@@ -4322,6 +4326,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4324,6 +4328,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 1ed74d1..cfdb1cf 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 -@@ -4212,9 +4212,6 @@ AS_CASE(["$target_os"], +@@ -4214,9 +4214,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], -@@ -4237,57 +4234,63 @@ AC_ARG_WITH(ridir, +@@ -4239,57 +4236,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4304,6 +4307,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4306,6 +4309,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 6947b07..b600673 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1699,10 +1699,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1700,10 +1700,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch b/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch deleted file mode 100644 index 58b39cb..0000000 --- a/ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0ade5611df9f981005eed32b369d1e699e520221 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Thu, 10 Feb 2022 13:26:44 +0100 -Subject: [PATCH] Don't query `RubyVM::FrozenCore` for class path. - -The `RubyVM::FrozenCore` class path is corrupted during GC cycle and -returns random garbage, which might result in segfault. - -But since it is easy to detect the `RubyVM::FrozenCore`, just provide -the class path explicitly as a workaround. - -Other possibility would be to ignore `RubyVM::FrozenCore` simlarly as -TracePoint API does: - -https://github.com/ruby/ruby/blob/46f6575157d4c2f6bbd5693896e26a65037e5552/vm_trace.c#L411 ---- - vm.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/vm.c b/vm.c -index 8ce8b279d4..3d189fa63a 100644 ---- a/vm.c -+++ b/vm.c -@@ -565,7 +565,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. -+ * 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) { diff --git a/ruby.spec b/ruby.spec index 3983611..18843b5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -7,10 +7,10 @@ %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. -%global milestone preview2 +#%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision e50fcca9a7 +%global revision 3c11cdbcfe %global ruby_archive %{name}-%{ruby_version} @@ -159,12 +159,6 @@ Patch4: ruby-2.1.0-custom-rubygems-location.patch # https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/ # For now, load the ABRT hook via this simple patch: Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch -# Prevent segfaults running with SystemTap due to `RubyVM::FrozenCore` being -# corrupted by GC. -# https://bugzilla.redhat.com/show_bug.cgi?id=2015441 -# 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 # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -645,7 +639,6 @@ analysis result in RBS format, a standard type description format for Ruby %patch 3 -p1 %patch 4 -p1 %patch 6 -p1 -%patch 7 -p1 %patch 9 -p1 # Provide an example of usage of the tapset: @@ -1307,7 +1300,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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/yarp-0.11.0.gemspec +%{gem_dir}/specifications/default/yarp-0.12.0.gemspec %{gem_dir}/specifications/default/zlib-3.0.0.gemspec %{gem_dir}/gems/erb-%{erb_version} @@ -1557,7 +1550,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0-preview2 (e50fcca9a7). +- Upgrade to Ruby 3.3.0 (3c11cdbcfe). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 25ea926d53c32c97c5d563dc39491f6dfab21aee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 22 Sep 2023 18:10:15 +0200 Subject: [PATCH 05/52] Upgrade to Ruby 3.3.0 (c8c35ded74). --- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ruby-3.3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index b600673..2caea85 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,7 +44,7 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -115,7 +115,8 @@ YARP_FILES = yarp/api_node.$(OBJEXT) \ +@@ -117,7 +117,8 @@ YARP_FILES = yarp/api_node.$(OBJEXT) \ yarp/yarp.$(OBJEXT) \ yarp/yarp_init.$(OBJEXT) diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 13bc85c..02d2e01 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1564,8 +1564,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1565,8 +1565,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index 18843b5..4c7ff99 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 3c11cdbcfe +%global revision c8c35ded74 %global ruby_archive %{name}-%{ruby_version} @@ -48,7 +48,7 @@ %global io_console_version 0.6.0 %global irb_version 1.8.1 %global json_version 2.6.3 -%global openssl_version 3.1.0 +%global openssl_version 3.2.0 %global psych_version 5.1.0 %global racc_version 1.7.1 %global rdoc_version 6.5.0 @@ -1550,7 +1550,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (3c11cdbcfe). +- Upgrade to Ruby 3.3.0 (c8c35ded74). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From a9976c0e69d635eab158551b9875850056a754a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 25 Sep 2023 14:00:43 +0200 Subject: [PATCH 06/52] Move the `racc_version` to bundle gems section. --- ruby.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby.spec b/ruby.spec index 4c7ff99..876d86a 100644 --- a/ruby.spec +++ b/ruby.spec @@ -50,7 +50,6 @@ %global json_version 2.6.3 %global openssl_version 3.2.0 %global psych_version 5.1.0 -%global racc_version 1.7.1 %global rdoc_version 6.5.0 %global stringio_version 3.0.9 %global syntax_suggest_version 1.1.0 @@ -71,6 +70,7 @@ %global rbs_version 3.2.1 %global typeprof_version 0.21.8 %global debug_version 1.8.0 +%global racc_version 1.7.1 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* From e52d9f552d299cc8552dd3d15e61c7dbfa39acf8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 25 Sep 2023 15:04:22 +0200 Subject: [PATCH 07/52] Conver hyphnes to underscores for version macros. Hyphens cannot be part of macro names. Also please note that the `%{gsub:...}` macro is available since RPM 4.19+. Lua would need to be used for older RPM: https://github.com/rpm-software-management/rpm/pull/2181 --- macros.rubygems | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/macros.rubygems b/macros.rubygems index afd3f85..f6e830f 100644 --- a/macros.rubygems +++ b/macros.rubygems @@ -9,9 +9,10 @@ # Prints gem_name-version string, by default joining %gem_name, %version and # %prerelease macros. When [custom_gem_name] is provided, the # custom_gem_name is joined with %custom_gem_name_version macro which needs -# to be predegined. +# to be predefined. Please note that for the version macros are the dashes +# replaced by underscores. # -%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{?1:%{expand:%{%{1}_version}}}%{!?1:%{version}}%{?prerelease} +%gem_name_version() %{?1}%{!?1:%{gem_name}}-%{?1:%{expand:%{%{gsub %{1} - _}_version}}}%{!?1:%{version}}%{?prerelease} # Common gem locations and files. # From e1ba2fcc139de4a816a8bc059a835c6cf34dc763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 25 Sep 2023 15:13:05 +0200 Subject: [PATCH 08/52] Move "erb" executable / man page into ruby-default-gems package The executable cannot work without the "gem" bits shipped in ruby-default-gems package. --- ruby.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index 876d86a..a250368 100644 --- a/ruby.spec +++ b/ruby.spec @@ -994,9 +994,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %lang(ja) %license COPYING.ja %license GPL %license LEGAL -%{_bindir}/erb %{_bindir}/%{name}%{?with_rubypick:-mri} -%{_mandir}/man1/erb* %{_mandir}/man1/ruby* %files devel @@ -1248,6 +1246,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{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 +%{_bindir}/erb +%{_mandir}/man1/erb* %{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 From b2c40aa9c22e93d4043c57161048645aa26db427 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 25 Sep 2023 16:18:22 +0200 Subject: [PATCH 09/52] Use `gem_spec` macro for default gem .gemspec files And extract all the gem versions into global version variables. This allow to make the updste script a bit simpler by dropping multiple ways of representing gem versions. --- ruby.spec | 196 +++++++++++++++++++++++++++++++++++------------------- 1 file changed, 128 insertions(+), 68 deletions(-) diff --git a/ruby.spec b/ruby.spec index a250368..554e563 100644 --- a/ruby.spec +++ b/ruby.spec @@ -42,17 +42,78 @@ %global bundler_tsort_version 0.1.1 %global bundler_uri_version 0.12.2 -%global bigdecimal_version 3.1.4 +%global abbrev_version 0.1.1 +%global base64_version 0.1.1 +%global benchmark_version 0.2.1 +%global cgi_version 0.3.6 +%global csv_version 3.2.8 +%global date_version 3.3.3 +%global delegate_version 0.3.0 %global did_you_mean_version 1.6.3 +%global digest_version 3.1.1 +%global drb_version 2.1.1 +%global english_version 0.7.2 %global erb_version 4.0.3 +%global error_highlight_version 0.5.1 +%global etc_version 1.4.2 +%global fcntl_version 1.0.2 +%global fiddle_version 1.1.2 +%global fileutils_version 1.7.1 +%global find_version 0.1.1 +%global forwardable_version 1.3.3 +%global getoptlong_version 0.2.0 +%global io_nonblock_version 0.2.0 +%global io_wait_version 0.3.0 +%global ipaddr_version 1.2.5 +%global logger_version 1.5.3 +%global mutex_m_version 0.1.2 +%global net_http_version 0.3.2 +%global net_protocol_version 0.2.1 +%global nkf_version 0.1.3 +%global observer_version 0.1.1 +%global open3_version 0.1.2 +%global openssl_version 3.2.0 +%global open_uri_version 0.3.0 +%global optparse_version 0.4.0.pre.1 +%global ostruct_version 0.5.5 +%global pathname_version 0.2.1 +%global pp_version 0.4.0 +%global prettyprint_version 0.1.1 +%global pstore_version 0.1.2 +%global readline_version 0.0.3 +%global reline_version 0.3.8 +%global resolv_version 0.2.2 +%global resolv_replace_version 0.1.1 +%global rinda_version 0.1.1 +%global ruby2_keywords_version 0.0.5 +%global securerandom_version 0.2.2 +%global set_version 1.0.3 +%global shellwords_version 0.1.0 +%global singleton_version 0.1.1 +%global stringio_version 3.0.9 +%global strscan_version 3.0.7 +%global syntax_suggest_version 1.1.0 +%global syslog_version 0.1.1 +%global tempfile_version 0.1.3 +%global time_version 0.2.2 +%global timeout_version 0.4.0 +%global tmpdir_version 0.1.3 +%global tsort_version 0.1.1 +%global un_version 0.2.1 +%global uri_version 0.12.2 +%global weakref_version 0.1.2 +%global win32ole_version 1.8.9 +%global yaml_version 0.2.1 +%global yarp_version 0.12.0 +%global zlib_version 3.0.0 + +# Gemified default gems. +%global bigdecimal_version 3.1.4 %global io_console_version 0.6.0 %global irb_version 1.8.1 %global json_version 2.6.3 -%global openssl_version 3.2.0 %global psych_version 5.1.0 %global rdoc_version 6.5.0 -%global stringio_version 3.0.9 -%global syntax_suggest_version 1.1.0 # Bundled gems. %global minitest_version 5.20.0 @@ -1234,76 +1295,75 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{_rpmconfigdir}/rubygems.con %files default-gems -%{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.8.gemspec -%{gem_dir}/specifications/default/date-3.3.3.gemspec -%{gem_dir}/specifications/default/delegate-0.3.0.gemspec +%gem_spec -d abbrev +%gem_spec -d base64 +%gem_spec -d benchmark +%gem_spec -d cgi +%gem_spec -d csv +%gem_spec -d date +%gem_spec -d delegate %gem_spec -d did_you_mean -%{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_spec -d digest +%gem_spec -d drb +%gem_spec -d english +%gem_spec -d erb +%gem_instdir erb %{_bindir}/erb %{_mandir}/man1/erb* -%{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.2.gemspec -%{gem_dir}/specifications/default/fileutils-1.7.1.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.3.gemspec -%{gem_dir}/specifications/default/observer-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.4.0.pre.1.gemspec -%{gem_dir}/specifications/default/openssl-%{openssl_version}.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/pstore-0.1.2.gemspec -%{gem_dir}/specifications/default/readline-0.0.3.gemspec -%{gem_dir}/specifications/default/reline-0.3.8.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/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_spec -d error_highlight +%gem_spec -d etc +%gem_spec -d fcntl +%gem_spec -d fiddle +%gem_spec -d fileutils +%gem_spec -d find +%gem_spec -d forwardable +%gem_spec -d getoptlong +%gem_spec -d io-nonblock +%gem_spec -d io-wait +%gem_spec -d ipaddr +%gem_spec -d logger +%gem_spec -d mutex_m +%gem_spec -d net-http +%gem_spec -d net-protocol +%gem_spec -d nkf +%gem_spec -d observer +%gem_spec -d open3 +%gem_spec -d open-uri +%gem_spec -d optparse +%gem_spec -d openssl +%gem_spec -d ostruct +%gem_spec -d pathname +%gem_spec -d pp +%gem_spec -d prettyprint +%gem_spec -d pstore +%gem_spec -d readline +%gem_spec -d reline +%gem_spec -d resolv +%gem_spec -d resolv-replace +%gem_spec -d rinda +%gem_spec -d ruby2_keywords +%gem_spec -d securerandom +%gem_spec -d set +%gem_spec -d shellwords +%gem_spec -d singleton %gem_spec -d stringio -%{gem_dir}/specifications/default/strscan-3.0.7.gemspec +%gem_spec -d strscan %gem_spec -d syntax_suggest %{_bindir}/syntax_suggest -%{gem_dir}/gems/syntax_suggest-%{syntax_suggest_version} -%{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.4.0.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.2.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/yarp-0.12.0.gemspec -%{gem_dir}/specifications/default/zlib-3.0.0.gemspec - -%{gem_dir}/gems/erb-%{erb_version} +%gem_instdir syntax_suggest +%gem_spec -d syslog +%gem_spec -d tempfile +%gem_spec -d time +%gem_spec -d timeout +%gem_spec -d tmpdir +%gem_spec -d tsort +%gem_spec -d un +%gem_spec -d uri +%gem_spec -d weakref +#%%gem_spec -d win32ole +%gem_spec -d yaml +%gem_spec -d yarp +%gem_spec -d zlib %files -n rubygem-irb %{_bindir}/irb From 6d1f5b23047426c46fb5d244f9b34782970e86cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 25 Sep 2023 18:14:18 +0200 Subject: [PATCH 10/52] Upgrade to Ruby 3.3.0 (904413997f). --- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ruby.spec | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 2caea85..433d825 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1700,10 +1700,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1708,10 +1708,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby.spec b/ruby.spec index 554e563..12b8615 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision c8c35ded74 +%global revision 904413997f %global ruby_archive %{name}-%{ruby_version} @@ -1610,7 +1610,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (c8c35ded74). +- Upgrade to Ruby 3.3.0 (904413997f). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 591d47c982dca24407a7124cb3646ff7c5a30ec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 2 Oct 2023 14:36:58 +0200 Subject: [PATCH 11/52] Use `gem_` macros in %files section. --- ruby.spec | 324 +++++++++++++++++++++++++++--------------------------- 1 file changed, 162 insertions(+), 162 deletions(-) diff --git a/ruby.spec b/ruby.spec index 12b8615..94d6153 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1368,15 +1368,15 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %files -n rubygem-irb %{_bindir}/irb %{ruby_libdir}/irb* -%{gem_dir}/gems/irb-%{irb_version} -%{gem_dir}/specifications/irb-%{irb_version}.gemspec +%{gem_instdir irb} +%{gem_spec irb} %{_mandir}/man1/irb.1* %files -n rubygem-rdoc %{_bindir}/rdoc %{_bindir}/ri -%{gem_dir}/gems/rdoc-%{rdoc_version} -%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec +%{gem_instdir rdoc} +%{gem_spec rdoc} %{_mandir}/man1/ri* %files doc -f .ruby-doc.en -f .ruby-doc.ja @@ -1388,155 +1388,155 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %files -n rubygem-bigdecimal %{ruby_libdir}/bigdecimal* %{ruby_libarchdir}/bigdecimal* -%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} -%{gem_dir}/gems/bigdecimal-%{bigdecimal_version} -%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec +%{gem_extdir_mri bigdecimal} +%{gem_instdir bigdecimal} +%{gem_spec bigdecimal} %files -n rubygem-io-console %{ruby_libdir}/io %{ruby_libarchdir}/io/console.so -%{_libdir}/gems/%{name}/io-console-%{io_console_version} -%{gem_dir}/gems/io-console-%{io_console_version} -%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec +%{gem_extdir_mri io-console} +%{gem_instdir io-console} +%{gem_spec io-console} %files -n rubygem-json %{ruby_libdir}/json* %{ruby_libarchdir}/json* -%{_libdir}/gems/%{name}/json-%{json_version} -%{gem_dir}/gems/json-%{json_version} -%{gem_dir}/specifications/json-%{json_version}.gemspec +%{gem_extdir_mri json} +%{gem_instdir json} +%{gem_spec json} %files -n rubygem-psych %{ruby_libdir}/psych %{ruby_libdir}/psych.rb %{ruby_libarchdir}/psych.so -%{_libdir}/gems/%{name}/psych-%{psych_version} -%dir %{gem_dir}/gems/psych-%{psych_version} -%{gem_dir}/gems/psych-%{psych_version}/lib -%{gem_dir}/specifications/psych-%{psych_version}.gemspec +%{gem_extdir_mri psych} +%dir %{gem_instdir psych} +%{gem_libdir psych} +%{gem_spec psych} %files -n rubygem-bundler %{_bindir}/bundle %{_bindir}/bundler -%{gem_dir}/gems/bundler-%{bundler_version} -%{gem_dir}/specifications/bundler-%{bundler_version}.gemspec +%{gem_instdir bundler} +%{gem_spec bundler} %{_mandir}/man1/bundle*.1* %{_mandir}/man5/gemfile.5* %files bundled-gems # rdbg %{_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_extdir_mri debug} +%{gem_extdir_mri debug}/gem.build_complete +%dir %{gem_extdir_mri debug}/debug +%{gem_extdir_mri debug}/debug/debug.so +%dir %{gem_instdir debug} +%exclude %{gem_instdir debug}/.* +%doc %{gem_instdir debug}/CONTRIBUTING.md +%{gem_instdir debug}/Gemfile +%license %{gem_instdir debug}/LICENSE.txt +%doc %{gem_instdir debug}/README.md +%{gem_instdir debug}/Rakefile +%doc %{gem_instdir debug}/TODO.md +%{gem_instdir debug}/exe +%{gem_libdir debug} +%{gem_instdir debug}/misc +%{gem_spec debug} # net-ftp -%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_instdir net-ftp} +%{gem_instdir net-ftp}/Gemfile +%license %{gem_instdir net-ftp}/LICENSE.txt +%doc %{gem_instdir net-ftp}/README.md +%{gem_instdir net-ftp}/Rakefile +%{gem_libdir net-ftp} +%{gem_spec net-ftp} # net-imap -%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_instdir net-imap} +%{gem_instdir net-imap}/Gemfile +%license %{gem_instdir net-imap}/LICENSE.txt +%doc %{gem_instdir net-imap}/README.md +%{gem_instdir net-imap}/Rakefile +%{gem_instdir net-imap}/benchmarks +%{gem_instdir net-imap}/docs +%{gem_libdir net-imap} +%{gem_instdir net-imap}/rakelib +%{gem_spec net-imap} # net-pop -%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_instdir net-pop} +%{gem_instdir net-pop}/Gemfile +%license %{gem_instdir net-pop}/LICENSE.txt +%doc %{gem_instdir net-pop}/README.md +%{gem_instdir net-pop}/Rakefile +%{gem_libdir net-pop} +%{gem_spec net-pop} -# net-smpt -%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 +# net-smtp +%dir %{gem_instdir net-smtp} +%license %{gem_instdir net-smtp}/LICENSE.txt +%{gem_libdir net-smtp} +%{gem_spec net-smtp} # matrix -%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_instdir matrix} +%license %{gem_instdir matrix}/LICENSE.txt +%{gem_libdir matrix} +%{gem_spec matrix} # prime -%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 +%dir %{gem_instdir prime} +%{gem_instdir prime}/Gemfile +%license %{gem_instdir prime}/LICENSE.txt +%doc %{gem_instdir prime}/README.md +%{gem_instdir prime}/Rakefile +%{gem_instdir prime}/bin +%{gem_libdir prime} +%{gem_spec prime} # racc -%dir %{gem_dir}/gems/racc-%{racc_version} +%dir %{gem_instdir racc} %{_bindir}/racc -%{gem_archdir}/%{name}/racc-%{racc_version} -%license %{gem_dir}/gems/racc-%{racc_version}/COPYING -%doc %{gem_dir}/gems/racc-%{racc_version}/ChangeLog -%lang(ja) %doc %{gem_dir}/gems/racc-%{racc_version}/README.ja.rdoc -%doc %{gem_dir}/gems/racc-%{racc_version}/README.rdoc -%doc %{gem_dir}/gems/racc-%{racc_version}/TODO -%{gem_dir}/gems/racc-%{racc_version}/bin -%doc %{gem_dir}/gems/racc-%{racc_version}/doc -%{gem_dir}/gems/racc-%{racc_version}/lib -%{gem_dir}/specifications/racc-%{racc_version}.gemspec +%{gem_extdir_mri racc} +%license %{gem_instdir racc}/COPYING +%doc %{gem_instdir racc}/ChangeLog +%lang(ja) %doc %{gem_instdir racc}/README.ja.rdoc +%doc %{gem_instdir racc}/README.rdoc +%doc %{gem_instdir racc}/TODO +%{gem_instdir racc}/bin +%doc %{gem_instdir racc}/doc +%{gem_libdir racc} +%{gem_spec racc} %files -n rubygem-minitest -%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 +%dir %{gem_instdir minitest} +%exclude %{gem_instdir minitest}/.* +%{gem_instdir minitest}/Manifest.txt +%{gem_instdir minitest}/design_rationale.rb +%{gem_libdir minitest} +%{gem_spec minitest} +%doc %{gem_instdir minitest}/History.rdoc +%doc %{gem_instdir minitest}/README.rdoc +%{gem_instdir minitest}/Rakefile +%{gem_instdir minitest}/test %files -n rubygem-power_assert -%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 +%dir %{gem_instdir power_assert} +%exclude %{gem_instdir power_assert}/.* +%license %{gem_instdir power_assert}/BSDL +%license %{gem_instdir power_assert}/COPYING +%license %{gem_instdir power_assert}/LEGAL +%{gem_libdir power_assert} +%{gem_spec power_assert} +%{gem_instdir power_assert}/Gemfile +%doc %{gem_instdir power_assert}/README.md +%{gem_instdir power_assert}/Rakefile %files -n rubygem-rake %{_bindir}/rake -%{gem_dir}/gems/rake-%{rake_version} -%{gem_dir}/specifications/rake-%{rake_version}.gemspec +%{gem_instdir rake} +%{gem_spec rake} %{_mandir}/man1/rake.1* %files -n rubygem-rbs @@ -1544,68 +1544,68 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %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* -%doc %{gem_dir}/gems/rbs-%{rbs_version}/README.md -%{gem_dir}/gems/rbs-%{rbs_version}/Rakefile -%{gem_dir}/gems/rbs-%{rbs_version}/Steepfile -%{gem_dir}/gems/rbs-%{rbs_version}/core -%doc %{gem_dir}/gems/rbs-%{rbs_version}/docs -%{gem_dir}/gems/rbs-%{rbs_version}/exe -%{gem_dir}/gems/rbs-%{rbs_version}/goodcheck.yml -%{gem_dir}/gems/rbs-%{rbs_version}/lib -%{gem_dir}/gems/rbs-%{rbs_version}/schema -%{gem_dir}/gems/rbs-%{rbs_version}/sig -%{gem_dir}/gems/rbs-%{rbs_version}/stdlib -%{gem_dir}/specifications/rbs-%{rbs_version}.gemspec +%dir %{gem_instdir rbs} +%exclude %{gem_instdir rbs}/.* +%license %{gem_instdir rbs}/BSDL +%doc %{gem_instdir rbs}/CHANGELOG.md +%license %{gem_instdir rbs}/COPYING +%{gem_instdir rbs}/Gemfile* +%doc %{gem_instdir rbs}/README.md +%{gem_instdir rbs}/Rakefile +%{gem_instdir rbs}/Steepfile +%{gem_instdir rbs}/core +%doc %{gem_instdir rbs}/docs +%{gem_instdir rbs}/exe +%{gem_instdir rbs}/goodcheck.yml +%{gem_libdir rbs} +%{gem_instdir rbs}/schema +%{gem_instdir rbs}/sig +%{gem_instdir rbs}/stdlib +%{gem_spec rbs} %files -n rubygem-test-unit -%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 +%dir %{gem_instdir test-unit} +%license %{gem_instdir test-unit}/BSDL +%license %{gem_instdir test-unit}/COPYING +%license %{gem_instdir test-unit}/PSFL +%{gem_libdir test-unit} +%{gem_instdir test-unit}/sample +%{gem_spec test-unit} +%doc %{gem_instdir test-unit}/README.md +%{gem_instdir test-unit}/Rakefile +%doc %{gem_instdir test-unit}/doc %files -n rubygem-rexml -%dir %{gem_dir}/gems/rexml-%{rexml_version} -%license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt -%doc %{gem_dir}/gems/rexml-%{rexml_version}/NEWS.md -%doc %{gem_dir}/gems/rexml-%{rexml_version}/doc -%{gem_dir}/gems/rexml-%{rexml_version}/lib -%{gem_dir}/specifications/rexml-%{rexml_version}.gemspec -%doc %{gem_dir}/gems/rexml-%{rexml_version}/README.md +%dir %{gem_instdir rexml} +%license %{gem_instdir rexml}/LICENSE.txt +%doc %{gem_instdir rexml}/NEWS.md +%doc %{gem_instdir rexml}/doc +%{gem_libdir rexml} +%{gem_spec rexml} +%doc %{gem_instdir rexml}/README.md %files -n rubygem-rss -%dir %{gem_dir}/gems/rss-%{rss_version} -%exclude %{gem_dir}/gems/rss-%{rss_version}/.* -%license %{gem_dir}/gems/rss-%{rss_version}/LICENSE.txt -%doc %{gem_dir}/gems/rss-%{rss_version}/NEWS.md -%{gem_dir}/gems/rss-%{rss_version}/lib -%{gem_dir}/specifications/rss-%{rss_version}.gemspec -%doc %{gem_dir}/gems/rss-%{rss_version}/README.md +%dir %{gem_instdir rss} +%exclude %{gem_instdir rss}/.* +%license %{gem_instdir rss}/LICENSE.txt +%doc %{gem_instdir rss}/NEWS.md +%{gem_libdir rss} +%{gem_spec rss} +%doc %{gem_instdir rss}/README.md %files -n rubygem-typeprof -%dir %{gem_dir}/gems/typeprof-%{typeprof_version} +%dir %{gem_instdir typeprof} %{_bindir}/typeprof -%exclude %{gem_dir}/gems/typeprof-%{typeprof_version}/.* -%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}/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 +%exclude %{gem_instdir typeprof}/.* +%license %{gem_instdir typeprof}/LICENSE +%{gem_instdir typeprof}/exe +%{gem_libdir typeprof} +%doc %{gem_instdir typeprof}/tools +%exclude %{gem_instdir typeprof}/typeprof-lsp +%{gem_spec typeprof} +%doc %{gem_instdir typeprof}/Gemfile* +%doc %{gem_instdir typeprof}/README.md +%doc %{gem_instdir typeprof}/Rakefile %changelog From 05d11db9bafb8f97aaedea1dd6b5270da97fde83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 2 Oct 2023 15:06:31 +0200 Subject: [PATCH 12/52] Rake .github directory was removed upstream. https://github.com/ruby/rake/pull/333 --- ruby.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ruby.spec b/ruby.spec index 94d6153..0e16fa6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -900,10 +900,6 @@ echo 'doc/pty' >> .ruby-doc.ja sed -i 's/^/%doc /' .ruby-doc.* sed -i 's/^/%lang(ja) /' .ruby-doc.ja -# Remove useless .github directory from Rake. -# https://github.com/ruby/rake/pull/333 -rm -rf %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/.github - %check %if 0%{?with_hardening_test} # Check Ruby hardening. From 0f26c4079043d07a842879c9163b080baa3708c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 2 Oct 2023 15:39:57 +0200 Subject: [PATCH 13/52] Use `gem_` macros in %install section. --- ruby.spec | 98 +++++++++++++++++++++++++++---------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/ruby.spec b/ruby.spec index 0e16fa6..95949a7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -800,66 +800,66 @@ mkdir -p %{buildroot}%{_exec_prefix}/lib{,64}/gems/%{name} # Move bundled rubygems to %%gem_dir and %%gem_extdir_mri # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems -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 +mkdir -p %{buildroot}%{gem_libdir irb} +mv %{buildroot}%{ruby_libdir}/irb* %{buildroot}%{gem_libdir irb} +mv %{buildroot}%{gem_spec -d irb} %{buildroot}%{gem_spec irb} +ln -s %{gem_libdir irb}/irb.rb %{buildroot}%{ruby_libdir}/irb.rb # 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}/'{}' \; +find irb -type f -exec ln -s %{gem_libdir irb}/'{}' %{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 -mv %{buildroot}%{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %{buildroot}%{gem_dir}/specifications +mkdir -p %{buildroot}%{gem_libdir rdoc} +mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_libdir rdoc} +mv %{buildroot}%{gem_spec -d rdoc} %{buildroot}%{gem_spec rdoc} -mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib -mkdir -p %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal -mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib -mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} -touch %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/gem.build_complete -mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications -ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal -ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so +mkdir -p %{buildroot}%{gem_libdir bigdecimal} +mkdir -p %{buildroot}%{gem_extdir_mri bigdecimal} +mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_libdir bigdecimal} +mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{gem_extdir_mri bigdecimal} +touch %{buildroot}%{gem_extdir_mri bigdecimal}/gem.build_complete +mv %{buildroot}%{gem_spec -d bigdecimal} %{buildroot}%{gem_spec bigdecimal} +ln -s %{gem_libdir bigdecimal}/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal +ln -s %{gem_extdir_mri bigdecimal}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so # TODO: Put help files into proper location. # https://bugs.ruby-lang.org/issues/15359 -mkdir -p %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib -mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib -mv %{buildroot}%{ruby_libdir}/bundler %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib -mv %{buildroot}%{gem_dir}/specifications/default/bundler-%{bundler_version}.gemspec %{buildroot}%{gem_dir}/specifications +mkdir -p %{buildroot}%{gem_libdir bundler} +mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_libdir bundler} +mv %{buildroot}%{ruby_libdir}/bundler %{buildroot}%{gem_libdir bundler} +mv %{buildroot}%{gem_spec -d bundler} %{buildroot}%{gem_spec bundler} -mkdir -p %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib -mkdir -p %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/io -mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib -mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/io -touch %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/gem.build_complete -mv %{buildroot}%{gem_dir}/specifications/default/io-console-%{io_console_version}.gemspec %{buildroot}%{gem_dir}/specifications -ln -s %{gem_dir}/gems/io-console-%{io_console_version}/lib/io %{buildroot}%{ruby_libdir}/io -ln -s %{_libdir}/gems/%{name}/io-console-%{io_console_version}/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so +mkdir -p %{buildroot}%{gem_libdir io-console} +mkdir -p %{buildroot}%{gem_extdir_mri io-console}/io +mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_libdir io-console} +mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{gem_extdir_mri io-console}/io +touch %{buildroot}%{gem_extdir_mri io-console}/gem.build_complete +mv %{buildroot}%{gem_spec -d io-console} %{buildroot}%{gem_spec io-console} +ln -s %{gem_libdir io-console}/io %{buildroot}%{ruby_libdir}/io +ln -s %{gem_extdir_mri io-console}/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so -mkdir -p %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib -mkdir -p %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version} -mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib -mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/ -touch %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/gem.build_complete -mv %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %{buildroot}%{gem_dir}/specifications -ln -s %{gem_dir}/gems/json-%{json_version}/lib/json.rb %{buildroot}%{ruby_libdir}/json.rb -ln -s %{gem_dir}/gems/json-%{json_version}/lib/json %{buildroot}%{ruby_libdir}/json -ln -s %{_libdir}/gems/%{name}/json-%{json_version}/json/ %{buildroot}%{ruby_libarchdir}/json +mkdir -p %{buildroot}%{gem_libdir json} +mkdir -p %{buildroot}%{gem_extdir_mri json} +mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_libdir json} +mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{gem_extdir_mri json} +touch %{buildroot}%{gem_extdir_mri json}/gem.build_complete +mv %{buildroot}%{gem_spec -d json} %{buildroot}%{gem_spec json} +ln -s %{gem_libdir json}/json.rb %{buildroot}%{ruby_libdir}/json.rb +ln -s %{gem_libdir json}/json %{buildroot}%{ruby_libdir}/json +ln -s %{gem_extdir_mri json}/json/ %{buildroot}%{ruby_libarchdir}/json -mkdir -p %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib -mkdir -p %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version} -mv %{buildroot}%{ruby_libdir}/psych* %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib -mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version}/ -touch %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version}/gem.build_complete -mv %{buildroot}%{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %{buildroot}%{gem_dir}/specifications -ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir}/psych -ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb -ln -s %{_libdir}/gems/%{name}/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.so +mkdir -p %{buildroot}%{gem_libdir psych} +mkdir -p %{buildroot}%{gem_extdir_mri psych} +mv %{buildroot}%{ruby_libdir}/psych* %{buildroot}%{gem_libdir psych} +mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{gem_extdir_mri psych} +touch %{buildroot}%{gem_extdir_mri psych}/gem.build_complete +mv %{buildroot}%{gem_spec -d psych} %{buildroot}%{gem_spec psych} +ln -s %{gem_libdir psych}/psych %{buildroot}%{ruby_libdir}/psych +ln -s %{gem_libdir psych}/psych.rb %{buildroot}%{ruby_libdir}/psych.rb +ln -s %{gem_extdir_mri psych}/psych.so %{buildroot}%{ruby_libarchdir}/psych.so # Move the binary extensions into proper place (if no gem has binary extension, # the extensions directory might be empty). @@ -874,10 +874,10 @@ 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 +mv %{buildroot}%{gem_instdir rake}/doc/rake.1 %{buildroot}%{_mandir}/man1 # https://bugs.ruby-lang.org/issues/17778 -cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.1 %{buildroot}%{_mandir}/man1 -cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.5 %{buildroot}%{_mandir}/man5 +cp -a %{buildroot}%{gem_libdir bundler}/bundler/man/*.1 %{buildroot}%{_mandir}/man1 +cp -a %{buildroot}%{gem_libdir bundler}/bundler/man/*.5 %{buildroot}%{_mandir}/man5 %if %{with systemtap} # Install a tapset and fix up the path to the library. From 18aaf36eef77d8feecf61324c67b92b082d0c290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 12 Oct 2023 13:03:57 +0200 Subject: [PATCH 14/52] Upgrade to Ruby 3.3.0 (e029375a7d). --- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +-- ruby-2.3.0-ruby_version.patch | 6 ++-- ruby-2.7.0-Initialize-ABRT-hook.patch | 8 +++--- ...3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 28 +++++++++++-------- 8 files changed, 30 insertions(+), 24 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 5adf835..f19bb23 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 -@@ -3436,6 +3436,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3441,6 +3441,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 b0927c2..d15889c 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 -@@ -4264,7 +4264,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4269,7 +4269,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 36d48f1..65c126a 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 -@@ -4328,6 +4328,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4333,6 +4333,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 30af286..9f2f600 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 -@@ -4300,6 +4300,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4305,6 +4305,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='' -@@ -4324,6 +4328,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4329,6 +4333,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 cfdb1cf..5a890f0 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 -@@ -4214,9 +4214,6 @@ AS_CASE(["$target_os"], +@@ -4219,9 +4219,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], -@@ -4239,57 +4236,63 @@ AC_ARG_WITH(ridir, +@@ -4244,57 +4241,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4306,6 +4309,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4311,6 +4314,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 433d825..823897d 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,9 +44,9 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -117,7 +117,8 @@ YARP_FILES = yarp/api_node.$(OBJEXT) \ - yarp/yarp.$(OBJEXT) \ - yarp/yarp_init.$(OBJEXT) +@@ -117,7 +117,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ + prism/prism.$(OBJEXT) \ + prism_init.$(OBJEXT) -COMMONOBJS = array.$(OBJEXT) \ +COMMONOBJS = abrt.$(OBJEXT) \ @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1708,10 +1708,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1721,10 +1721,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 02d2e01..89d11c6 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1565,8 +1565,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1588,8 +1588,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index 95949a7..75f58c5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 904413997f +%global revision e029375a7d %global ruby_archive %{name}-%{ruby_version} @@ -81,7 +81,7 @@ %global prettyprint_version 0.1.1 %global pstore_version 0.1.2 %global readline_version 0.0.3 -%global reline_version 0.3.8 +%global reline_version 0.3.9 %global resolv_version 0.2.2 %global resolv_replace_version 0.1.1 %global rinda_version 0.1.1 @@ -104,15 +104,15 @@ %global weakref_version 0.1.2 %global win32ole_version 1.8.9 %global yaml_version 0.2.1 -%global yarp_version 0.12.0 +%global prism_version 0.13.0 %global zlib_version 3.0.0 # Gemified default gems. -%global bigdecimal_version 3.1.4 +%global bigdecimal_version 3.1.5 %global io_console_version 0.6.0 %global irb_version 1.8.1 %global json_version 2.6.3 -%global psych_version 5.1.0 +%global psych_version 5.1.1 %global rdoc_version 6.5.0 # Bundled gems. @@ -123,12 +123,12 @@ %global rexml_version 3.2.6 %global rss_version 0.3.0 %global net_ftp_version 0.2.0 -%global net_imap_version 0.3.7 +%global net_imap_version 0.4.1 %global net_pop_version 0.1.2 -%global net_smtp_version 0.3.3 +%global net_smtp_version 0.4.0 %global matrix_version 0.4.2 %global prime_version 0.1.2 -%global rbs_version 3.2.1 +%global rbs_version 3.2.2 %global typeprof_version 0.21.8 %global debug_version 1.8.0 %global racc_version 1.7.1 @@ -1033,6 +1033,10 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestDir#test_home/" MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s home directory'" %endif +# Skip TestYJIT#test_bug_19316 test, which is failing for unknown reason. +# https://bugs.ruby-lang.org/issues/19921 +DISABLE_TESTS="$DISABLE_TESTS -n !/TestYJIT#test_bug_19316/" + # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ @@ -1152,7 +1156,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{ruby_libdir}/uri* %{ruby_libdir}/weakref* %{ruby_libdir}/yaml* -%{ruby_libdir}/yarp* +%{ruby_libdir}/prism* # Platform specific libraries. %{_libdir}/libruby.so.{%{major_minor_version},%{ruby_version}} @@ -1358,7 +1362,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %gem_spec -d weakref #%%gem_spec -d win32ole %gem_spec -d yaml -%gem_spec -d yarp +%gem_spec -d prism %gem_spec -d zlib %files -n rubygem-irb @@ -1471,6 +1475,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ # net-smtp %dir %{gem_instdir net-smtp} +%doc %{gem_instdir net-smtp}/NEWS.md +%doc %{gem_instdir net-smtp}/README.md %license %{gem_instdir net-smtp}/LICENSE.txt %{gem_libdir net-smtp} %{gem_spec net-smtp} @@ -1606,7 +1612,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (904413997f). +- Upgrade to Ruby 3.3.0 (e029375a7d). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 82714b2417d2abfbbd10f1aaf05b7b3520fb54b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 12 Oct 2023 17:57:55 +0200 Subject: [PATCH 15/52] Correct "bundled" provides for rubygems --- ruby.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ruby.spec b/ruby.spec index 75f58c5..bcc0f76 100644 --- a/ruby.spec +++ b/ruby.spec @@ -334,6 +334,8 @@ Provides: gem = %{version}-%{release} Provides: ruby(rubygems) = %{version}-%{release} # https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} +Provides: bundled(rubygem-optparse) = %{rubygems_optparse_version} +Provides: bundled(rubygem-tsort) = %{rubygems_tsort_version} BuildArch: noarch %description -n rubygems From df30dd7b217e733556628a4dfcdbb569f3766148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 13 Oct 2023 10:21:39 +0200 Subject: [PATCH 16/52] Locally enable the RubyGems generator This will help to generate the right Requires/Provides from shipped .gemspec files without the need to list them explicitly. --- ruby.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ruby.spec b/ruby.spec index bcc0f76..a018f61 100644 --- a/ruby.spec +++ b/ruby.spec @@ -196,6 +196,11 @@ Source15: test_openssl_fips.rb %{load:%{SOURCE4}} %{load:%{SOURCE5}} +%global __local_generator_requires make -C %{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE9}" +%global __local_generator_provides make -C %{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE10}" +%global __local_generator_conflicts make -C %{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE11}" +%global __local_generator_path ^%{gem_dir}/specifications/.*\.gemspec$ + # Fix ruby_version abuse. # https://bugs.ruby-lang.org/issues/11002 Patch0: ruby-2.3.0-ruby_version.patch @@ -229,6 +234,7 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} +BuildRequires: rpm-local-generator-support # Build dependencies BuildRequires: autoconf BuildRequires: gcc From 2410dfd180932ef50fbbfcbbd085cd7fcd66454d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 13 Oct 2023 10:31:00 +0200 Subject: [PATCH 17/52] Upgrade to Ruby 3.3.0 (35edc14ee1). --- ruby.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ruby.spec b/ruby.spec index a018f61..cd76a3d 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision e029375a7d +%global revision 35edc14ee1 %global ruby_archive %{name}-%{ruby_version} @@ -110,7 +110,7 @@ # Gemified default gems. %global bigdecimal_version 3.1.5 %global io_console_version 0.6.0 -%global irb_version 1.8.1 +%global irb_version 1.8.2 %global json_version 2.6.3 %global psych_version 5.1.1 %global rdoc_version 6.5.0 @@ -1045,6 +1045,12 @@ MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s # https://bugs.ruby-lang.org/issues/19921 DISABLE_TESTS="$DISABLE_TESTS -n !/TestYJIT#test_bug_19316/" +%ifarch ppc64le +# Test failure, the display order of hash seems to differ on ppc64le. +# https://bugs.ruby-lang.org/issues/19927 +DISABLE_TESTS="$DISABLE_TESTS -n !/TestCoverage#test_coverage_suspendable/" +%endif + # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ @@ -1620,7 +1626,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (e029375a7d). +- Upgrade to Ruby 3.3.0 (35edc14ee1). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From f95edf7e7d9ad73dc94560fdd568e037b8216b57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 13 Oct 2023 19:10:02 +0200 Subject: [PATCH 18/52] Drop manual Requires/Provides in favor of automacitally generated. --- ruby.spec | 76 +++++-------------------------------------------------- 1 file changed, 7 insertions(+), 69 deletions(-) diff --git a/ruby.spec b/ruby.spec index cd76a3d..64c8732 100644 --- a/ruby.spec +++ b/ruby.spec @@ -370,17 +370,12 @@ Macros and development tools for packaging RubyGems. %package default-gems Summary: Default gems which are part of Ruby StdLib -Requires: ruby(rubygems) >= %{rubygems_version} Supplements: ruby(rubygems) -# Include the io-console dependency for reline. -Requires: rubygem(io-console) # Obsoleted by Ruby 2.7 in F32 timeframe. Obsoletes: rubygem-did_you_mean < 1.4.0-130 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 @@ -392,14 +387,7 @@ StdLib. 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}%{?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}%{?development_release}-%{release} Provides: ruby-irb = %{ruby_version}%{?development_release}-%{release} @@ -418,14 +406,10 @@ Version: %{rdoc_version} # 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} BuildArch: noarch %description -n rubygem-rdoc @@ -447,9 +431,6 @@ This package contains documentation for %{name}. Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic Version: %{bigdecimal_version} License: Ruby OR BSD-2-Clause -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(bigdecimal) = %{version}-%{release} %description -n rubygem-bigdecimal Ruby provides built-in support for arbitrary precision integer arithmetic. @@ -468,9 +449,6 @@ conversion between base 10 and base 2. 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} %description -n rubygem-io-console IO/Console provides very simple and portable access to console. It doesn't @@ -482,9 +460,6 @@ Summary: This is a JSON implementation as a Ruby extension in C Version: %{json_version} # 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} %description -n rubygem-json This is a implementation of the JSON specification according to RFC 4627. @@ -497,10 +472,6 @@ markup language. Summary: A libyaml wrapper for Ruby 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 Psych is a YAML parser and emitter. Psych leverages @@ -513,10 +484,7 @@ serialize and de-serialize most Ruby objects to and from the YAML format. Summary: Library and utilities to manage a Ruby application's gem dependencies Version: %{bundler_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} Requires: rubygem(io-console) -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} @@ -538,18 +506,14 @@ many machines, systematically and repeatably. %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(racc) = %{racc_version} +Provides: bundled(rubygem-debug) = %{debug_version} +Provides: bundled(rubygem-matrix) = %{matrix_version} +Provides: bundled(rubygem-net-ftp) = %{net_ftp_version} +Provides: bundled(rubygem-net-imap) = %{net_imap_version} +Provides: bundled(rubygem-net-pop) = %{net_pop_version} +Provides: bundled(rubygem-net-smtp) = %{net_smtp_version} +Provides: bundled(rubygem-prime) = %{prime_version} Provides: bundled(rubygem-racc) = %{racc_version} -Provides: rubygem(debug) = %{debug_version} %description bundled-gems Bundled gems which are part of Ruby StdLib. While being part of Ruby, these @@ -560,9 +524,6 @@ needs to be listed in Gemfile to be used by Bundler. Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(minitest) = %{version}-%{release} BuildArch: noarch %description -n rubygem-minitest @@ -584,9 +545,6 @@ output. Summary: Power Assert for Ruby Version: %{power_assert_version} License: Ruby OR BSD-2-Clause -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(power_assert) = %{version}-%{release} BuildArch: noarch %description -n rubygem-power_assert @@ -599,10 +557,7 @@ condition is not satisfied. Summary: Ruby based make-like utility Version: %{rake_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} Provides: rake = %{version}-%{release} -Provides: rubygem(rake) = %{version}-%{release} BuildArch: noarch %description -n rubygem-rake @@ -614,9 +569,6 @@ specified in standard Ruby syntax. Summary: Type signature for Ruby Version: %{rbs_version} License: Ruby OR BSD-2-Clause -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(rbs) = %{version}-%{release} %description -n rubygem-rbs RBS is the language for type signatures for Ruby and standard library @@ -628,10 +580,6 @@ 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. 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) -Provides: rubygem(test-unit) = %{version}-%{release} BuildArch: noarch %description -n rubygem-test-unit @@ -646,9 +594,6 @@ Summary: An XML toolkit for Ruby Version: %{rexml_version} License: BSD-2-Clause URL: https://github.com/ruby/rexml -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(rexml) = %{version}-%{release} BuildArch: noarch %description -n rubygem-rexml @@ -668,9 +613,6 @@ Summary: Family of libraries that support various formats of XML "feeds" Version: %{rss_version} License: BSD-2-Clause URL: https://github.com/ruby/rss -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(rss) = %{version}-%{release} BuildArch: noarch %description -n rubygem-rss @@ -685,10 +627,6 @@ Summary: TypeProf is a type analysis tool for Ruby code based on abstract int Version: %{typeprof_version} License: MIT URL: https://github.com/ruby/typeprof -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Requires: rubygem(rbs) >= %{rbs_version} -Provides: rubygem(typeprof) = %{version}-%{release} BuildArch: noarch %description -n rubygem-typeprof From ddfdb3e8b4597d0ea2b343b1d85ddef6faf3f83e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 18 Oct 2023 16:40:07 +0200 Subject: [PATCH 19/52] Upgrade to Ruby 3.3.0 (ef3f9f1a68). --- ...-duplicated-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 ++-- ruby-2.3.0-ruby_version.patch | 6 +++--- ruby-2.7.0-Initialize-ABRT-hook.patch | 4 ++-- ruby-3.3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 10 +++++----- 7 files changed, 15 insertions(+), 15 deletions(-) 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 d15889c..b19227f 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 -@@ -4269,7 +4269,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4286,7 +4286,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 65c126a..5cea74c 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 -@@ -4333,6 +4333,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4350,6 +4350,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 9f2f600..3f858a5 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 -@@ -4305,6 +4305,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4322,6 +4322,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='' -@@ -4329,6 +4333,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4346,6 +4350,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 5a890f0..8a926e4 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 -@@ -4219,9 +4219,6 @@ AS_CASE(["$target_os"], +@@ -4236,9 +4236,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], -@@ -4244,57 +4241,63 @@ AC_ARG_WITH(ridir, +@@ -4261,57 +4258,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4311,6 +4314,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4328,6 +4331,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 823897d..6a248e2 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,7 +44,7 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -117,7 +117,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ +@@ -116,7 +116,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ prism/prism.$(OBJEXT) \ prism_init.$(OBJEXT) @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1721,10 +1721,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1725,10 +1725,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 89d11c6..5d19294 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1588,8 +1588,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1590,8 +1590,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index 64c8732..dbf2a48 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 35edc14ee1 +%global revision ef3f9f1a68 %global ruby_archive %{name}-%{ruby_version} @@ -104,15 +104,15 @@ %global weakref_version 0.1.2 %global win32ole_version 1.8.9 %global yaml_version 0.2.1 -%global prism_version 0.13.0 +%global prism_version 0.14.0 %global zlib_version 3.0.0 # Gemified default gems. %global bigdecimal_version 3.1.5 %global io_console_version 0.6.0 -%global irb_version 1.8.2 +%global irb_version 1.8.3 %global json_version 2.6.3 -%global psych_version 5.1.1 +%global psych_version 5.1.1.1 %global rdoc_version 6.5.0 # Bundled gems. @@ -1564,7 +1564,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (35edc14ee1). +- Upgrade to Ruby 3.3.0 (ef3f9f1a68). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 27183e139ff5b91b817103826120163645dfa4f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 24 Oct 2023 12:42:30 +0200 Subject: [PATCH 20/52] `--build-root` option is broken, use `--install-dir` instead https://github.com/rubygems/rubygems/issues/7083 This is essentially return to 68e54df6f95dfca1c634dc383e32a311c3f6d138 --- macros.rubygems | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/macros.rubygems b/macros.rubygems index f6e830f..9a0add2 100644 --- a/macros.rubygems +++ b/macros.rubygems @@ -43,7 +43,9 @@ CONFIGURE_ARGS="--with-cflags='%{optflags}' --with-cxxflags='%{optflags}' --with gem install \\\ -V \\\ --local \\\ - --build-root %{-d*}%{!?-d:.} \\\ + --install-dir %{-d*}%{!?-d:.%{gem_dir}} \\\ + --bindir .%{_bindir} \\\ + --no-user-install \\\ --force \\\ --document=ri,rdoc \\\ %{-n*}%{!?-n:%{gem_name}-%{version}%{?prerelease}.gem} \ From 5db71370048d5a4e293ab21e5b22f3a8f3c97146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 24 Oct 2023 13:56:04 +0200 Subject: [PATCH 21/52] Disable "Defaulting to user installation" RubyGems message This restores `gem spec` command output and therefore fixes build of rubygem- packages. https://github.com/rubygems/rubygems/issues/7082 --- ...sable-user-installation-info-message.patch | 24 +++++++++++++++++++ ruby.spec | 6 +++++ 2 files changed, 30 insertions(+) create mode 100644 ruby-3.3.0-Disable-user-installation-info-message.patch diff --git a/ruby-3.3.0-Disable-user-installation-info-message.patch b/ruby-3.3.0-Disable-user-installation-info-message.patch new file mode 100644 index 0000000..3e1b9e4 --- /dev/null +++ b/ruby-3.3.0-Disable-user-installation-info-message.patch @@ -0,0 +1,24 @@ +From f0b10ff12a6de98b8e1f787f79d4a0f0e995bf40 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Tue, 24 Oct 2023 12:57:32 +0200 +Subject: [PATCH] Disable "user installation" info message. + +This is reported by every command (at least in build root), pollutes +their output and therefore breaks things. +--- + lib/rubygems/command.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/rubygems/command.rb b/lib/rubygems/command.rb +index 01deac6890..4f82a2755a 100644 +--- a/lib/rubygems/command.rb ++++ b/lib/rubygems/command.rb +@@ -324,7 +324,7 @@ def invoke_with_build_args(args, build_args) + @when_invoked.call options + else + if Gem.paths.auto_user_install && !options[:install_dir] && !options[:user_install] +- self.ui.say "Defaulting to user installation because default installation directory (#{Gem.default_dir}) is not writable." ++ # self.ui.say "Defaulting to user installation because default installation directory (#{Gem.default_dir}) is not writable." + end + + execute diff --git a/ruby.spec b/ruby.spec index dbf2a48..44f56bf 100644 --- a/ruby.spec +++ b/ruby.spec @@ -228,6 +228,11 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch +# The "Defaulting to user installation" message pollutes output various gem +# commands, including `gem spec` output. This in turn break build of rubygem- +# packages. Disable the message for now. +# https://github.com/rubygems/rubygems/issues/7082 +Patch10: ruby-3.3.0-Disable-user-installation-info-message.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -647,6 +652,7 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 9 -p1 +%patch 10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . From a25407b731f607241c67b132938b829b5a2f9925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 24 Oct 2023 15:36:05 +0200 Subject: [PATCH 22/52] Upgrade to Ruby 3.3.0 (c44d65427e). --- ruby-3.3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 5d19294..21ed515 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1590,8 +1590,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1591,8 +1591,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index 44f56bf..89eac2c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision ef3f9f1a68 +%global revision c44d65427e %global ruby_archive %{name}-%{ruby_version} @@ -38,7 +38,7 @@ %global bundler_fileutils_version 1.7.0 %global bundler_pub_grub_version 0.5.0 %global bundler_net_http_persistent_version 4.0.2 -%global bundler_thor_version 1.2.2 +%global bundler_thor_version 1.3.0 %global bundler_tsort_version 0.1.1 %global bundler_uri_version 0.12.2 @@ -104,12 +104,12 @@ %global weakref_version 0.1.2 %global win32ole_version 1.8.9 %global yaml_version 0.2.1 -%global prism_version 0.14.0 +%global prism_version 0.15.1 %global zlib_version 3.0.0 # Gemified default gems. %global bigdecimal_version 3.1.5 -%global io_console_version 0.6.0 +%global io_console_version 0.6.1.dev %global irb_version 1.8.3 %global json_version 2.6.3 %global psych_version 5.1.1.1 @@ -985,10 +985,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestDir#test_home/" MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s home directory'" %endif -# Skip TestYJIT#test_bug_19316 test, which is failing for unknown reason. -# https://bugs.ruby-lang.org/issues/19921 -DISABLE_TESTS="$DISABLE_TESTS -n !/TestYJIT#test_bug_19316/" - %ifarch ppc64le # Test failure, the display order of hash seems to differ on ppc64le. # https://bugs.ruby-lang.org/issues/19927 @@ -1570,7 +1566,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (ef3f9f1a68). +- Upgrade to Ruby 3.3.0 (c44d65427e). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From f039949b3c842e431ad763562d691c5d0f84ae47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 25 Oct 2023 16:32:36 +0200 Subject: [PATCH 23/52] Re-enable TestCoverage#test_coverage_suspendable test This was likely resolved by: https://github.com/ruby/ruby/pull/8670 --- ruby.spec | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ruby.spec b/ruby.spec index 89eac2c..db0a5a6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -985,12 +985,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestDir#test_home/" MSPECOPTS="$MSPECOPTS -P 'File.expand_path expands ~ENV..USER..* to.* the user.s home directory'" %endif -%ifarch ppc64le -# Test failure, the display order of hash seems to differ on ppc64le. -# https://bugs.ruby-lang.org/issues/19927 -DISABLE_TESTS="$DISABLE_TESTS -n !/TestCoverage#test_coverage_suspendable/" -%endif - # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ From 8a805df2c840af3b20277d0edd7188b7fd98f7a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 30 Oct 2023 13:49:43 +0100 Subject: [PATCH 24/52] Remark about embedded Racc having no influence on license. --- ruby.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ruby.spec b/ruby.spec index db0a5a6..50f1a97 100644 --- a/ruby.spec +++ b/ruby.spec @@ -410,6 +410,10 @@ Version: %{rdoc_version} # 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 +# Note that RDoc now embeds Racc parser: +# https://github.com/ruby/rdoc/pull/1019 +# Luckily, this should have no license impact: +# https://github.com/ruby/racc/blob/5eb07b28bfb3e193a1cac07798fe7be7e1e246c4/lib/racc/parser.rb#L8-L10 License: GPL-2.0-only AND Ruby AND BSD-3-Clause AND CC-BY-2.5 AND OFL-1.1-RFN Requires: rubygem(io-console) >= %{io_console_version} Requires: rubygem(json) >= %{json_version} From 865361ee6a31b5d8bf062768958f1d62759e4e9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 1 Nov 2023 15:20:09 +0100 Subject: [PATCH 25/52] Upgrade to Ruby 3.3.0 (a1e24ab484). --- ruby.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/ruby.spec b/ruby.spec index 50f1a97..b46edd6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision c44d65427e +%global revision a1e24ab484 %global ruby_archive %{name}-%{ruby_version} @@ -55,7 +55,7 @@ %global english_version 0.7.2 %global erb_version 4.0.3 %global error_highlight_version 0.5.1 -%global etc_version 1.4.2 +%global etc_version 1.4.3.dev.1 %global fcntl_version 1.0.2 %global fiddle_version 1.1.2 %global fileutils_version 1.7.1 @@ -104,7 +104,7 @@ %global weakref_version 0.1.2 %global win32ole_version 1.8.9 %global yaml_version 0.2.1 -%global prism_version 0.15.1 +%global prism_version 0.16.0 %global zlib_version 3.0.0 # Gemified default gems. @@ -118,12 +118,12 @@ # Bundled gems. %global minitest_version 5.20.0 %global power_assert_version 2.0.3 -%global rake_version 13.0.6 +%global rake_version 13.1.0 %global test_unit_version 3.6.1 %global rexml_version 3.2.6 %global rss_version 0.3.0 %global net_ftp_version 0.2.0 -%global net_imap_version 0.4.1 +%global net_imap_version 0.4.3 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 @@ -1410,7 +1410,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %license %{gem_instdir net-imap}/LICENSE.txt %doc %{gem_instdir net-imap}/README.md %{gem_instdir net-imap}/Rakefile -%{gem_instdir net-imap}/benchmarks %{gem_instdir net-imap}/docs %{gem_libdir net-imap} %{gem_instdir net-imap}/rakelib @@ -1564,7 +1563,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (c44d65427e). +- Upgrade to Ruby 3.3.0 (a1e24ab484). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 03933b9692c3e10f6814d4843390dd2bba72d2a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 9 Nov 2023 17:18:51 +0100 Subject: [PATCH 26/52] Upgrade to Ruby 3.3.0 (ad3db6711c). --- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +- ruby-2.3.0-ruby_version.patch | 6 +- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ...3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 96 +++++++++---------- 8 files changed, 58 insertions(+), 58 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index f19bb23..c4b9e87 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 -@@ -3441,6 +3441,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3469,6 +3469,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 b19227f..c5c177f 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 -@@ -4286,7 +4286,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4314,7 +4314,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 5cea74c..2fdca39 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 -@@ -4350,6 +4350,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4378,6 +4378,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 3f858a5..9e00586 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 -@@ -4322,6 +4322,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4350,6 +4350,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='' -@@ -4346,6 +4350,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4374,6 +4378,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 8a926e4..3475d60 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 -@@ -4236,9 +4236,6 @@ AS_CASE(["$target_os"], +@@ -4264,9 +4264,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], -@@ -4261,57 +4258,63 @@ AC_ARG_WITH(ridir, +@@ -4289,57 +4286,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4328,6 +4331,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4356,6 +4359,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 6a248e2..530896e 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,7 +44,7 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -116,7 +116,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ +@@ -117,7 +117,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ prism/prism.$(OBJEXT) \ prism_init.$(OBJEXT) diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 21ed515..f3fa653 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1591,8 +1591,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1596,8 +1596,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index b46edd6..7a1f8a4 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision a1e24ab484 +%global revision ad3db6711c %global ruby_archive %{name}-%{ruby_version} @@ -43,69 +43,69 @@ %global bundler_uri_version 0.12.2 %global abbrev_version 0.1.1 -%global base64_version 0.1.1 -%global benchmark_version 0.2.1 -%global cgi_version 0.3.6 +%global base64_version 0.2.0 +%global benchmark_version 0.3.0 +%global cgi_version 0.4.0 %global csv_version 3.2.8 -%global date_version 3.3.3 -%global delegate_version 0.3.0 +%global date_version 3.3.4 +%global delegate_version 0.3.1 %global did_you_mean_version 1.6.3 %global digest_version 3.1.1 -%global drb_version 2.1.1 -%global english_version 0.7.2 +%global drb_version 2.2.0 +%global english_version 0.8.0 %global erb_version 4.0.3 %global error_highlight_version 0.5.1 %global etc_version 1.4.3.dev.1 -%global fcntl_version 1.0.2 +%global fcntl_version 1.1.0 %global fiddle_version 1.1.2 -%global fileutils_version 1.7.1 -%global find_version 0.1.1 +%global fileutils_version 1.7.2 +%global find_version 0.2.0 %global forwardable_version 1.3.3 -%global getoptlong_version 0.2.0 +%global getoptlong_version 0.2.1 %global io_nonblock_version 0.2.0 %global io_wait_version 0.3.0 %global ipaddr_version 1.2.5 -%global logger_version 1.5.3 -%global mutex_m_version 0.1.2 -%global net_http_version 0.3.2 -%global net_protocol_version 0.2.1 +%global logger_version 1.6.0 +%global mutex_m_version 0.2.0 +%global net_http_version 0.4.0 +%global net_protocol_version 0.2.2 %global nkf_version 0.1.3 -%global observer_version 0.1.1 -%global open3_version 0.1.2 +%global observer_version 0.1.2 +%global open3_version 0.2.0 %global openssl_version 3.2.0 -%global open_uri_version 0.3.0 -%global optparse_version 0.4.0.pre.1 -%global ostruct_version 0.5.5 -%global pathname_version 0.2.1 -%global pp_version 0.4.0 -%global prettyprint_version 0.1.1 -%global pstore_version 0.1.2 +%global open_uri_version 0.4.0 +%global optparse_version 0.4.0 +%global ostruct_version 0.6.0 +%global pathname_version 0.3.0 +%global pp_version 0.5.0 +%global prettyprint_version 0.2.0 +%global pstore_version 0.1.3 %global readline_version 0.0.3 -%global reline_version 0.3.9 +%global reline_version 0.4.0 %global resolv_version 0.2.2 %global resolv_replace_version 0.1.1 -%global rinda_version 0.1.1 +%global rinda_version 0.2.0 %global ruby2_keywords_version 0.0.5 -%global securerandom_version 0.2.2 +%global securerandom_version 0.3.0 %global set_version 1.0.3 -%global shellwords_version 0.1.0 -%global singleton_version 0.1.1 -%global stringio_version 3.0.9 -%global strscan_version 3.0.7 +%global shellwords_version 0.2.0 +%global singleton_version 0.2.0 +%global stringio_version 3.1.0 +%global strscan_version 3.0.8 %global syntax_suggest_version 1.1.0 %global syslog_version 0.1.1 -%global tempfile_version 0.1.3 -%global time_version 0.2.2 -%global timeout_version 0.4.0 -%global tmpdir_version 0.1.3 -%global tsort_version 0.1.1 -%global un_version 0.2.1 -%global uri_version 0.12.2 -%global weakref_version 0.1.2 -%global win32ole_version 1.8.9 -%global yaml_version 0.2.1 -%global prism_version 0.16.0 -%global zlib_version 3.0.0 +%global tempfile_version 0.2.0 +%global time_version 0.3.0 +%global timeout_version 0.4.1 +%global tmpdir_version 0.2.0 +%global tsort_version 0.2.0 +%global un_version 0.3.0 +%global uri_version 0.13.0 +%global weakref_version 0.1.3 +%global win32ole_version 1.8.10 +%global yaml_version 0.3.0 +%global prism_version 0.17.1 +%global zlib_version 3.1.0 # Gemified default gems. %global bigdecimal_version 3.1.5 @@ -113,7 +113,7 @@ %global irb_version 1.8.3 %global json_version 2.6.3 %global psych_version 5.1.1.1 -%global rdoc_version 6.5.0 +%global rdoc_version 6.6.0 # Bundled gems. %global minitest_version 5.20.0 @@ -123,7 +123,7 @@ %global rexml_version 3.2.6 %global rss_version 0.3.0 %global net_ftp_version 0.2.0 -%global net_imap_version 0.4.3 +%global net_imap_version 0.4.4 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 @@ -131,7 +131,7 @@ %global rbs_version 3.2.2 %global typeprof_version 0.21.8 %global debug_version 1.8.0 -%global racc_version 1.7.1 +%global racc_version 1.7.3 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -1563,7 +1563,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (a1e24ab484). +- Upgrade to Ruby 3.3.0 (ad3db6711c). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From bb542382697f7955ca1510580d68582a4ba0a77a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 24 Nov 2023 11:38:25 +0100 Subject: [PATCH 27/52] Upgrade to Ruby 3.3.0 (24e0b185ab). --- ....1.0-Enable-configuration-of-archlibdir.patch | 2 +- ...cated-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 ++-- ruby-2.3.0-ruby_version.patch | 6 +++--- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ...-3.3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 16 ++++++++-------- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index c4b9e87..54fda66 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 -@@ -3469,6 +3469,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3472,6 +3472,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 c5c177f..b8fc629 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 -@@ -4314,7 +4314,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4318,7 +4318,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 2fdca39..2cf0687 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 -@@ -4378,6 +4378,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4382,6 +4382,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 9e00586..a291998 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 -@@ -4350,6 +4350,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4354,6 +4354,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='' -@@ -4374,6 +4378,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4378,6 +4382,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 3475d60..c6ced0d 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 -@@ -4264,9 +4264,6 @@ AS_CASE(["$target_os"], +@@ -4268,9 +4268,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], -@@ -4289,57 +4286,63 @@ AC_ARG_WITH(ridir, +@@ -4293,57 +4290,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4356,6 +4359,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4360,6 +4363,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 530896e..f5f3c10 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,7 +44,7 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -117,7 +117,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ +@@ -119,7 +119,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ prism/prism.$(OBJEXT) \ prism_init.$(OBJEXT) diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index f3fa653..0a457b9 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1596,8 +1596,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1598,8 +1598,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index 7a1f8a4..eadb6d3 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision ad3db6711c +%global revision 24e0b185ab %global ruby_archive %{name}-%{ruby_version} @@ -104,13 +104,13 @@ %global weakref_version 0.1.3 %global win32ole_version 1.8.10 %global yaml_version 0.3.0 -%global prism_version 0.17.1 +%global prism_version 0.18.0 %global zlib_version 3.1.0 # Gemified default gems. %global bigdecimal_version 3.1.5 -%global io_console_version 0.6.1.dev -%global irb_version 1.8.3 +%global io_console_version 0.6.1.dev.1 +%global irb_version 1.9.1 %global json_version 2.6.3 %global psych_version 5.1.1.1 %global rdoc_version 6.6.0 @@ -123,12 +123,12 @@ %global rexml_version 3.2.6 %global rss_version 0.3.0 %global net_ftp_version 0.2.0 -%global net_imap_version 0.4.4 +%global net_imap_version 0.4.6 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 %global prime_version 0.1.2 -%global rbs_version 3.2.2 +%global rbs_version 3.3.2 %global typeprof_version 0.21.8 %global debug_version 1.8.0 %global racc_version 1.7.3 @@ -1562,8 +1562,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Thu Nov 09 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (ad3db6711c). +* Fri Nov 24 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (24e0b185ab). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 746685e50aee865e4541be625ba6567ffdde8cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 27 Nov 2023 18:04:43 +0100 Subject: [PATCH 28/52] Remove the sctrict io-console version requirement. The strict require currently causes issue with io-console developemnt versions such as `0.6.1.dev.1`. However: 1) upstream does not seems to be bothered with required version, 2) the use case for RDoc is currently pretty basic and the required `IO.console_size` is available since Ruby 1.9 \[[1]\]. Therefore dropping version should be fine. [1]: https://github.com/ruby/rdoc/commit/ce969b7817a6a643adb8113e316e85a1ab6483cb --- ruby.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index eadb6d3..b2b3d79 100644 --- a/ruby.spec +++ b/ruby.spec @@ -339,7 +339,7 @@ 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} -Recommends: rubygem(io-console) >= %{io_console_version} +Recommends: rubygem(io-console) Requires: rubygem(psych) >= %{psych_version} Provides: gem = %{version}-%{release} Provides: ruby(rubygems) = %{version}-%{release} @@ -415,7 +415,7 @@ Version: %{rdoc_version} # Luckily, this should have no license impact: # https://github.com/ruby/racc/blob/5eb07b28bfb3e193a1cac07798fe7be7e1e246c4/lib/racc/parser.rb#L8-L10 License: GPL-2.0-only AND Ruby AND BSD-3-Clause AND CC-BY-2.5 AND OFL-1.1-RFN -Requires: rubygem(io-console) >= %{io_console_version} +Requires: rubygem(io-console) Requires: rubygem(json) >= %{json_version} Provides: rdoc = %{version}-%{release} Provides: ri = %{version}-%{release} From 891b64aafeae7468788ab95b8d3bfe123cef2b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 29 Nov 2023 12:53:44 +0100 Subject: [PATCH 29/52] Upgrade to Ruby 3.3.0 (79eb75a8dd). --- ruby-2.1.0-Enable-configuration-of-archlibdir.patch | 2 +- ...ent-duplicated-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 ++-- ruby-2.3.0-ruby_version.patch | 6 +++--- ruby.spec | 8 ++++---- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 54fda66..c4b9e87 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 -@@ -3472,6 +3472,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3469,6 +3469,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 b8fc629..61ea88e 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 -@@ -4318,7 +4318,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4315,7 +4315,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 2cf0687..a693626 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 -@@ -4382,6 +4382,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4379,6 +4379,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 a291998..eb7d6aa 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 -@@ -4354,6 +4354,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4351,6 +4351,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='' -@@ -4378,6 +4382,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4375,6 +4379,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 c6ced0d..a0043d1 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 -@@ -4268,9 +4268,6 @@ AS_CASE(["$target_os"], +@@ -4265,9 +4265,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], -@@ -4293,57 +4290,63 @@ AC_ARG_WITH(ridir, +@@ -4290,57 +4287,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4360,6 +4363,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4357,6 +4360,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby.spec b/ruby.spec index b2b3d79..037dd19 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 24e0b185ab +%global revision 79eb75a8dd %global ruby_archive %{name}-%{ruby_version} @@ -90,7 +90,7 @@ %global set_version 1.0.3 %global shellwords_version 0.2.0 %global singleton_version 0.2.0 -%global stringio_version 3.1.0 +%global stringio_version 3.1.1 %global strscan_version 3.0.8 %global syntax_suggest_version 1.1.0 %global syslog_version 0.1.1 @@ -1562,8 +1562,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Fri Nov 24 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (24e0b185ab). +* Wed Nov 29 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (79eb75a8dd). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 8be4375c2442b3147f5ca24e9a05e697656968cc Mon Sep 17 00:00:00 2001 From: Jarek Prokop Date: Wed, 29 Nov 2023 19:36:59 +0000 Subject: [PATCH 30/52] Re-enable tests that seem to pass now. This should be fixed by: https://github.com/ruby/ruby/commit/b4571097df4a6bd848f1195026d82a92f3a7f9d8 And also previously "hidden" by `LANG` change in RPM: https://github.com/rpm-software-management/rpm/commit/3be76d71448279a29674cba753fc7ad811b7931c --- ruby.spec | 8 -------- 1 file changed, 8 deletions(-) diff --git a/ruby.spec b/ruby.spec index 037dd19..0186f5c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -981,14 +981,6 @@ MSPECOPTS="" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} -%ifarch i686 -# i686 specific failures. -# https://bugs.ruby-lang.org/issues/20045 -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 - # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ From 7e78bc09b6c2bf1ba7fa8be5e9087d3574bec2e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 7 Dec 2023 15:52:12 +0100 Subject: [PATCH 31/52] Upgrade to Ruby 3.3.0 (071df40495). --- ruby-2.7.0-Initialize-ABRT-hook.patch | 4 +-- ...3.0-Disable-syntax-suggest-test-case.patch | 2 +- ...sable-user-installation-info-message.patch | 24 -------------- ruby.spec | 33 +++++++++---------- 4 files changed, 19 insertions(+), 44 deletions(-) delete mode 100644 ruby-3.3.0-Disable-user-installation-info-message.patch diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index f5f3c10..0bf1064 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -44,7 +44,7 @@ diff --git a/common.mk b/common.mk index b2e5b2b6d0..f39f81da5c 100644 --- a/common.mk +++ b/common.mk -@@ -119,7 +119,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ +@@ -111,7 +111,8 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ prism/prism.$(OBJEXT) \ prism_init.$(OBJEXT) @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1725,10 +1725,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1708,10 +1708,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 0a457b9..5d19294 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1598,8 +1598,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1590,8 +1590,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby-3.3.0-Disable-user-installation-info-message.patch b/ruby-3.3.0-Disable-user-installation-info-message.patch deleted file mode 100644 index 3e1b9e4..0000000 --- a/ruby-3.3.0-Disable-user-installation-info-message.patch +++ /dev/null @@ -1,24 +0,0 @@ -From f0b10ff12a6de98b8e1f787f79d4a0f0e995bf40 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Tue, 24 Oct 2023 12:57:32 +0200 -Subject: [PATCH] Disable "user installation" info message. - -This is reported by every command (at least in build root), pollutes -their output and therefore breaks things. ---- - lib/rubygems/command.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/rubygems/command.rb b/lib/rubygems/command.rb -index 01deac6890..4f82a2755a 100644 ---- a/lib/rubygems/command.rb -+++ b/lib/rubygems/command.rb -@@ -324,7 +324,7 @@ def invoke_with_build_args(args, build_args) - @when_invoked.call options - else - if Gem.paths.auto_user_install && !options[:install_dir] && !options[:user_install] -- self.ui.say "Defaulting to user installation because default installation directory (#{Gem.default_dir}) is not writable." -+ # self.ui.say "Defaulting to user installation because default installation directory (#{Gem.default_dir}) is not writable." - end - - execute diff --git a/ruby.spec b/ruby.spec index 0186f5c..f037e00 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview2 # Keep the revision enabled for pre-releases from GIT. -%global revision 79eb75a8dd +%global revision 071df40495 %global ruby_archive %{name}-%{ruby_version} @@ -45,7 +45,7 @@ %global abbrev_version 0.1.1 %global base64_version 0.2.0 %global benchmark_version 0.3.0 -%global cgi_version 0.4.0 +%global cgi_version 0.4.1 %global csv_version 3.2.8 %global date_version 3.3.4 %global delegate_version 0.3.1 @@ -73,7 +73,7 @@ %global observer_version 0.1.2 %global open3_version 0.2.0 %global openssl_version 3.2.0 -%global open_uri_version 0.4.0 +%global open_uri_version 0.4.1 %global optparse_version 0.4.0 %global ostruct_version 0.6.0 %global pathname_version 0.3.0 @@ -94,7 +94,7 @@ %global strscan_version 3.0.8 %global syntax_suggest_version 1.1.0 %global syslog_version 0.1.1 -%global tempfile_version 0.2.0 +%global tempfile_version 0.2.1 %global time_version 0.3.0 %global timeout_version 0.4.1 %global tmpdir_version 0.2.0 @@ -110,10 +110,10 @@ # Gemified default gems. %global bigdecimal_version 3.1.5 %global io_console_version 0.6.1.dev.1 -%global irb_version 1.9.1 -%global json_version 2.6.3 +%global irb_version 1.10.1 +%global json_version 2.7.1 %global psych_version 5.1.1.1 -%global rdoc_version 6.6.0 +%global rdoc_version 6.6.1 # Bundled gems. %global minitest_version 5.20.0 @@ -122,8 +122,8 @@ %global test_unit_version 3.6.1 %global rexml_version 3.2.6 %global rss_version 0.3.0 -%global net_ftp_version 0.2.0 -%global net_imap_version 0.4.6 +%global net_ftp_version 0.3.0 +%global net_imap_version 0.4.7 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 @@ -228,11 +228,6 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch -# The "Defaulting to user installation" message pollutes output various gem -# commands, including `gem spec` output. This in turn break build of rubygem- -# packages. Disable the message for now. -# https://github.com/rubygems/rubygems/issues/7082 -Patch10: ruby-3.3.0-Disable-user-installation-info-message.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -656,7 +651,6 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 9 -p1 -%patch 10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -981,6 +975,11 @@ MSPECOPTS="" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} +# Disable several network dependent test cases, broken likely by +# https://github.com/ruby/ruby/pull/7295 +# https://bugs.ruby-lang.org/issues/20048 +MSPECOPTS="$MSPECOPTS -P 'UDPSocket#.*_address using IPv. using an implicit hostname the returned Addrinfo uses the correct IP address'" + # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ @@ -1554,8 +1553,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Wed Nov 29 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (79eb75a8dd). +* Thu Dec 07 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (071df40495). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 194728f9b7759511c462e887cf0e4172b388fe74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 7 Dec 2023 15:59:44 +0100 Subject: [PATCH 32/52] `--build-root` option should be fixed again. https://github.com/rubygems/rubygems/pull/7212 --- macros.rubygems | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/macros.rubygems b/macros.rubygems index 9a0add2..f6e830f 100644 --- a/macros.rubygems +++ b/macros.rubygems @@ -43,9 +43,7 @@ CONFIGURE_ARGS="--with-cflags='%{optflags}' --with-cxxflags='%{optflags}' --with gem install \\\ -V \\\ --local \\\ - --install-dir %{-d*}%{!?-d:.%{gem_dir}} \\\ - --bindir .%{_bindir} \\\ - --no-user-install \\\ + --build-root %{-d*}%{!?-d:.} \\\ --force \\\ --document=ri,rdoc \\\ %{-n*}%{!?-n:%{gem_name}-%{version}%{?prerelease}.gem} \ From 11fe1e202ac3d9a3c8d96a74c76a66cf2dd6f466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 11 Dec 2023 13:13:16 +0100 Subject: [PATCH 33/52] Upgrade to Ruby 3.3.0-rc1. --- ruby.spec | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/ruby.spec b/ruby.spec index f037e00..94381c9 100644 --- a/ruby.spec +++ b/ruby.spec @@ -7,10 +7,10 @@ %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. -#%%global milestone preview2 +%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision 071df40495 +%global revision 1ab91b12fa %global ruby_archive %{name}-%{ruby_version} @@ -54,7 +54,7 @@ %global drb_version 2.2.0 %global english_version 0.8.0 %global erb_version 4.0.3 -%global error_highlight_version 0.5.1 +%global error_highlight_version 0.6.0 %global etc_version 1.4.3.dev.1 %global fcntl_version 1.1.0 %global fiddle_version 1.1.2 @@ -87,12 +87,12 @@ %global rinda_version 0.2.0 %global ruby2_keywords_version 0.0.5 %global securerandom_version 0.3.0 -%global set_version 1.0.3 +%global set_version 1.0.4 %global shellwords_version 0.2.0 %global singleton_version 0.2.0 %global stringio_version 3.1.1 %global strscan_version 3.0.8 -%global syntax_suggest_version 1.1.0 +%global syntax_suggest_version 2.0.0 %global syslog_version 0.1.1 %global tempfile_version 0.2.1 %global time_version 0.3.0 @@ -130,7 +130,7 @@ %global prime_version 0.1.2 %global rbs_version 3.3.2 %global typeprof_version 0.21.8 -%global debug_version 1.8.0 +%global debug_version 1.9.0 %global racc_version 1.7.3 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -1553,8 +1553,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Thu Dec 07 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (071df40495). +* Mon Dec 11 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0-rc1. * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From f9a5991e7f7a830bc8e917151b4f91a981fe90b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 11 Dec 2023 14:58:18 +0100 Subject: [PATCH 34/52] Upgrade to Ruby 3.3.0 (1ab91b12fa). --- ruby.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index 94381c9..0d227ad 100644 --- a/ruby.spec +++ b/ruby.spec @@ -7,7 +7,7 @@ %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. -%global milestone rc1 +#%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. %global revision 1ab91b12fa @@ -1554,7 +1554,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Mon Dec 11 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0-rc1. +- Upgrade to Ruby 3.3.0 (1ab91b12fa). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From e0f12f33a9cf8ef71e3b5f8673057302d3e3afe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 11 Dec 2023 14:58:43 +0100 Subject: [PATCH 35/52] Apply patch fixing `UDPSocket#remote_address` spec errors While this will likely be just temporary, it is better to fix the error then disable test case. --- ...revert-Set-AI-ADDRCONFIG-when-making.patch | 71 +++++++++++++++++++ ruby.spec | 9 ++- 2 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch diff --git a/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch b/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch new file mode 100644 index 0000000..92ed148 --- /dev/null +++ b/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch @@ -0,0 +1,71 @@ +From 3583079b8a746256d762c69fd8f58f30ce314276 Mon Sep 17 00:00:00 2001 +From: KJ Tsanaktsidis +Date: Sat, 9 Dec 2023 12:30:39 +1100 +Subject: [PATCH] Partially revert "Set AI_ADDRCONFIG when making + getaddrinfo(3) calls" + +This _partially_ reverts commit +d2ba8ea54a4089959afdeecdd963e3c4ff391748, but for UDP sockets only. + +With TCP sockets (and other things which use `rsock_init_inetsock`), the +order of operations is to call `getaddrinfo(3)` with AF_UNSPEC, look at +the returned addresses, pick one, and then call `socket(2)` with the +family for that address (i.e. AF_INET or AF_INET6). + +With UDP sockets, however, this is reversed; `UDPSocket.new` takes an +address family as an argument, and then calls `socket(2)` with that +family. A subsequent call to UDPSocket#connect will then call +`getaddrinfo(3)` with that family. + +The problem here is that... + +* If you are in a networking situation that _only_ has loopback addrs, +* And you want to look up a name like "localhost" (or NULL) +* And you pass AF_INET or AF_INET6 as the ai_family argument to + getaddrinfo(3), +* And you pass AI_ADDRCONFIG to the hints argument as well, + +then glibc on Linux will not return an address. This is because +AI_ADDRCONFIG is supposed to return addresses for families we actually +have an address for and could conceivably connect to, but also is +documented to explicitly ignore localhost in that situation. + +It honestly doesn't make a ton of sense to pass AI_ADDRCONFIG if you're +explicitly passing the address family anyway, because you're not looking +for "an address for this name we can connect to"; you're looking for "an +IPv(4|6) address for this name". And the original glibc bug that +d2ba8ea5 was supposed to work around was related to parallel issuance of +A and AAAA queries, which of course won't happen if an address family is +explicitly specified. + +So, we fix this by not passing AI_ADDRCONFIG for calls to +`rsock_addrinfo` that we also pass an explicit family to (i.e. for +UDPsocket). + +[Bug #20048] +--- + ext/socket/udpsocket.c | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +diff --git a/ext/socket/udpsocket.c b/ext/socket/udpsocket.c +index cf3eb6ab9a69f..5224e48a96a1f 100644 +--- a/ext/socket/udpsocket.c ++++ b/ext/socket/udpsocket.c +@@ -88,16 +88,9 @@ udp_connect(VALUE sock, VALUE host, VALUE port) + { + struct udp_arg arg; + VALUE ret; +- int addrinfo_hints = 0; + + GetOpenFile(sock, arg.fptr); +- +-#ifdef HAVE_CONST_AI_ADDRCONFIG +- addrinfo_hints |= AI_ADDRCONFIG; +-#endif +- +- arg.res = rsock_addrinfo(host, port, rsock_fd_family(arg.fptr->fd), SOCK_DGRAM, +- addrinfo_hints); ++ arg.res = rsock_addrinfo(host, port, rsock_fd_family(arg.fptr->fd), SOCK_DGRAM, 0); + ret = rb_ensure(udp_connect_internal, (VALUE)&arg, + rsock_freeaddrinfo, (VALUE)arg.res); + if (!ret) rsock_sys_fail_host_port("connect(2)", host, port); diff --git a/ruby.spec b/ruby.spec index 0d227ad..c51ac71 100644 --- a/ruby.spec +++ b/ruby.spec @@ -228,6 +228,9 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch +# Fix `UDPSocket#remote_address` spec errors, running without network connection. +# https://github.com/ruby/ruby/pull/9177 +Patch10: ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -651,6 +654,7 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 9 -p1 +%patch 10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -975,11 +979,6 @@ MSPECOPTS="" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} -# Disable several network dependent test cases, broken likely by -# https://github.com/ruby/ruby/pull/7295 -# https://bugs.ruby-lang.org/issues/20048 -MSPECOPTS="$MSPECOPTS -P 'UDPSocket#.*_address using IPv. using an implicit hostname the returned Addrinfo uses the correct IP address'" - # Give an option to increase the timeout in tests. # https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ From d3eaae9cc22d725b74dfdef3446b12d09fb1d9d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Mon, 11 Dec 2023 16:39:24 +0100 Subject: [PATCH 36/52] Change again the way default gem home is configured This reverts commit 5bd6a6753bdf406a2ce63cb6012a979ab4357ab5. This should be possible doable, because default gems are configurable since: https://github.com/rubygems/rubygems/pull/2841 --- operating_system.rb | 48 +++++++++++++++++++++++++++------------------ 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/operating_system.rb b/operating_system.rb index f38aa5d..fd56386 100644 --- a/operating_system.rb +++ b/operating_system.rb @@ -87,41 +87,51 @@ module Gem # Remove methods we are going to override. This avoids "method redefined;" # warnings otherwise issued by Ruby. - remove_method :operating_system_defaults if method_defined? :operating_system_defaults remove_method :default_dir if method_defined? :default_dir + remove_method :default_specifications_dir if method_defined? :default_specifications_dir remove_method :default_path if method_defined? :default_path + remove_method :default_bindir if method_defined? :default_bindir remove_method :default_ext_dir_for if method_defined? :default_ext_dir_for - ## - # Regular user installs into user directory, root manages /usr/local. - - def operating_system_defaults - unless opt_build_root? - options = if Process.uid == 0 - "--install-dir=#{Gem.default_dirs[:local][:gem_dir]} --bindir #{Gem.default_dirs[:local][:bin_dir]}" - else - "--user-install --bindir #{File.join [Dir.home, 'bin']}" - end - - {"gem" => options} - else - {} - end - end - ## # RubyGems default overrides. def default_dir - @default_dir ||= Gem.default_dirs[:system][:gem_dir] + if opt_build_root? + Gem.default_dirs[:system][:gem_dir] + elsif Process.uid == 0 + Gem.default_dirs[:local][:gem_dir] + else + Gem.user_dir + end end + ## + # Path to specification files of default gems. + + def default_specifications_dir + @default_specifications_dir ||= File.join(Gem.default_dirs[:system][:gem_dir], "specifications", "default") + end + + ## + # Default gem load path + def default_path path = default_dirs.collect {|location, paths| paths[:gem_dir]} path.unshift Gem.user_dir if File.exist? Gem.user_home path end + def default_bindir + if opt_build_root? + Gem.default_dirs[:system][:bin_dir] + elsif Process.uid == 0 + Gem.default_dirs[:local][:bin_dir] + else + File.join [Dir.home, 'bin'] + end + end + def default_ext_dir_for base_dir dir = if rpmbuild? build_dir = base_dir.chomp Gem.default_dirs[:system][:gem_dir] From 3b14779a1f323682c117c8d6587ef9267e952154 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 13 Dec 2023 16:06:37 +0100 Subject: [PATCH 37/52] Upgrade to Ruby 3.3.0 (a7ad9f3836). --- ...revert-Set-AI-ADDRCONFIG-when-making.patch | 71 ------------ ruby.spec | 108 ++++++++++++++---- 2 files changed, 84 insertions(+), 95 deletions(-) delete mode 100644 ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch diff --git a/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch b/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch deleted file mode 100644 index 92ed148..0000000 --- a/ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch +++ /dev/null @@ -1,71 +0,0 @@ -From 3583079b8a746256d762c69fd8f58f30ce314276 Mon Sep 17 00:00:00 2001 -From: KJ Tsanaktsidis -Date: Sat, 9 Dec 2023 12:30:39 +1100 -Subject: [PATCH] Partially revert "Set AI_ADDRCONFIG when making - getaddrinfo(3) calls" - -This _partially_ reverts commit -d2ba8ea54a4089959afdeecdd963e3c4ff391748, but for UDP sockets only. - -With TCP sockets (and other things which use `rsock_init_inetsock`), the -order of operations is to call `getaddrinfo(3)` with AF_UNSPEC, look at -the returned addresses, pick one, and then call `socket(2)` with the -family for that address (i.e. AF_INET or AF_INET6). - -With UDP sockets, however, this is reversed; `UDPSocket.new` takes an -address family as an argument, and then calls `socket(2)` with that -family. A subsequent call to UDPSocket#connect will then call -`getaddrinfo(3)` with that family. - -The problem here is that... - -* If you are in a networking situation that _only_ has loopback addrs, -* And you want to look up a name like "localhost" (or NULL) -* And you pass AF_INET or AF_INET6 as the ai_family argument to - getaddrinfo(3), -* And you pass AI_ADDRCONFIG to the hints argument as well, - -then glibc on Linux will not return an address. This is because -AI_ADDRCONFIG is supposed to return addresses for families we actually -have an address for and could conceivably connect to, but also is -documented to explicitly ignore localhost in that situation. - -It honestly doesn't make a ton of sense to pass AI_ADDRCONFIG if you're -explicitly passing the address family anyway, because you're not looking -for "an address for this name we can connect to"; you're looking for "an -IPv(4|6) address for this name". And the original glibc bug that -d2ba8ea5 was supposed to work around was related to parallel issuance of -A and AAAA queries, which of course won't happen if an address family is -explicitly specified. - -So, we fix this by not passing AI_ADDRCONFIG for calls to -`rsock_addrinfo` that we also pass an explicit family to (i.e. for -UDPsocket). - -[Bug #20048] ---- - ext/socket/udpsocket.c | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -diff --git a/ext/socket/udpsocket.c b/ext/socket/udpsocket.c -index cf3eb6ab9a69f..5224e48a96a1f 100644 ---- a/ext/socket/udpsocket.c -+++ b/ext/socket/udpsocket.c -@@ -88,16 +88,9 @@ udp_connect(VALUE sock, VALUE host, VALUE port) - { - struct udp_arg arg; - VALUE ret; -- int addrinfo_hints = 0; - - GetOpenFile(sock, arg.fptr); -- --#ifdef HAVE_CONST_AI_ADDRCONFIG -- addrinfo_hints |= AI_ADDRCONFIG; --#endif -- -- arg.res = rsock_addrinfo(host, port, rsock_fd_family(arg.fptr->fd), SOCK_DGRAM, -- addrinfo_hints); -+ arg.res = rsock_addrinfo(host, port, rsock_fd_family(arg.fptr->fd), SOCK_DGRAM, 0); - ret = rb_ensure(udp_connect_internal, (VALUE)&arg, - rsock_freeaddrinfo, (VALUE)arg.res); - if (!ret) rsock_sys_fail_host_port("connect(2)", host, port); diff --git a/ruby.spec b/ruby.spec index c51ac71..24b5557 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision 1ab91b12fa +%global revision a7ad9f3836 %global ruby_archive %{name}-%{ruby_version} @@ -29,15 +29,19 @@ # Bundled libraries versions %global rubygems_version 3.5.0.dev %global rubygems_molinillo_version 0.8.0 +%global rubygems_net_http_version 0.4.0 +%global rubygems_net_protocol_version 0.2.2 %global rubygems_optparse_version 0.3.0 +%global rubygems_resolv_version 0.2.2 +%global rubygems_timeout_version 0.4.1 %global rubygems_tsort_version 0.1.0 # Default gems. %global bundler_version 2.5.0.dev %global bundler_connection_pool_version 2.3.0 %global bundler_fileutils_version 1.7.0 -%global bundler_pub_grub_version 0.5.0 %global bundler_net_http_persistent_version 4.0.2 +%global bundler_pub_grub_version 0.5.0 %global bundler_thor_version 1.3.0 %global bundler_tsort_version 0.1.1 %global bundler_uri_version 0.12.2 @@ -55,15 +59,15 @@ %global english_version 0.8.0 %global erb_version 4.0.3 %global error_highlight_version 0.6.0 -%global etc_version 1.4.3.dev.1 +%global etc_version 1.4.3 %global fcntl_version 1.1.0 %global fiddle_version 1.1.2 %global fileutils_version 1.7.2 %global find_version 0.2.0 %global forwardable_version 1.3.3 %global getoptlong_version 0.2.1 -%global io_nonblock_version 0.2.0 -%global io_wait_version 0.3.0 +%global io_nonblock_version 0.3.0 +%global io_wait_version 0.3.1 %global ipaddr_version 1.2.5 %global logger_version 1.6.0 %global mutex_m_version 0.2.0 @@ -82,7 +86,7 @@ %global pstore_version 0.1.3 %global readline_version 0.0.3 %global reline_version 0.4.0 -%global resolv_version 0.2.2 +%global resolv_version 0.3.0 %global resolv_replace_version 0.1.1 %global rinda_version 0.2.0 %global ruby2_keywords_version 0.0.5 @@ -109,7 +113,7 @@ # Gemified default gems. %global bigdecimal_version 3.1.5 -%global io_console_version 0.6.1.dev.1 +%global io_console_version 0.7.0 %global irb_version 1.10.1 %global json_version 2.7.1 %global psych_version 5.1.1.1 @@ -123,7 +127,7 @@ %global rexml_version 3.2.6 %global rss_version 0.3.0 %global net_ftp_version 0.3.0 -%global net_imap_version 0.4.7 +%global net_imap_version 0.4.8 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 @@ -228,9 +232,6 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch -# Fix `UDPSocket#remote_address` spec errors, running without network connection. -# https://github.com/ruby/ruby/pull/9177 -Patch10: ruby-3.3.0-Partially-revert-Set-AI-ADDRCONFIG-when-making.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -330,8 +331,13 @@ This package includes the libruby, necessary to run Ruby. %package -n rubygems Summary: The Ruby standard for packaging ruby libraries Version: %{rubygems_version} -# BSD-2-Clause: lib/rubygems/tsort/ -# BSD-2-Clause OR Ruby: lib/rubygems/optparse/ +# BSD-2-Clause OR Ruby: +# lib/rubygems/net-http/ +# lib/rubygems/net-protocol/ +# lib/rubygems/optparse/ +# lib/rubygems/resolv/ +# lib/rubygems/timeout/ +# lib/rubygems/tsort/ # MIT: lib/rubygems/resolver/molinillo License: (Ruby OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Ruby) AND MIT Requires: ruby(release) @@ -343,8 +349,13 @@ Provides: gem = %{version}-%{release} Provides: ruby(rubygems) = %{version}-%{release} # https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} +Provides: bundled(rubygem-net-http) = %{rubygems_net_http_version} +Provides: bundled(rubygem-net-protocol) = %{rubygems_net_protocol_version} Provides: bundled(rubygem-optparse) = %{rubygems_optparse_version} +Provides: bundled(rubygem-resolv) = %{rubygems_resolv_version} +Provides: bundled(rubygem-timeout) = %{rubygems_timeout_version} Provides: bundled(rubygem-tsort) = %{rubygems_tsort_version} + BuildArch: noarch %description -n rubygems @@ -490,13 +501,23 @@ serialize and de-serialize most Ruby objects to and from the YAML format. %package -n rubygem-bundler Summary: Library and utilities to manage a Ruby application's gem dependencies Version: %{bundler_version} -License: MIT +# BSD-2-Clause OR Ruby: +# lib/bundler/vendor/fileutils +# lib/bundler/vendor/tsort +# lib/bundler/vendor/uri +# MIT: +# lib/bundler/vendor/connection_pool +# lib/bundler/vendor/net-http-persistent +# lib/bundler/vendor/pub_brub +# lib/bundler/vendor/thor +# lib/rubygems/resolver/molinillo +License: MIT AND (Ruby OR BSD-2-Clause) Requires: rubygem(io-console) # 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-pub_grub) = %{bundler_pub_grub_version} Provides: bundled(rubygem-net-http-persistent) = %{bundler_net_http_persistent_version} +Provides: bundled(rubygem-pub_grub) = %{bundler_pub_grub_version} Provides: bundled(rubygem-thor) = %{bundler_thor_version} Provides: bundled(rubygem-uri) = %{bundler_uri_version} BuildArch: noarch @@ -654,7 +675,6 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 9 -p1 -%patch 10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -875,6 +895,24 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ exit 1 if Gem::Resolver::Molinillo::VERSION != '%{rubygems_molinillo_version}'; \ \"" +# Net::HTTP. +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; module Net; end; end; \ + require 'rubygems/net-http/lib/net/http'; \ + puts '%%{rubygems_net_http_version}: %{rubygems_net_http_version}'; \ + puts %Q[Gem::Net::HTTP::VERSION: #{Gem::Net::HTTP::VERSION}]; \ + exit 1 if Gem::Net::HTTP::VERSION != '%{rubygems_net_http_version}'; \ +\"" + +# Net::Protocol. +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; module Net; end; end; \ + require 'rubygems/net-protocol/lib/net/protocol'; \ + puts '%%{rubygems_net_protocol_version}: %{rubygems_net_protocol_version}'; \ + puts %Q[Gem::Net::Protocol::VERSION: #{Gem::Net::Protocol::VERSION}]; \ + exit 1 if Gem::Net::Protocol::VERSION != '%{rubygems_net_protocol_version}'; \ +\"" + # OptParse. make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Gem; end; \ @@ -884,8 +922,29 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ exit 1 if Gem::OptionParser::Version != '%{rubygems_optparse_version}'; \ \"" +# Resolv. +# TODO: The version is not available in Resolv 2.2.0 yet: +# https://github.com/ruby/resolv/commit/6ab2385e89ba0462c5d7f12a88a6d8f372cdbc60 +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; end; \ + require 'rubygems/resolv/lib/resolv'; \ +# puts '%%{rubygems_resolv_version}: %{rubygems_resolv_version}'; \ +# puts %Q[Gem::Resolv::VERSION: #{Gem::Resolv::VERSION}]; \ +# exit 1 if Gem::Resolve::VERSION != '%{rubygems_resolv_version}'; \ +\"" + +# Timeout. +make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ + module Gem; end; \ + require 'rubygems/timeout/lib/timeout'; \ + puts '%%{rubygems_timeout_version}: %{rubygems_timeout_version}'; \ + puts %Q[Gem::Timeout::VERSION: #{Gem::Timeout::VERSION}]; \ + exit 1 if Gem::Timeout::VERSION != '%{rubygems_timeout_version}'; \ +\"" + # tsort -# TODO: Provide some real version test if version is available. +# TODO: Provide some real version test if version is available: +# https://github.com/ruby/tsort/commit/09f22759580d25aee3962e46966ebd908d618c80 make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Gem; end;\ require 'rubygems/tsort/lib/tsort'\"" @@ -924,12 +983,12 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ # 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; \ + module Gem; end; \ + module Bundler; end; \ require 'bundler/vendor/net-http-persistent/lib/net/http/persistent'; \ 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}'; \ + puts %Q[Gem::Net::HTTP::Persistent::VERSION: #{Gem::Net::HTTP::Persistent::VERSION}]; \ + exit 1 if Gem::Net::HTTP::Persistent::VERSION != '%{bundler_net_http_persistent_version}'; \ \"" # Thor. @@ -942,7 +1001,8 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ \"" # tsort -# TODO: Provide some real version test if version is available. +# TODO: Provide some real version test if version is available: +# https://github.com/ruby/tsort/commit/09f22759580d25aee3962e46966ebd908d618c80 #%%{global bundler_tsort_version} make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ @@ -1552,8 +1612,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Mon Dec 11 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (1ab91b12fa). +* Wed Dec 13 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (a7ad9f3836). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From b611f4d94f6c96d6477bda10c6cc4c5d55556aea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 13 Dec 2023 16:55:28 +0100 Subject: [PATCH 38/52] Drop obsolete comment --- ruby.spec | 3 --- 1 file changed, 3 deletions(-) diff --git a/ruby.spec b/ruby.spec index 24b5557..f6e63e7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -979,9 +979,6 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ \"" # Net::HTTP::Persistent. -# 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 Gem; end; \ module Bundler; end; \ From cde5c2f73919ac8ed1c53d3123d6c2cd1a990eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 14 Dec 2023 11:25:37 +0100 Subject: [PATCH 39/52] Upgrade to Ruby 3.3.0 (e51f9e9f75). --- ruby.spec | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ruby.spec b/ruby.spec index f6e63e7..49f1b68 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision a7ad9f3836 +%global revision e51f9e9f75 %global ruby_archive %{name}-%{ruby_version} @@ -126,7 +126,7 @@ %global test_unit_version 3.6.1 %global rexml_version 3.2.6 %global rss_version 0.3.0 -%global net_ftp_version 0.3.0 +%global net_ftp_version 0.3.2 %global net_imap_version 0.4.8 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 @@ -1609,8 +1609,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Wed Dec 13 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (a7ad9f3836). +* Thu Dec 14 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (e51f9e9f75). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 224fa7843d8645b5333aa64774eda65a5968a7fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 14 Dec 2023 13:56:51 +0100 Subject: [PATCH 40/52] Upgrade to Ruby 3.3.0 (e3631277c3). --- ruby-2.3.0-ruby_version.patch | 2 +- ruby.spec | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index a0043d1..d2b50af 100644 --- a/ruby-2.3.0-ruby_version.patch +++ b/ruby-2.3.0-ruby_version.patch @@ -214,7 +214,7 @@ index d4ff4a262c..3f9a5bf590 100644 File.join parts end -@@ -253,7 +254,7 @@ def self.vendor_dir # :nodoc: +@@ -265,7 +266,7 @@ def self.vendor_dir # :nodoc: return nil unless RbConfig::CONFIG.key? "vendordir" File.join RbConfig::CONFIG["vendordir"], "gems", diff --git a/ruby.spec b/ruby.spec index 49f1b68..17f50d9 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision e51f9e9f75 +%global revision e3631277c3 %global ruby_archive %{name}-%{ruby_version} @@ -1610,7 +1610,7 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog * Thu Dec 14 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (e51f9e9f75). +- Upgrade to Ruby 3.3.0 (e3631277c3). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 13308e05ece3178f686f4cd1ebee7f2ff41d8bc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 15 Dec 2023 16:13:29 +0100 Subject: [PATCH 41/52] Upgrade to Ruby 3.3.0 (04f7be6126). --- ruby.spec | 55 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/ruby.spec b/ruby.spec index 17f50d9..e8b11d1 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision e3631277c3 +%global revision 04f7be6126 %global ruby_archive %{name}-%{ruby_version} @@ -31,20 +31,20 @@ %global rubygems_molinillo_version 0.8.0 %global rubygems_net_http_version 0.4.0 %global rubygems_net_protocol_version 0.2.2 -%global rubygems_optparse_version 0.3.0 -%global rubygems_resolv_version 0.2.2 +%global rubygems_optparse_version 0.4.0 +%global rubygems_resolv_version 0.3.0 %global rubygems_timeout_version 0.4.1 -%global rubygems_tsort_version 0.1.0 +%global rubygems_tsort_version 0.2.0 # Default gems. %global bundler_version 2.5.0.dev -%global bundler_connection_pool_version 2.3.0 -%global bundler_fileutils_version 1.7.0 +%global bundler_connection_pool_version 2.4.1 +%global bundler_fileutils_version 1.7.2 %global bundler_net_http_persistent_version 4.0.2 %global bundler_pub_grub_version 0.5.0 %global bundler_thor_version 1.3.0 -%global bundler_tsort_version 0.1.1 -%global bundler_uri_version 0.12.2 +%global bundler_tsort_version 0.2.0 +%global bundler_uri_version 0.13.0 %global abbrev_version 0.1.1 %global base64_version 0.2.0 @@ -108,7 +108,7 @@ %global weakref_version 0.1.3 %global win32ole_version 1.8.10 %global yaml_version 0.3.0 -%global prism_version 0.18.0 +%global prism_version 0.19.0 %global zlib_version 3.1.0 # Gemified default gems. @@ -126,7 +126,7 @@ %global test_unit_version 3.6.1 %global rexml_version 3.2.6 %global rss_version 0.3.0 -%global net_ftp_version 0.3.2 +%global net_ftp_version 0.3.3 %global net_imap_version 0.4.8 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 @@ -923,14 +923,12 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ \"" # Resolv. -# TODO: The version is not available in Resolv 2.2.0 yet: -# https://github.com/ruby/resolv/commit/6ab2385e89ba0462c5d7f12a88a6d8f372cdbc60 make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Gem; end; \ require 'rubygems/resolv/lib/resolv'; \ -# puts '%%{rubygems_resolv_version}: %{rubygems_resolv_version}'; \ -# puts %Q[Gem::Resolv::VERSION: #{Gem::Resolv::VERSION}]; \ -# exit 1 if Gem::Resolve::VERSION != '%{rubygems_resolv_version}'; \ + puts '%%{rubygems_resolv_version}: %{rubygems_resolv_version}'; \ + puts %Q[Gem::Resolv::VERSION: #{Gem::Resolv::VERSION}]; \ + exit 1 if Gem::Resolv::VERSION != '%{rubygems_resolv_version}'; \ \"" # Timeout. @@ -942,12 +940,14 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ exit 1 if Gem::Timeout::VERSION != '%{rubygems_timeout_version}'; \ \"" -# tsort -# TODO: Provide some real version test if version is available: -# https://github.com/ruby/tsort/commit/09f22759580d25aee3962e46966ebd908d618c80 +# TSort make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ - module Gem; end;\ - require 'rubygems/tsort/lib/tsort'\"" + module Gem; end; \ + require 'rubygems/tsort/lib/tsort'; \ + puts '%%{rubygems_tsort_version}: %{rubygems_tsort_version}'; \ + puts %Q[Gem::TSort::VERSION: #{Gem::TSort::VERSION}]; \ + exit 1 if Gem::TSort::VERSION != '%{rubygems_tsort_version}'; \ +\"" # Check Bundler bundled dependencies versions. @@ -997,13 +997,14 @@ make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ exit 1 if Bundler::Thor::VERSION != '%{bundler_thor_version}'; \ \"" -# tsort -# TODO: Provide some real version test if version is available: -# https://github.com/ruby/tsort/commit/09f22759580d25aee3962e46966ebd908d618c80 -#%%{global bundler_tsort_version} +# TSort make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ module Bundler; end; \ - require 'bundler/vendor/tsort/lib/tsort' \"" + require 'bundler/vendor/tsort/lib/tsort'; \ + puts '%%{bundler_tsort_version}: %{bundler_tsort_version}'; \ + puts %Q[Bundler::TSort::VERSION: #{Bundler::TSort::VERSION}]; \ + exit 1 if Bundler::TSort::VERSION != '%{bundler_tsort_version}'; \ +\"" # URI. make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \ @@ -1609,8 +1610,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Thu Dec 14 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (e3631277c3). +* Fri Dec 15 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (04f7be6126). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From e0f4b48847b9986ef7622873445859facdab1224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 19 Dec 2023 18:05:27 +0100 Subject: [PATCH 42/52] Upgrade to Ruby 3.3.0 (8e6f63df47). --- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +-- ruby-2.3.0-ruby_version.patch | 6 ++-- ruby-2.7.0-Initialize-ABRT-hook.patch | 2 +- ...3.0-Disable-syntax-suggest-test-case.patch | 2 +- ruby.spec | 34 +++++++++---------- 7 files changed, 26 insertions(+), 26 deletions(-) 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 61ea88e..f224c4f 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 -@@ -4315,7 +4315,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4308,7 +4308,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 a693626..d65d47f 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 -@@ -4379,6 +4379,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4372,6 +4372,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 eb7d6aa..5862e3c 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 -@@ -4351,6 +4351,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4344,6 +4344,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='' -@@ -4375,6 +4379,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4368,6 +4372,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 d2b50af..83a2b81 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 -@@ -4265,9 +4265,6 @@ AS_CASE(["$target_os"], +@@ -4258,9 +4258,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], -@@ -4290,57 +4287,63 @@ AC_ARG_WITH(ridir, +@@ -4283,57 +4280,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4357,6 +4360,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4350,6 +4353,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 0bf1064..0f32243 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -58,7 +58,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1708,10 +1708,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1724,10 +1724,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index 5d19294..f3fa653 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1590,8 +1590,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1596,8 +1596,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby.spec b/ruby.spec index e8b11d1..4826434 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision 04f7be6126 +%global revision 8e6f63df47 %global ruby_archive %{name}-%{ruby_version} @@ -27,7 +27,7 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.5.0.dev +%global rubygems_version 3.5.1 %global rubygems_molinillo_version 0.8.0 %global rubygems_net_http_version 0.4.0 %global rubygems_net_protocol_version 0.2.2 @@ -37,7 +37,7 @@ %global rubygems_tsort_version 0.2.0 # Default gems. -%global bundler_version 2.5.0.dev +%global bundler_version 2.5.1 %global bundler_connection_pool_version 2.4.1 %global bundler_fileutils_version 1.7.2 %global bundler_net_http_persistent_version 4.0.2 @@ -46,7 +46,7 @@ %global bundler_tsort_version 0.2.0 %global bundler_uri_version 0.13.0 -%global abbrev_version 0.1.1 +%global abbrev_version 0.1.2 %global base64_version 0.2.0 %global benchmark_version 0.3.0 %global cgi_version 0.4.1 @@ -68,14 +68,14 @@ %global getoptlong_version 0.2.1 %global io_nonblock_version 0.3.0 %global io_wait_version 0.3.1 -%global ipaddr_version 1.2.5 +%global ipaddr_version 1.2.6 %global logger_version 1.6.0 %global mutex_m_version 0.2.0 %global net_http_version 0.4.0 %global net_protocol_version 0.2.2 %global nkf_version 0.1.3 %global observer_version 0.1.2 -%global open3_version 0.2.0 +%global open3_version 0.2.1 %global openssl_version 3.2.0 %global open_uri_version 0.4.1 %global optparse_version 0.4.0 @@ -84,20 +84,20 @@ %global pp_version 0.5.0 %global prettyprint_version 0.2.0 %global pstore_version 0.1.3 -%global readline_version 0.0.3 -%global reline_version 0.4.0 +%global readline_version 0.0.4 +%global reline_version 0.4.1 %global resolv_version 0.3.0 %global resolv_replace_version 0.1.1 %global rinda_version 0.2.0 %global ruby2_keywords_version 0.0.5 -%global securerandom_version 0.3.0 +%global securerandom_version 0.3.1 %global set_version 1.0.4 %global shellwords_version 0.2.0 %global singleton_version 0.2.0 -%global stringio_version 3.1.1 -%global strscan_version 3.0.8 +%global stringio_version 3.1.0 +%global strscan_version 3.0.7 %global syntax_suggest_version 2.0.0 -%global syslog_version 0.1.1 +%global syslog_version 0.1.2 %global tempfile_version 0.2.1 %global time_version 0.3.0 %global timeout_version 0.4.1 @@ -113,11 +113,11 @@ # Gemified default gems. %global bigdecimal_version 3.1.5 -%global io_console_version 0.7.0 +%global io_console_version 0.7.1 %global irb_version 1.10.1 %global json_version 2.7.1 -%global psych_version 5.1.1.1 -%global rdoc_version 6.6.1 +%global psych_version 5.1.2 +%global rdoc_version 6.6.2 # Bundled gems. %global minitest_version 5.20.0 @@ -1610,8 +1610,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Fri Dec 15 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (04f7be6126). +* Tue Dec 19 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (8e6f63df47). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From e4f3f1aecb6f6330168a810173a790e5c14f5e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Dec 2023 10:29:21 +0100 Subject: [PATCH 43/52] Upgrade to Ruby 3.3.0 (bcb4706dac). --- ruby-2.1.0-Enable-configuration-of-archlibdir.patch | 2 +- ...uplicated-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 ++-- ruby-2.3.0-ruby_version.patch | 6 +++--- ruby.spec | 12 ++++++------ 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index c4b9e87..826d5f5 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 -@@ -3469,6 +3469,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3470,6 +3470,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 f224c4f..fb9b618 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 -@@ -4308,7 +4308,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -4309,7 +4309,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 d65d47f..a64b812 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 -@@ -4372,6 +4372,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -4373,6 +4373,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 5862e3c..91e53a1 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 -@@ -4344,6 +4344,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -4345,6 +4345,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='' -@@ -4368,6 +4372,7 @@ AC_SUBST(sitearchdir)dnl +@@ -4369,6 +4373,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 83a2b81..c921c36 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 -@@ -4258,9 +4258,6 @@ AS_CASE(["$target_os"], +@@ -4259,9 +4259,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], -@@ -4283,57 +4280,63 @@ AC_ARG_WITH(ridir, +@@ -4284,57 +4281,63 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -122,7 +122,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -4350,6 +4353,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -4351,6 +4354,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby.spec b/ruby.spec index 4826434..44ea693 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision 8e6f63df47 +%global revision bcb4706dac %global ruby_archive %{name}-%{ruby_version} @@ -114,7 +114,7 @@ # Gemified default gems. %global bigdecimal_version 3.1.5 %global io_console_version 0.7.1 -%global irb_version 1.10.1 +%global irb_version 1.11.0 %global json_version 2.7.1 %global psych_version 5.1.2 %global rdoc_version 6.6.2 @@ -132,8 +132,8 @@ %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 %global prime_version 0.1.2 -%global rbs_version 3.3.2 -%global typeprof_version 0.21.8 +%global rbs_version 3.4.0 +%global typeprof_version 0.21.9 %global debug_version 1.9.0 %global racc_version 1.7.3 @@ -1610,8 +1610,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Tue Dec 19 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (8e6f63df47). +* Thu Dec 21 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (bcb4706dac). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 3a55e192267a5392b427b43e0220f7ecf642dcad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Dec 2023 10:34:05 +0100 Subject: [PATCH 44/52] Sort bundled gem version macros. --- ruby.spec | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/ruby.spec b/ruby.spec index 44ea693..cb88113 100644 --- a/ruby.spec +++ b/ruby.spec @@ -120,22 +120,22 @@ %global rdoc_version 6.6.2 # Bundled gems. -%global minitest_version 5.20.0 -%global power_assert_version 2.0.3 -%global rake_version 13.1.0 -%global test_unit_version 3.6.1 -%global rexml_version 3.2.6 -%global rss_version 0.3.0 +%global debug_version 1.9.0 %global net_ftp_version 0.3.3 %global net_imap_version 0.4.8 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 +%global minitest_version 5.20.0 +%global power_assert_version 2.0.3 %global prime_version 0.1.2 -%global rbs_version 3.4.0 -%global typeprof_version 0.21.9 -%global debug_version 1.9.0 %global racc_version 1.7.3 +%global rake_version 13.1.0 +%global rbs_version 3.4.0 +%global rexml_version 3.2.6 +%global rss_version 0.3.0 +%global test_unit_version 3.6.1 +%global typeprof_version 0.21.9 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* From 84e0e0b043acf1598e0afcb3ffd61de3377d895b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Dec 2023 12:44:30 +0100 Subject: [PATCH 45/52] Extract Racc into separate gem. We used to have Racc as an indepenent gem up until: https://src.fedoraproject.org/rpms/ruby/c/baf046a6a4d17fa309c9d20fa3db949f6c24aacf At that time, Racc was default gem and it was problematic. However, with Ruby 3.3, Racc is not moved to be default gem instead. This would not be reason for change on itself. But the issue this change is trying to address is a possible conflict of ruby-bundled-gems package with standalone rubygem-racc: ~~~ Error: Transaction test error: file /usr/lib64/gems/ruby/racc-1.7.3/racc/cparse.so from install of ruby-bundled-gems-3.3.0~20231219git8e6f63df47-184.fc40.x86_64 conflicts with file from package rubygem-racc-1.7.3-200.fc40.x86_64 file /usr/share/gems/specifications/racc-1.7.3.gemspec from install of ruby-bundled-gems-3.3.0~20231219git8e6f63df47-184.fc40.x86_64 conflicts with file from package rubygem-racc-1.7.3-200.fc40.x86_64 ~~~ There are different possible solutions discussed here: https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/thread/SS32RN2HU56LAOK2X6GRKU27FTJS6MA2/ Nevertheless, this seems to be the best solution for now. --- ruby.spec | 42 ++++++++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/ruby.spec b/ruby.spec index cb88113..6c493b7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -387,7 +387,6 @@ Summary: Default gems which are part of Ruby StdLib Supplements: ruby(rubygems) # Obsoleted by Ruby 2.7 in F32 timeframe. Obsoletes: rubygem-did_you_mean < 1.4.0-130 -Obsoletes: rubygem-racc < 1.4.16-130 # Obsoleted by Ruby 3.0 in F34 timeframe. Obsoletes: rubygem-openssl < 2.2.0-145 BuildArch: noarch @@ -541,7 +540,6 @@ Provides: bundled(rubygem-net-imap) = %{net_imap_version} Provides: bundled(rubygem-net-pop) = %{net_pop_version} Provides: bundled(rubygem-net-smtp) = %{net_smtp_version} Provides: bundled(rubygem-prime) = %{prime_version} -Provides: bundled(rubygem-racc) = %{racc_version} %description bundled-gems Bundled gems which are part of Ruby StdLib. While being part of Ruby, these @@ -617,6 +615,18 @@ programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby. +%package -n rubygem-racc +Version: %{racc_version} +Summary: Racc is a LALR(1) parser generator +License: Ruby OR BSD-2-Clause +URL: https://github.com/ruby/racc +Provides: bundled(rubygem-racc) = %{racc_version} + +%description -n rubygem-racc +Racc is a LALR(1) parser generator. +It is written in Ruby itself, and generates Ruby program. + + %package -n rubygem-rexml Summary: An XML toolkit for Ruby Version: %{rexml_version} @@ -1496,20 +1506,6 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_libdir prime} %{gem_spec prime} -# racc -%dir %{gem_instdir racc} -%{_bindir}/racc -%{gem_extdir_mri racc} -%license %{gem_instdir racc}/COPYING -%doc %{gem_instdir racc}/ChangeLog -%lang(ja) %doc %{gem_instdir racc}/README.ja.rdoc -%doc %{gem_instdir racc}/README.rdoc -%doc %{gem_instdir racc}/TODO -%{gem_instdir racc}/bin -%doc %{gem_instdir racc}/doc -%{gem_libdir racc} -%{gem_spec racc} - %files -n rubygem-minitest %dir %{gem_instdir minitest} %exclude %{gem_instdir minitest}/.* @@ -1576,6 +1572,20 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %{gem_instdir test-unit}/Rakefile %doc %{gem_instdir test-unit}/doc +%files -n rubygem-racc +%dir %{gem_instdir racc} +%{_bindir}/racc +%{gem_extdir_mri racc} +%license %{gem_instdir racc}/COPYING +%doc %{gem_instdir racc}/ChangeLog +%lang(ja) %doc %{gem_instdir racc}/README.ja.rdoc +%doc %{gem_instdir racc}/README.rdoc +%doc %{gem_instdir racc}/TODO +%{gem_instdir racc}/bin +%doc %{gem_instdir racc}/doc +%{gem_libdir racc} +%{gem_spec racc} + %files -n rubygem-rexml %dir %{gem_instdir rexml} %license %{gem_instdir rexml}/LICENSE.txt From b83dd88d265ab04d78f99bfc9cd43163c95aac52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Dec 2023 13:03:00 +0100 Subject: [PATCH 46/52] Add bundled provides on multiple places These libraries are released on their own release cycle and Ruby bundles them. It is not always obvious if Ruby is upstream or the independent project is upstream, but better to have more bundled provides to be sure we don't ship vulnerable code. --- ruby.spec | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ruby.spec b/ruby.spec index 6c493b7..6da0ff6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -347,6 +347,7 @@ Recommends: rubygem(io-console) Requires: rubygem(psych) >= %{psych_version} Provides: gem = %{version}-%{release} Provides: ruby(rubygems) = %{version}-%{release} +Provides: bundled(rubygems) = %{rubygems_version} # https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} Provides: bundled(rubygem-net-http) = %{rubygems_net_http_version} @@ -401,6 +402,7 @@ Summary: The Interactive Ruby Version: %{irb_version} License: Ruby OR BSD-2-Clause Provides: irb = %{version}-%{release} +Provides: bundled(rubygem-irb) = %{irb_version} # Obsoleted by Ruby 2.6 in F30 timeframe. Provides: ruby(irb) = %{ruby_version}%{?development_release}-%{release} Provides: ruby-irb = %{ruby_version}%{?development_release}-%{release} @@ -427,6 +429,7 @@ Requires: rubygem(io-console) Requires: rubygem(json) >= %{json_version} Provides: rdoc = %{version}-%{release} Provides: ri = %{version}-%{release} +Provides: bundled(rubygem-rdoc) = %{rdoc_version} BuildArch: noarch %description -n rubygem-rdoc @@ -448,6 +451,7 @@ This package contains documentation for %{name}. Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic Version: %{bigdecimal_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-bigdecimal) = %{bigdecimal_version} %description -n rubygem-bigdecimal Ruby provides built-in support for arbitrary precision integer arithmetic. @@ -466,6 +470,7 @@ conversion between base 10 and base 2. Summary: IO/Console is a simple console utilizing library Version: %{io_console_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-io-console) = %{io_console_version} %description -n rubygem-io-console IO/Console provides very simple and portable access to console. It doesn't @@ -477,6 +482,7 @@ Summary: This is a JSON implementation as a Ruby extension in C Version: %{json_version} # Unicode-DFS-2015: ext/json/ext/generator/generator.c License: (Ruby OR BSD-2-Clause) AND Unicode-DFS-2015 +Provides: bundled(rubygem-json) = %{json_version} %description -n rubygem-json This is a implementation of the JSON specification according to RFC 4627. @@ -489,6 +495,7 @@ markup language. Summary: A libyaml wrapper for Ruby Version: %{psych_version} License: MIT +Provides: bundled(rubygem-psych) = %{psych_version} %description -n rubygem-psych Psych is a YAML parser and emitter. Psych leverages @@ -512,6 +519,7 @@ Version: %{bundler_version} # lib/rubygems/resolver/molinillo License: MIT AND (Ruby OR BSD-2-Clause) Requires: rubygem(io-console) +Provides: bundled(rubygem-bundler) = %{bundler_version} # https://github.com/bundler/bundler/issues/3647 Provides: bundled(rubygem-connection_pool) = %{bundler_connection_pool_version} Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} @@ -550,6 +558,7 @@ needs to be listed in Gemfile to be used by Bundler. Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} License: MIT +Provides: bundled(rubygem-minitest) = %{minitest_version} BuildArch: noarch %description -n rubygem-minitest @@ -571,6 +580,7 @@ output. Summary: Power Assert for Ruby Version: %{power_assert_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-power_assert) = %{power_assert_version} BuildArch: noarch %description -n rubygem-power_assert @@ -584,6 +594,7 @@ Summary: Ruby based make-like utility Version: %{rake_version} License: MIT Provides: rake = %{version}-%{release} +Provides: bundled(rubygem-rake) = %{rake_version} BuildArch: noarch %description -n rubygem-rake @@ -595,6 +606,7 @@ specified in standard Ruby syntax. Summary: Type signature for Ruby Version: %{rbs_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-rbs) = %{rbs_version} %description -n rubygem-rbs RBS is the language for type signatures for Ruby and standard library @@ -606,6 +618,7 @@ 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. License: (Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR Python-2.0.1) +Provides: bundled(rubygem-test-unit) = %{test_unit_version} BuildArch: noarch %description -n rubygem-test-unit @@ -632,6 +645,7 @@ Summary: An XML toolkit for Ruby Version: %{rexml_version} License: BSD-2-Clause URL: https://github.com/ruby/rexml +Provides: bundled(rubygem-rexml) = %{rexml_version} BuildArch: noarch %description -n rubygem-rexml @@ -651,6 +665,7 @@ Summary: Family of libraries that support various formats of XML "feeds" Version: %{rss_version} License: BSD-2-Clause URL: https://github.com/ruby/rss +Provides: bundled(rubygem-rss) = %{rss_version} BuildArch: noarch %description -n rubygem-rss @@ -665,6 +680,7 @@ Summary: TypeProf is a type analysis tool for Ruby code based on abstract int Version: %{typeprof_version} License: MIT URL: https://github.com/ruby/typeprof +Provides: bundled(rubygem-typeprof) = %{typeprof_version} BuildArch: noarch %description -n rubygem-typeprof From 94f6066440db048111f2b47841a56b59c4a1abfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 22 Dec 2023 14:20:46 +0100 Subject: [PATCH 47/52] Upgrade to Ruby 3.3.0 (bcb4706dac). --- ...ocations-in-Hash-compare_by_identity.patch | 92 +++++++++++++++++++ ruby.spec | 16 ++-- 2 files changed, 102 insertions(+), 6 deletions(-) create mode 100644 ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch diff --git a/ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch b/ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch new file mode 100644 index 0000000..9baaf27 --- /dev/null +++ b/ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch @@ -0,0 +1,92 @@ +From 8944a064d0fd7947b8c2b6c761be3e3a0c9073af Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Fri, 22 Dec 2023 14:16:48 +0100 +Subject: [PATCH 1/2] Revert "compare_by_identity: remove alloc for non-empty + Hash" + +This reverts commit 11fa76b1b521072c200c78ea023960221ff426d6. +--- + hash.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/hash.c b/hash.c +index 78e9d9a2d6..f6525ba4a5 100644 +--- a/hash.c ++++ b/hash.c +@@ -4377,16 +4377,13 @@ rb_hash_compare_by_id(VALUE hash) + if (hash_iterating_p(hash)) { + rb_raise(rb_eRuntimeError, "compare_by_identity during iteration"); + } ++ ar_force_convert_table(hash, __FILE__, __LINE__); ++ HASH_ASSERT(RHASH_ST_TABLE_P(hash)); + + if (RHASH_TABLE_EMPTY_P(hash)) { + // Fast path: There's nothing to rehash, so we don't need a `tmp` table. +- // We're most likely an AR table, so this will need an allocation. +- ar_force_convert_table(hash, __FILE__, __LINE__); +- HASH_ASSERT(RHASH_ST_TABLE_P(hash)); +- + RHASH_ST_TABLE(hash)->type = &identhash; +- } +- else { ++ } else { + // Slow path: Need to rehash the members of `self` into a new + // `tmp` table using the new `identhash` compare/hash functions. + tmp = hash_alloc(0); +@@ -4394,10 +4391,8 @@ rb_hash_compare_by_id(VALUE hash) + identtable = RHASH_ST_TABLE(tmp); + + rb_hash_foreach(hash, rb_hash_rehash_i, (VALUE)tmp); +- rb_hash_free(hash); + +- // We know for sure `identtable` is an st table, +- // so we can skip `ar_force_convert_table` here. ++ rb_hash_free(hash); + RHASH_ST_TABLE_SET(hash, identtable); + RHASH_ST_CLEAR(tmp); + } + +From f5c415300ffe63e41e46c6b88b8634a3bad0c7c2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Fri, 22 Dec 2023 14:17:14 +0100 +Subject: [PATCH 2/2] Revert "compare_by_identity: remove alloc for empty Hash" + +This reverts commit b5c6c0122f5b010cb5f43e7a236c4ba2b1d56a2a. +--- + hash.c | 21 +++++++-------------- + 1 file changed, 7 insertions(+), 14 deletions(-) + +diff --git a/hash.c b/hash.c +index f6525ba4a5..cf83675c70 100644 +--- a/hash.c ++++ b/hash.c +@@ -4380,22 +4380,15 @@ rb_hash_compare_by_id(VALUE hash) + ar_force_convert_table(hash, __FILE__, __LINE__); + HASH_ASSERT(RHASH_ST_TABLE_P(hash)); + +- if (RHASH_TABLE_EMPTY_P(hash)) { +- // Fast path: There's nothing to rehash, so we don't need a `tmp` table. +- RHASH_ST_TABLE(hash)->type = &identhash; +- } else { +- // Slow path: Need to rehash the members of `self` into a new +- // `tmp` table using the new `identhash` compare/hash functions. +- tmp = hash_alloc(0); +- hash_st_table_init(tmp, &identhash, RHASH_SIZE(hash)); +- identtable = RHASH_ST_TABLE(tmp); ++ tmp = hash_alloc(0); ++ hash_st_table_init(tmp, &identhash, RHASH_SIZE(hash)); ++ identtable = RHASH_ST_TABLE(tmp); + +- rb_hash_foreach(hash, rb_hash_rehash_i, (VALUE)tmp); ++ rb_hash_foreach(hash, rb_hash_rehash_i, (VALUE)tmp); + +- rb_hash_free(hash); +- RHASH_ST_TABLE_SET(hash, identtable); +- RHASH_ST_CLEAR(tmp); +- } ++ rb_hash_free(hash); ++ RHASH_ST_TABLE_SET(hash, identtable); ++ RHASH_ST_CLEAR(tmp); + + return hash; + } diff --git a/ruby.spec b/ruby.spec index 6da0ff6..32beeb1 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision bcb4706dac +%global revision e8639098ed %global ruby_archive %{name}-%{ruby_version} @@ -27,7 +27,7 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.5.1 +%global rubygems_version 3.5.2 %global rubygems_molinillo_version 0.8.0 %global rubygems_net_http_version 0.4.0 %global rubygems_net_protocol_version 0.2.2 @@ -37,7 +37,7 @@ %global rubygems_tsort_version 0.2.0 # Default gems. -%global bundler_version 2.5.1 +%global bundler_version 2.5.2 %global bundler_connection_pool_version 2.4.1 %global bundler_fileutils_version 1.7.2 %global bundler_net_http_persistent_version 4.0.2 @@ -120,7 +120,7 @@ %global rdoc_version 6.6.2 # Bundled gems. -%global debug_version 1.9.0 +%global debug_version 1.9.1 %global net_ftp_version 0.3.3 %global net_imap_version 0.4.8 %global net_pop_version 0.1.2 @@ -232,6 +232,9 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # Disable syntax_suggest test suite, which tries to download its dependencies. # https://bugs.ruby-lang.org/issues/19297 Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch +# Revert patches causing segfaults in alexandria package. +# https://bugs.ruby-lang.org/issues/20079 +Patch10: ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -701,6 +704,7 @@ analysis result in RBS format, a standard type description format for Ruby %patch 4 -p1 %patch 6 -p1 %patch 9 -p1 +%patch 10 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -1636,8 +1640,8 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Thu Dec 21 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (bcb4706dac). +* Fri Dec 22 2023 Vít Ondruch - 3.3.0-184 +- Upgrade to Ruby 3.3.0 (e8639098ed). * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters From 99d21ecc4c57a7f42f48ae4a13f2ada110428505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 2 Jan 2024 12:38:40 +0100 Subject: [PATCH 48/52] Upgrade to Ruby 3.3.0. Resolves: rhbz#2255918 --- ...3.0-Disable-syntax-suggest-test-case.patch | 2 +- ...uby-net-http-Renew-test-certificates.patch | 256 ++++++++++++++++++ ruby.spec | 22 +- sources | 2 +- 4 files changed, 272 insertions(+), 10 deletions(-) create mode 100644 ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch diff --git a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch index f3fa653..1119a59 100644 --- a/ruby-3.3.0-Disable-syntax-suggest-test-case.patch +++ b/ruby-3.3.0-Disable-syntax-suggest-test-case.patch @@ -12,7 +12,7 @@ diff --git a/common.mk b/common.mk index d55d1788aa..73755f6ccd 100644 --- a/common.mk +++ b/common.mk -@@ -1596,8 +1596,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) +@@ -1601,8 +1601,6 @@ yes-test-syntax-suggest: $(PREPARE_SYNTAX_SUGGEST) $(ACTIONS_ENDGROUP) no-test-syntax-suggest: diff --git a/ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch b/ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch new file mode 100644 index 0000000..34a18e0 --- /dev/null +++ b/ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch @@ -0,0 +1,256 @@ +From d3933fc753187a055a4904af82f5f3794c88c416 Mon Sep 17 00:00:00 2001 +From: Sorah Fukumori +Date: Mon, 1 Jan 2024 20:45:54 +0900 +Subject: [PATCH] [ruby/net-http] Renew test certificates + +The private key is replaced with a public known test key published at +[RFC 9500]. + +Also lifetime has been extended to 10 years from 4 years. + +[RFC 9500]: https://www.rfc-editor.org/rfc/rfc9500.html + +https://github.com/ruby/net-http/commit/4ab6c4a500 +--- + test/net/fixtures/Makefile | 6 +-- + test/net/fixtures/cacert.pem | 44 ++++++++-------- + test/net/fixtures/server.crt | 99 +++++++----------------------------- + test/net/fixtures/server.key | 55 ++++++++++---------- + 4 files changed, 71 insertions(+), 133 deletions(-) + +diff --git a/test/net/fixtures/Makefile b/test/net/fixtures/Makefile +index b2bc9c7368ee2..88c232e3b6c16 100644 +--- a/test/net/fixtures/Makefile ++++ b/test/net/fixtures/Makefile +@@ -5,11 +5,11 @@ regen_certs: + make server.crt + + cacert.pem: server.key +- openssl req -new -x509 -days 1825 -key server.key -out cacert.pem -text -subj "/C=JP/ST=Shimane/L=Matz-e city/O=Ruby Core Team/CN=Ruby Test CA/emailAddress=security@ruby-lang.org" ++ openssl req -new -x509 -days 3650 -key server.key -out cacert.pem -subj "/C=JP/ST=Shimane/L=Matz-e city/O=Ruby Core Team/CN=Ruby Test CA/emailAddress=security@ruby-lang.org" + + server.csr: +- openssl req -new -key server.key -out server.csr -text -subj "/C=JP/ST=Shimane/O=Ruby Core Team/OU=Ruby Test/CN=localhost" ++ openssl req -new -key server.key -out server.csr -subj "/C=JP/ST=Shimane/O=Ruby Core Team/OU=Ruby Test/CN=localhost" + + server.crt: server.csr cacert.pem +- openssl x509 -days 1825 -CA cacert.pem -CAkey server.key -set_serial 00 -in server.csr -req -text -out server.crt ++ openssl x509 -days 3650 -CA cacert.pem -CAkey server.key -set_serial 00 -in server.csr -req -out server.crt + rm server.csr +diff --git a/test/net/fixtures/cacert.pem b/test/net/fixtures/cacert.pem +index f623bd62ed375..24c83f1c65225 100644 +--- a/test/net/fixtures/cacert.pem ++++ b/test/net/fixtures/cacert.pem +@@ -1,24 +1,24 @@ + -----BEGIN CERTIFICATE----- +-MIID7TCCAtWgAwIBAgIJAIltvxrFAuSnMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYD +-VQQGEwJKUDEQMA4GA1UECAwHU2hpbWFuZTEUMBIGA1UEBwwLTWF0ei1lIGNpdHkx +-FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRUwEwYDVQQDDAxSdWJ5IFRlc3QgQ0Ex +-JTAjBgkqhkiG9w0BCQEWFnNlY3VyaXR5QHJ1YnktbGFuZy5vcmcwHhcNMTkwMTAy +-MDI1ODI4WhcNMjQwMTAxMDI1ODI4WjCBjDELMAkGA1UEBhMCSlAxEDAOBgNVBAgM +-B1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQKDA5SdWJ5IENv +-cmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZIhvcNAQkBFhZz +-ZWN1cml0eUBydWJ5LWxhbmcub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +-CgKCAQEAznlbjRVhz1NlutHVrhcGnK8W0qug2ujKXv1njSC4U6nJF6py7I9EeehV +-SaKePyv+I9z3K1LnfUHOtUbdwdKC77yN66A6q2aqzu5q09/NSykcZGOIF0GuItYI +-3nvW3IqBddff2ffsyR+9pBjfb5AIPP08WowF9q4s1eGULwZc4w2B8PFhtxYANd7d +-BvGLXFlcufv9tDtzyRi4t7eqxCRJkZQIZNZ6DHHIJrNxejOILfHLarI12yk8VK6L +-2LG4WgGqyeePiRyd1o1MbuiAFYqAwpXNUbRKg5NaZGwBHZk8UZ+uFKt1QMBURO5R +-WFy1c349jbWszTqFyL4Lnbg9HhAowQIDAQABo1AwTjAdBgNVHQ4EFgQU9tEiKdU9 +-I9derQyc5nWPnc34nVMwHwYDVR0jBBgwFoAU9tEiKdU9I9derQyc5nWPnc34nVMw +-DAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAxj7F/u3C3fgq24N7hGRA +-of7ClFQxGmo/IGT0AISzW3HiVYiFaikKhbO1NwD9aBpD8Zwe62sCqMh8jGV/b0+q +-aOORnWYNy2R6r9FkASAglmdF6xn3bhgGD5ls4pCvcG9FynGnGc24g6MrjFNrBYUS +-2iIZsg36i0IJswo/Dy6HLphCms2BMCD3DeWtfjePUiTmQHJo6HsQIKP/u4N4Fvee +-uMBInei2M4VU74fLXbmKl1F9AEX7JDP3BKSZG19Ch5pnUo4uXM1uNTGsi07P4Y0s +-K44+SKBC0bYEFbDK0eQWMrX3kIhkPxyIWhxdq9/NqPYjShuSEAhA6CSpmRg0pqc+ +-mA== ++MIID+zCCAuOgAwIBAgIUGMvHl3EhtKPKcgc3NQSAYfFuC+8wDQYJKoZIhvcNAQEL ++BQAwgYwxCzAJBgNVBAYTAkpQMRAwDgYDVQQIDAdTaGltYW5lMRQwEgYDVQQHDAtN ++YXR6LWUgY2l0eTEXMBUGA1UECgwOUnVieSBDb3JlIFRlYW0xFTATBgNVBAMMDFJ1 ++YnkgVGVzdCBDQTElMCMGCSqGSIb3DQEJARYWc2VjdXJpdHlAcnVieS1sYW5nLm9y ++ZzAeFw0yNDAxMDExMTQ3MjNaFw0zMzEyMjkxMTQ3MjNaMIGMMQswCQYDVQQGEwJK ++UDEQMA4GA1UECAwHU2hpbWFuZTEUMBIGA1UEBwwLTWF0ei1lIGNpdHkxFzAVBgNV ++BAoMDlJ1YnkgQ29yZSBUZWFtMRUwEwYDVQQDDAxSdWJ5IFRlc3QgQ0ExJTAjBgkq ++hkiG9w0BCQEWFnNlY3VyaXR5QHJ1YnktbGFuZy5vcmcwggEiMA0GCSqGSIb3DQEB ++AQUAA4IBDwAwggEKAoIBAQCw+egZQ6eumJKq3hfKfED4dE/tL4FI5sjqont9ABVI +++1GSqyi1bFBgsRjM0THllIdMbKmJtWwnKW8J+5OgNN8y6Xxv8JmM/Y5vQt2lis0f ++qXmG8UTz0VTWdlAXXmhUs6lSADvAaIe4RVrCsZ97L3ZQTryY7JRVcbB4khUN3Gp0 ++yg+801SXzoFTTa+UGIRLE66jH51aa5VXu99hnv1OiH8tQrjdi8mH6uG/icq4XuIe ++NWMF32wHqIOOPvQcWV3M5D2vxJEj702Ku6k9OQXkAo17qRSEonWW4HtLbtmS8He1 ++JNPc/n3dVUm+fM6NoDXPoLP7j55G9zKyqGtGAWXAj1MTAgMBAAGjUzBRMB0GA1Ud ++DgQWBBSJGVleDvFp9cu9R+E0/OKYzGkwkTAfBgNVHSMEGDAWgBSJGVleDvFp9cu9 ++R+E0/OKYzGkwkTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBl ++8GLB8skAWlkSw/FwbUmEV3zyqu+p7PNP5YIYoZs0D74e7yVulGQ6PKMZH5hrZmHo ++orFSQU+VUUirG8nDGj7Rzce8WeWBxsaDGC8CE2dq6nC6LuUwtbdMnBrH0LRWAz48 ++jGFF3jHtVz8VsGfoZTZCjukWqNXvU6hETT9GsfU+PZqbqcTVRPH52+XgYayKdIbD ++r97RM4X3+aXBHcUW0b76eyyi65RR/Xtvn8ioZt2AdX7T2tZzJyXJN3Hupp77s6Ui ++AZR35SToHCZeTZD12YBvLBdaTPLZN7O/Q/aAO9ZiJaZ7SbFOjz813B2hxXab4Fob ++2uJX6eMWTVxYK5D4M9lm + -----END CERTIFICATE----- +diff --git a/test/net/fixtures/server.crt b/test/net/fixtures/server.crt +index 5ca78a6d146a0..5d2923795dabc 100644 +--- a/test/net/fixtures/server.crt ++++ b/test/net/fixtures/server.crt +@@ -1,82 +1,21 @@ +-Certificate: +- Data: +- Version: 3 (0x2) +- Serial Number: 2 (0x2) +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org +- Validity +- Not Before: Jan 2 03:27:13 2019 GMT +- Not After : Jan 1 03:27:13 2024 GMT +- Subject: C=JP, ST=Shimane, O=Ruby Core Team, OU=Ruby Test, CN=localhost +- Subject Public Key Info: +- Public Key Algorithm: rsaEncryption +- Public-Key: (2048 bit) +- Modulus: +- 00:e8:da:9c:01:2e:2b:10:ec:49:cd:5e:07:13:07: +- 9c:70:9e:c6:74:bc:13:c2:e1:6f:c6:82:fd:e3:48: +- e0:2c:a5:68:c7:9e:42:de:60:54:65:e6:6a:14:57: +- 7a:30:d0:cc:b5:b6:d9:c3:d2:df:c9:25:97:54:67: +- cf:f6:be:5e:cb:8b:ee:03:c5:e1:e2:f9:e7:f7:d1: +- 0c:47:f0:b8:da:33:5a:ad:41:ad:e7:b5:a2:7b:b7: +- bf:30:da:60:f8:e3:54:a2:bc:3a:fd:1b:74:d9:dc: +- 74:42:e9:29:be:df:ac:b4:4f:eb:32:f4:06:f1:e1: +- 8c:4b:a8:8b:fb:29:e7:b1:bf:1d:01:ee:73:0f:f9: +- 40:dc:d5:15:79:d9:c6:73:d0:c0:dd:cb:e4:da:19: +- 47:80:c6:14:04:72:fd:9a:7c:8f:11:82:76:49:04: +- 79:cc:f2:5c:31:22:95:13:3e:5d:40:a6:4d:e0:a3: +- 02:26:7d:52:3b:bb:ed:65:a1:0f:ed:6b:b0:3c:d4: +- de:61:15:5e:d3:dd:68:09:9f:4a:57:a5:c2:a9:6d: +- 86:92:c5:f4:a4:d4:b7:13:3b:52:63:24:05:e2:cc: +- e3:8a:3c:d4:35:34:2b:10:bb:58:72:e7:e1:8d:1d: +- 74:8c:61:16:20:3d:d0:1c:4e:8f:6e:fd:fe:64:10: +- 4f:41 +- Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Basic Constraints: +- CA:FALSE +- Netscape Comment: +- OpenSSL Generated Certificate +- X509v3 Subject Key Identifier: +- ED:28:C2:7E:AB:4B:C8:E8:FE:55:6D:66:95:31:1C:2D:60:F9:02:36 +- X509v3 Authority Key Identifier: +- keyid:F6:D1:22:29:D5:3D:23:D7:5E:AD:0C:9C:E6:75:8F:9D:CD:F8:9D:53 +- +- Signature Algorithm: sha256WithRSAEncryption +- 1d:b8:c5:8b:72:41:20:65:ad:27:6f:15:63:06:26:12:8d:9c: +- ad:ca:f4:db:97:b4:90:cb:ff:35:94:bb:2a:a7:a1:ab:1e:35: +- 2d:a5:3f:c9:24:b0:1a:58:89:75:3e:81:0a:2c:4f:98:f9:51: +- fb:c0:a3:09:d0:0a:9b:e7:a2:b7:c3:60:40:c8:f4:6d:b2:6a: +- 56:12:17:4c:00:24:31:df:9c:60:ae:b1:68:54:a9:e6:b5:4a: +- 04:e6:92:05:86:d9:5a:dc:96:30:a5:58:de:14:99:0f:e5:15: +- 89:3e:9b:eb:80:e3:bd:83:c3:ea:33:35:4b:3e:2f:d3:0d:64: +- 93:67:7f:8d:f5:3f:0c:27:bc:37:5a:cc:d6:47:16:af:5a:62: +- d2:da:51:f8:74:06:6b:24:ad:28:68:08:98:37:7d:ed:0e:ab: +- 1e:82:61:05:d0:ba:75:a0:ab:21:b0:9a:fd:2b:54:86:1d:0d: +- 1f:c2:d4:77:1f:72:26:5e:ad:8a:9f:09:36:6d:44:be:74:c2: +- 5a:3e:ff:5c:9d:75:d6:38:7b:c5:39:f9:44:6e:a1:d1:8e:ff: +- 63:db:c4:bb:c6:91:92:ca:5c:60:9b:1d:eb:0a:de:08:ee:bf: +- da:76:03:65:62:29:8b:f8:7f:c7:86:73:1e:f6:1f:2d:89:69: +- fd:be:bd:6e + -----BEGIN CERTIFICATE----- +-MIID4zCCAsugAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBjDELMAkGA1UEBhMCSlAx +-EDAOBgNVBAgMB1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQK +-DA5SdWJ5IENvcmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZI +-hvcNAQkBFhZzZWN1cml0eUBydWJ5LWxhbmcub3JnMB4XDTE5MDEwMjAzMjcxM1oX +-DTI0MDEwMTAzMjcxM1owYDELMAkGA1UEBhMCSlAxEDAOBgNVBAgMB1NoaW1hbmUx +-FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRIwEAYDVQQLDAlSdWJ5IFRlc3QxEjAQ +-BgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +-AOjanAEuKxDsSc1eBxMHnHCexnS8E8Lhb8aC/eNI4CylaMeeQt5gVGXmahRXejDQ +-zLW22cPS38kll1Rnz/a+XsuL7gPF4eL55/fRDEfwuNozWq1Bree1onu3vzDaYPjj +-VKK8Ov0bdNncdELpKb7frLRP6zL0BvHhjEuoi/sp57G/HQHucw/5QNzVFXnZxnPQ +-wN3L5NoZR4DGFARy/Zp8jxGCdkkEeczyXDEilRM+XUCmTeCjAiZ9Uju77WWhD+1r +-sDzU3mEVXtPdaAmfSlelwqlthpLF9KTUtxM7UmMkBeLM44o81DU0KxC7WHLn4Y0d +-dIxhFiA90BxOj279/mQQT0ECAwEAAaN7MHkwCQYDVR0TBAIwADAsBglghkgBhvhC +-AQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFO0o +-wn6rS8jo/lVtZpUxHC1g+QI2MB8GA1UdIwQYMBaAFPbRIinVPSPXXq0MnOZ1j53N +-+J1TMA0GCSqGSIb3DQEBCwUAA4IBAQAduMWLckEgZa0nbxVjBiYSjZytyvTbl7SQ +-y/81lLsqp6GrHjUtpT/JJLAaWIl1PoEKLE+Y+VH7wKMJ0Aqb56K3w2BAyPRtsmpW +-EhdMACQx35xgrrFoVKnmtUoE5pIFhtla3JYwpVjeFJkP5RWJPpvrgOO9g8PqMzVL +-Pi/TDWSTZ3+N9T8MJ7w3WszWRxavWmLS2lH4dAZrJK0oaAiYN33tDqsegmEF0Lp1 +-oKshsJr9K1SGHQ0fwtR3H3ImXq2Knwk2bUS+dMJaPv9cnXXWOHvFOflEbqHRjv9j +-28S7xpGSylxgmx3rCt4I7r/adgNlYimL+H/HhnMe9h8tiWn9vr1u ++MIIDYTCCAkkCAQAwDQYJKoZIhvcNAQELBQAwgYwxCzAJBgNVBAYTAkpQMRAwDgYD ++VQQIDAdTaGltYW5lMRQwEgYDVQQHDAtNYXR6LWUgY2l0eTEXMBUGA1UECgwOUnVi ++eSBDb3JlIFRlYW0xFTATBgNVBAMMDFJ1YnkgVGVzdCBDQTElMCMGCSqGSIb3DQEJ ++ARYWc2VjdXJpdHlAcnVieS1sYW5nLm9yZzAeFw0yNDAxMDExMTQ3MjNaFw0zMzEy ++MjkxMTQ3MjNaMGAxCzAJBgNVBAYTAkpQMRAwDgYDVQQIDAdTaGltYW5lMRcwFQYD ++VQQKDA5SdWJ5IENvcmUgVGVhbTESMBAGA1UECwwJUnVieSBUZXN0MRIwEAYDVQQD ++DAlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCw+egZ ++Q6eumJKq3hfKfED4dE/tL4FI5sjqont9ABVI+1GSqyi1bFBgsRjM0THllIdMbKmJ ++tWwnKW8J+5OgNN8y6Xxv8JmM/Y5vQt2lis0fqXmG8UTz0VTWdlAXXmhUs6lSADvA ++aIe4RVrCsZ97L3ZQTryY7JRVcbB4khUN3Gp0yg+801SXzoFTTa+UGIRLE66jH51a ++a5VXu99hnv1OiH8tQrjdi8mH6uG/icq4XuIeNWMF32wHqIOOPvQcWV3M5D2vxJEj ++702Ku6k9OQXkAo17qRSEonWW4HtLbtmS8He1JNPc/n3dVUm+fM6NoDXPoLP7j55G ++9zKyqGtGAWXAj1MTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBACtGNdj5TEtnJBYp ++M+LhBeU3oNteldfycEm993gJp6ghWZFg23oX8fVmyEeJr/3Ca9bAgDqg0t9a0npN ++oWKEY6wVKqcHgu3gSvThF5c9KhGbeDDmlTSVVNQmXWX0K2d4lS2cwZHH8mCm2mrY ++PDqlEkSc7k4qSiqigdS8i80Yk+lDXWsm8CjsiC93qaRM7DnS0WPQR0c16S95oM6G ++VklFKUSDAuFjw9aVWA/nahOucjn0w5fVW6lyIlkBslC1ChlaDgJmvhz+Ol3iMsE0 ++kAmFNu2KKPVrpMWaBID49QwQTDyhetNLaVVFM88iUdA9JDoVMEuP1mm39JqyzHTu ++uBrdP4Q= + -----END CERTIFICATE----- +diff --git a/test/net/fixtures/server.key b/test/net/fixtures/server.key +index 7f2380e71e637..6a83d5bcf4a52 100644 +--- a/test/net/fixtures/server.key ++++ b/test/net/fixtures/server.key +@@ -1,28 +1,27 @@ +------BEGIN PRIVATE KEY----- +-MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDo2pwBLisQ7EnN +-XgcTB5xwnsZ0vBPC4W/Ggv3jSOAspWjHnkLeYFRl5moUV3ow0My1ttnD0t/JJZdU +-Z8/2vl7Li+4DxeHi+ef30QxH8LjaM1qtQa3ntaJ7t78w2mD441SivDr9G3TZ3HRC +-6Sm+36y0T+sy9Abx4YxLqIv7Keexvx0B7nMP+UDc1RV52cZz0MDdy+TaGUeAxhQE +-cv2afI8RgnZJBHnM8lwxIpUTPl1Apk3gowImfVI7u+1loQ/ta7A81N5hFV7T3WgJ +-n0pXpcKpbYaSxfSk1LcTO1JjJAXizOOKPNQ1NCsQu1hy5+GNHXSMYRYgPdAcTo9u +-/f5kEE9BAgMBAAECggEBAOHkwhc7DLh8IhTDNSW26oMu5OP2WU1jmiYAigDmf+OQ +-DBgrZj+JQBci8qINQxL8XLukSZn5hvQCLc7Kbyu1/wyEEUFDxSGGwwzclodr9kho +-LX2LDASPZrOSzD2+fPi2wTKmXKuS6Uc44OjQfZkYMNkz9r4Vkm8xGgOD3VipjIYX +-QXlhhdqkXZcNABsihCV52GKkDFSVm8jv95YJc5xhoYCy/3a4/qPdF0aT2R7oYUej +-hKrxVDskyooe8Zg/JTydZNV5GQEDmW01/K3r6XGT26oPi1AqMU1gtv/jkW56CRQQ +-1got8smnqM+AV7Slf9R6DauIPdQJ2S8wsr/o8ISBsOECgYEA9YrqEP2gAYSGFXRt +-liw0WI2Ant8BqXS6yvq1jLo/qWhLw/ph4Di73OQ2mpycVTpgfGr2wFPQR1XJ+0Fd +-U+Ir/C3Q7FK4VIGHK7B0zNvZr5tEjlFfeRezo2JMVw5YWeSagIFcSwK+KqCTH9qc +-pw/Eb8nB/4XNcpTZu7Fg0Wc+ooUCgYEA8sVaicn1Wxkpb45a4qfrA6wOr5xdJ4cC +-A5qs7vjX2OdPIQOmoQhdI7bCWFXZzF33wA4YCws6j5wRaySLIJqdms8Gl9QnODy1 +-ZlA5gwKToBC/jqPmWAXSKb8EH7cHilaxU9OKnQ7CfwlGLHqjMtjrhR7KHlt3CVRs +-oRmvsjZVXI0CgYAmPedslAO6mMhFSSfULrhMXmV82OCqYrrA6EEkVNGbcdnzAOkD +-gfKIWabDd8bFY10po4Mguy0CHzNhBXIioWQWV5BlbhC1YKMLw+S9DzSdLAKGY9gJ +-xQ4+UQ3wtRQ/k+IYR413RUsW2oFvgZ3KSyNeAb9MK6uuv84VdG/OzVSs/QKBgQDn +-kap//l2EbObiWyaERunckdVcW0lcN+KK75J/TGwPoOwQsLvTpPe65kxRGGrtDsEQ +-uCDk/+v3KkZPLgdrrTAih9FhJ+PVN8tMcb+6IM4SA4fFFr/UPJEwct0LJ3oQ0grJ +-y+HPWFHb/Uurh7t99/4H98uR02sjQh1wOeEmm78mzQKBgQDm+LzGH0se6CXQ6cdZ +-g1JRZeXkDEsrW3hfAsW62xJQmXcWxBoblP9OamMY+A06rM5og3JbDk5Zm6JsOaA8 +-wS2gw4ilp46jors4eQey8ux7kB9LzdBoDBBElnsbjLO8oBNZlVcYXg+6BOl/CUi7 +-2whRF0FEjKA8ehrNhAq+VFfFNw== +------END PRIVATE KEY----- ++-----BEGIN RSA PRIVATE KEY----- ++MIIEowIBAAKCAQEAsPnoGUOnrpiSqt4XynxA+HRP7S+BSObI6qJ7fQAVSPtRkqso ++tWxQYLEYzNEx5ZSHTGypibVsJylvCfuToDTfMul8b/CZjP2Ob0LdpYrNH6l5hvFE ++89FU1nZQF15oVLOpUgA7wGiHuEVawrGfey92UE68mOyUVXGweJIVDdxqdMoPvNNU ++l86BU02vlBiESxOuox+dWmuVV7vfYZ79Toh/LUK43YvJh+rhv4nKuF7iHjVjBd9s ++B6iDjj70HFldzOQ9r8SRI+9NirupPTkF5AKNe6kUhKJ1luB7S27ZkvB3tSTT3P59 ++3VVJvnzOjaA1z6Cz+4+eRvcysqhrRgFlwI9TEwIDAQABAoIBAEEYiyDP29vCzx/+ ++dS3LqnI5BjUuJhXUnc6AWX/PCgVAO+8A+gZRgvct7PtZb0sM6P9ZcLrweomlGezI ++FrL0/6xQaa8bBr/ve/a8155OgcjFo6fZEw3Dz7ra5fbSiPmu4/b/kvrg+Br1l77J ++aun6uUAs1f5B9wW+vbR7tzbT/mxaUeDiBzKpe15GwcvbJtdIVMa2YErtRjc1/5B2 ++BGVXyvlJv0SIlcIEMsHgnAFOp1ZgQ08aDzvilLq8XVMOahAhP1O2A3X8hKdXPyrx ++IVWE9bS9ptTo+eF6eNl+d7htpKGEZHUxinoQpWEBTv+iOoHsVunkEJ3vjLP3lyI/ ++fY0NQ1ECgYEA3RBXAjgvIys2gfU3keImF8e/TprLge1I2vbWmV2j6rZCg5r/AS0u ++pii5CvJ5/T5vfJPNgPBy8B/yRDs+6PJO1GmnlhOkG9JAIPkv0RBZvR0PMBtbp6nT ++Y3yo1lwamBVBfY6rc0sLTzosZh2aGoLzrHNMQFMGaauORzBFpY5lU50CgYEAzPHl ++u5DI6Xgep1vr8QvCUuEesCOgJg8Yh1UqVoY/SmQh6MYAv1I9bLGwrb3WW/7kqIoD ++fj0aQV5buVZI2loMomtU9KY5SFIsPV+JuUpy7/+VE01ZQM5FdY8wiYCQiVZYju9X ++Wz5LxMNoz+gT7pwlLCsC4N+R8aoBk404aF1gum8CgYAJ7VTq7Zj4TFV7Soa/T1eE ++k9y8a+kdoYk3BASpCHJ29M5R2KEA7YV9wrBklHTz8VzSTFTbKHEQ5W5csAhoL5Fo ++qoHzFFi3Qx7MHESQb9qHyolHEMNx6QdsHUn7rlEnaTTyrXh3ifQtD6C0yTmFXUIS ++CW9wKApOrnyKJ9nI0HcuZQKBgQCMtoV6e9VGX4AEfpuHvAAnMYQFgeBiYTkBKltQ ++XwozhH63uMMomUmtSG87Sz1TmrXadjAhy8gsG6I0pWaN7QgBuFnzQ/HOkwTm+qKw ++AsrZt4zeXNwsH7QXHEJCFnCmqw9QzEoZTrNtHJHpNboBuVnYcoueZEJrP8OnUG3r ++UjmopwKBgAqB2KYYMUqAOvYcBnEfLDmyZv9BTVNHbR2lKkMYqv5LlvDaBxVfilE0 ++2riO4p6BaAdvzXjKeRrGNEKoHNBpOSfYCOM16NjL8hIZB1CaV3WbT5oY+jp7Mzd5 ++7d56RZOE+ERK2uz/7JX9VSsM/LbH9pJibd4e8mikDS9ntciqOH/3 ++-----END RSA PRIVATE KEY----- diff --git a/ruby.spec b/ruby.spec index 32beeb1..3307d6b 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision e8639098ed +#%%global revision 5124f9ac75 %global ruby_archive %{name}-%{ruby_version} @@ -27,7 +27,7 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.5.2 +%global rubygems_version 3.5.3 %global rubygems_molinillo_version 0.8.0 %global rubygems_net_http_version 0.4.0 %global rubygems_net_protocol_version 0.2.2 @@ -37,7 +37,7 @@ %global rubygems_tsort_version 0.2.0 # Default gems. -%global bundler_version 2.5.2 +%global bundler_version 2.5.3 %global bundler_connection_pool_version 2.4.1 %global bundler_fileutils_version 1.7.2 %global bundler_net_http_persistent_version 4.0.2 @@ -91,7 +91,7 @@ %global rinda_version 0.2.0 %global ruby2_keywords_version 0.0.5 %global securerandom_version 0.3.1 -%global set_version 1.0.4 +%global set_version 1.1.0 %global shellwords_version 0.2.0 %global singleton_version 0.2.0 %global stringio_version 3.1.0 @@ -122,7 +122,7 @@ # Bundled gems. %global debug_version 1.9.1 %global net_ftp_version 0.3.3 -%global net_imap_version 0.4.8 +%global net_imap_version 0.4.9 %global net_pop_version 0.1.2 %global net_smtp_version 0.4.0 %global matrix_version 0.4.2 @@ -167,7 +167,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version}%{?development_release} -Release: 184%{?dist} +Release: 1%{?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/*, ... @@ -235,6 +235,10 @@ Patch9: ruby-3.3.0-Disable-syntax-suggest-test-case.patch # Revert patches causing segfaults in alexandria package. # https://bugs.ruby-lang.org/issues/20079 Patch10: ruby-3.3.0-Revert-Optimize-allocations-in-Hash-compare_by_identity.patch +# Fix net-http test errors due to expired certificate +# https://github.com/ruby/ruby/commit/d3933fc753187a055a4904af82f5f3794c88c416 +# https://bugs.ruby-lang.org/issues/20106 +Patch11: ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} %{?with_rubypick:Suggests: rubypick} @@ -705,6 +709,7 @@ analysis result in RBS format, a standard type description format for Ruby %patch 6 -p1 %patch 9 -p1 %patch 10 -p1 +%patch 11 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -1640,8 +1645,9 @@ make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \ %changelog -* Fri Dec 22 2023 Vít Ondruch - 3.3.0-184 -- Upgrade to Ruby 3.3.0 (e8639098ed). +* Tue Jan 02 2024 Vít Ondruch - 3.3.0-1 +- Upgrade to Ruby 3.3.0. + Resolves: rhbz#2255918 * Thu Nov 09 2023 Jun Aruga - 3.2.2-183 - ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters diff --git a/sources b/sources index 709311a..10a3d0b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruby-3.2.2.tar.xz) = a29f24cd80f563f6368952d06d6273f7241a409fa9ab2f60e03dde2ac58ca06bee1750715b6134caebf4c061d3503446dc37a6059e19860bb0010eef34951935 +SHA512 (ruby-3.3.0.tar.xz) = 7959c5753bfa0bfc4d6d74060869aabbe9815c1c97930659da11b917ee0803ddbbd80e869e00c48b8694b4ba48709c3b6493fd045568e36e902616c35ababf01 From 11dbe63f71ed17845271d8711909ff5bd64440f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 2 Jan 2024 18:17:16 +0100 Subject: [PATCH 49/52] Ignore some rpmlint spelling errors. --- ruby.rpmlintrc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ruby.rpmlintrc b/ruby.rpmlintrc index 8a4dde6..7265bdf 100644 --- a/ruby.rpmlintrc +++ b/ruby.rpmlintrc @@ -50,3 +50,15 @@ addFilter(r'^rubygem-(bigdecimal|io-console|json|psych)\.\w+: W: no-documentatio # rubygems-devel ships only RPM macros and generators. Their placement is given # by RPM and can't be modified. addFilter(r'rubygems-devel.noarch: W: only-non-binary-in-usr-lib$') + +# Ignore some spelling false positives. +# Ignore spelling of technical terms +addFilter(r'^ruby-default-gems.noarch: E: spelling-error \(\'gemspec\'') +addFilter(r'^ruby-libs.x86_64: E: spelling-error \(\'libruby\'') +addFilter(r'^rubygem-test-unit.noarch: E: spelling-error \(\'xUnit\'') +addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'libyaml\'') +addFilter(r'^rubygem-io-console.x86_64: E: spelling-error \(\'readline\'') +# `pyaml` is part of URL +addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'pyyaml\'') +# `de-` is actually prefix +addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'de\'') From bdb8baf9a9b53373f9ca8a5de97cc9a199fb7d90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 2 Jan 2024 18:25:26 +0100 Subject: [PATCH 50/52] Remove obsolete rpmlint filters `shared-library-without-dependency` and `library-not-linked-against-libc` checs were removed: https://github.com/rpm-software-management/rpmlint/pull/970 --- ruby.rpmlintrc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/ruby.rpmlintrc b/ruby.rpmlintrc index 7265bdf..c15b8fb 100644 --- a/ruby.rpmlintrc +++ b/ruby.rpmlintrc @@ -31,13 +31,6 @@ addFilter(r'^ruby-libs\.\w+: W: crypto-policy-non-compliance-openssl /usr/lib(64 # https://bugs.ruby-lang.org/issues/17944 addFilter(r'^ruby-libs\.\w+: W: binary-or-shlib-calls-gethostbyname /usr/lib(64)?/ruby/socket.so$') -# Nothing referred and no dependency information should be no problem. -# https://bugs.ruby-lang.org/issues/16558#note-2 -addFilter(r'^ruby-libs\.\w+: E: shared-library-without-dependency-information /usr/lib(64)?/ruby/enc/gb2312.so$') - -# These are Ruby plugins, where Ruby always load glibc prior the library. -addFilter(r'^ruby-libs\.\w+: W: library-not-linked-against-libc /usr/lib(64)?/ruby/.*.so$') - # Rake ships some examples. addFilter(r'^rubygem-rake.noarch: W: devel-file-in-non-devel-package /usr/share/gems/gems/rake-[\d\.]+/doc/example/\w+.c$') From e9b34ece96f8e37ccb21bc6b6427d1823d4655e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 2 Jan 2024 18:31:48 +0100 Subject: [PATCH 51/52] Ignore missing racc and syntax_suggest manual pages --- ruby.rpmlintrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby.rpmlintrc b/ruby.rpmlintrc index c15b8fb..5553e26 100644 --- a/ruby.rpmlintrc +++ b/ruby.rpmlintrc @@ -35,7 +35,7 @@ addFilter(r'^ruby-libs\.\w+: W: binary-or-shlib-calls-gethostbyname /usr/lib(64) addFilter(r'^rubygem-rake.noarch: W: devel-file-in-non-devel-package /usr/share/gems/gems/rake-[\d\.]+/doc/example/\w+.c$') # Some executables don't have their manual pages. Is it worth of use help2man? -addFilter(r'^.+: W: no-manual-page-for-binary (bundler|gem|rbs|rdbg|rdoc|ruby-mri|typeprof)$') +addFilter(r'^.+: W: no-manual-page-for-binary (bundler|gem|racc|rbs|rdbg|rdoc|ruby-mri|syntax_suggest|typeprof)$') # Default gems does not come with any documentation. addFilter(r'^rubygem-(bigdecimal|io-console|json|psych)\.\w+: W: no-documentation$') From 659ab67d45f5eacd7448c59a10285d096043b707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 2 Jan 2024 18:35:55 +0100 Subject: [PATCH 52/52] Ignore that rubygems package install should be archful This is the way it is for several releases and we have yet to see any issue. But maybe introducing some `rubygems-filesystem` package is something to consider in the future. --- ruby.rpmlintrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ruby.rpmlintrc b/ruby.rpmlintrc index 5553e26..90e14d6 100644 --- a/ruby.rpmlintrc +++ b/ruby.rpmlintrc @@ -55,3 +55,7 @@ addFilter(r'^rubygem-io-console.x86_64: E: spelling-error \(\'readline\'') addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'pyyaml\'') # `de-` is actually prefix addFilter(r'^rubygem-psych.x86_64: E: spelling-error \(\'de\'') + +# It does not seemt to be worth of changing rubygems to archful package due to +# single directory, unless it causes some real troubles. +addFilter(r'^rubygems.noarch: E: noarch-with-lib64$')