diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index 9dc9cc4..f596602 100644 --- a/ruby-2.3.0-ruby_version.patch +++ b/ruby-2.3.0-ruby_version.patch @@ -237,7 +237,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index b25068405d..e9fef4a311 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb -@@ -1369,7 +1369,8 @@ def test_self_use_paths +@@ -1452,7 +1452,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, '.gem', Gem.ruby_engine] @@ -247,7 +247,7 @@ index b25068405d..e9fef4a311 100644 FileUtils.mkdir_p File.join(parts) -@@ -1447,7 +1448,7 @@ def test_self_vendor_dir +@@ -1530,7 +1531,7 @@ def test_self_vendor_dir vendordir(File.join(@tempdir, 'vendor')) do expected = File.join RbConfig::CONFIG['vendordir'], 'gems', diff --git a/ruby-3.0.0-Do-not-allocate-ractor-local-storage-in-dfree-function-during-GC.patch b/ruby-3.0.0-Do-not-allocate-ractor-local-storage-in-dfree-function-during-GC.patch deleted file mode 100644 index c63c7c3..0000000 --- a/ruby-3.0.0-Do-not-allocate-ractor-local-storage-in-dfree-function-during-GC.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 265c0022390e3dcd4ff692fc77d29b94e652c877 Mon Sep 17 00:00:00 2001 -From: Nobuyoshi Nakada -Date: Tue, 9 Feb 2021 01:00:00 +0900 -Subject: [PATCH] Do not allocate ractor-local storage in dfree function during - GC - ---- - random.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/random.c b/random.c -index c11cd803f2cb..83df6d1eb537 100644 ---- a/random.c -+++ b/random.c -@@ -257,7 +257,8 @@ const rb_data_type_t rb_random_data_type = { - static void - random_mt_free(void *ptr) - { -- if (ptr != default_rand()) -+ rb_random_mt_t *rnd = rb_ractor_local_storage_ptr(default_rand_key); -+ if (ptr != rnd) - xfree(ptr); - } - diff --git a/ruby-3.0.0-Dont-try-to-clear-cache-on-garbage-objects.patch b/ruby-3.0.0-Dont-try-to-clear-cache-on-garbage-objects.patch deleted file mode 100644 index f97b2d0..0000000 --- a/ruby-3.0.0-Dont-try-to-clear-cache-on-garbage-objects.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0b54279d63c4be355e0ce9cc0b81e3df75045791 Mon Sep 17 00:00:00 2001 -From: Aaron Patterson -Date: Fri, 15 Jan 2021 14:14:43 -0800 -Subject: [PATCH] Don't try to clear cache on garbage objects - -Method cache can be cleared during lazy sweeping. An object that will -be collected during lazy sweep *should not* have it's method cache -cleared. Soon-to-be-collected objects can be in an inconsistent state and -this can lead to a crash. This patch just leaves early if the object is -going to be collected. - -Fixes [Bug #17536] - -Co-Authored-By: John Hawthorn -Co-Authored-By: Alan Wu ---- - vm_method.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/vm_method.c b/vm_method.c -index 287d4aee6dea..81920bbe5bfb 100644 ---- a/vm_method.c -+++ b/vm_method.c -@@ -136,6 +136,7 @@ static void - clear_method_cache_by_id_in_class(VALUE klass, ID mid) - { - VM_ASSERT(RB_TYPE_P(klass, T_CLASS) || RB_TYPE_P(klass, T_ICLASS)); -+ if (rb_objspace_garbage_object_p(klass)) return; - - if (LIKELY(RCLASS_EXT(klass)->subclasses == NULL)) { - // no subclasses diff --git a/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch b/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch deleted file mode 100644 index 416f85e..0000000 --- a/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f690eb34e28b000627e5f0649dd81a04e252286f Mon Sep 17 00:00:00 2001 -From: Nobuyoshi Nakada -Date: Sat, 2 Jan 2021 12:11:52 +0900 -Subject: [PATCH] Fixed dangling imemo_tmpbuf - -The count of rb_alloc_tmp_buffer_with_count is the allocation size -counted in VALUE size but not in the requested element size. - -Co-authored-by: Yusuke Endoh -Co-authored-by: Koichi Sasada ---- - include/ruby/internal/memory.h | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/include/ruby/internal/memory.h b/include/ruby/internal/memory.h -index 974c21e19ce8..7d24df494512 100644 ---- a/include/ruby/internal/memory.h -+++ b/include/ruby/internal/memory.h -@@ -250,8 +250,9 @@ rbimpl_size_mul_or_raise(size_t x, size_t y) - static inline void * - rb_alloc_tmp_buffer2(volatile VALUE *store, long count, size_t elsize) - { -- return rb_alloc_tmp_buffer_with_count( -- store, rbimpl_size_mul_or_raise(count, elsize), count); -+ const size_t total_size = rbimpl_size_mul_or_raise(count, elsize); -+ const size_t cnt = (total_size + sizeof(VALUE) - 1) / sizeof(VALUE); -+ return rb_alloc_tmp_buffer_with_count(store, total_size, cnt); - } - - #ifndef __MINGW32__ diff --git a/ruby-3.0.0-va_list-args-in-rb_vrescue2-is-reused.patch b/ruby-3.0.0-va_list-args-in-rb_vrescue2-is-reused.patch deleted file mode 100644 index 996d528..0000000 --- a/ruby-3.0.0-va_list-args-in-rb_vrescue2-is-reused.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 85310ad82ede533681c4f8a423cc8f140e6adf76 Mon Sep 17 00:00:00 2001 -From: Nobuyoshi Nakada -Date: Tue, 9 Feb 2021 10:08:30 +0900 -Subject: [PATCH 1/2] Also `eclass` loop can raise in `rb_obj_is_kind_of` - ---- - eval.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/eval.c b/eval.c -index 56d7c2b81c93..2c9e375e2545 100644 ---- a/eval.c -+++ b/eval.c -@@ -1034,6 +1034,7 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1, - int handle = FALSE; - VALUE eclass; - -+ result = Qnil; - while ((eclass = va_arg(args, VALUE)) != 0) { - if (rb_obj_is_kind_of(ec->errinfo, eclass)) { - handle = TRUE; -@@ -1042,7 +1043,6 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1, - } - - if (handle) { -- result = Qnil; - state = 0; - if (r_proc) { - result = (*r_proc) (data2, ec->errinfo); - -From 601d38efa21dbed0084629d909752e52e3d6092d Mon Sep 17 00:00:00 2001 -From: Nobuyoshi Nakada -Date: Tue, 9 Feb 2021 00:42:12 +0900 -Subject: [PATCH 2/2] Copy va_list of exception classes - -The list is reused when an exception raised again after retrying -in the rescue procedure. ---- - eval.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/eval.c b/eval.c -index 2c9e375e2545..55d66b550854 100644 ---- a/eval.c -+++ b/eval.c -@@ -1033,14 +1033,18 @@ rb_vrescue2(VALUE (* b_proc) (VALUE), VALUE data1, - if (state == TAG_RAISE) { - int handle = FALSE; - VALUE eclass; -+ va_list ap; - - result = Qnil; -- while ((eclass = va_arg(args, VALUE)) != 0) { -+ /* reuses args when raised again after retrying in r_proc */ -+ va_copy(ap, args); -+ while ((eclass = va_arg(ap, VALUE)) != 0) { - if (rb_obj_is_kind_of(ec->errinfo, eclass)) { - handle = TRUE; - break; - } - } -+ va_end(ap); - - if (handle) { - state = 0; diff --git a/ruby.spec b/ruby.spec index b020727..1f5b66c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global major_version 3 %global minor_version 0 -%global teeny_version 0 +%global teeny_version 1 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} @@ -22,7 +22,7 @@ %endif -%global release 147 +%global release 148 %{!?release_string:%define release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} # The RubyGems library has to stay out of Ruby directory tree, since the @@ -30,24 +30,24 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.3 +%global rubygems_version 3.2.15 %global rubygems_molinillo_version 0.7.0 # Default gems. -%global bundler_version 2.2.3 +%global bundler_version 2.2.15 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.7.0 %global bundler_net_http_persistent_version 4.0.0 -%global bundler_thor_version 1.0.1 +%global bundler_thor_version 1.1.0 %global bundler_tmpdir_version 0.1.0 %global bundler_uri_version 0.10.0 %global bigdecimal_version 3.0.0 %global did_you_mean_version 1.5.0 %global erb_version 2.2.0 -%global io_console_version 0.5.6 -%global irb_version 1.3.0 +%global io_console_version 0.5.7 +%global irb_version 1.3.5 %global json_version 2.5.1 %global openssl_version 2.2.0 %global psych_version 3.3.0 @@ -58,11 +58,11 @@ %global minitest_version 5.14.2 %global power_assert_version 1.2.0 %global rake_version 13.0.3 -%global rbs_version 1.0.0 +%global rbs_version 1.0.4 %global test_unit_version 3.3.7 -%global rexml_version 3.2.4 +%global rexml_version 3.2.5 %global rss_version 0.2.9 -%global typeprof_version 0.11.0 +%global typeprof_version 0.12.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -146,22 +146,6 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # hardening features of glibc (rhbz#1361037). # https://bugs.ruby-lang.org/issues/12666 Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch -# Fix SEGFAULT preventing rubygem-unicode to build on armv7hl. -# https://bugs.ruby-lang.org/issues/17518 -Patch10: ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch -# Fix SEGFAULT in rubygem-shoulda-matchers test suite. -# https://bugs.ruby-lang.org/issues/17536 -# https://github.com/ruby/ruby/pull/4077 -Patch11: ruby-3.0.0-Dont-try-to-clear-cache-on-garbage-objects.patch -# Use proper path for plugin wrappers. -# https://github.com/rubygems/rubygems/pull/4317 -Patch12: rubygems-3.2.7-Generate-plugin-wrappers-with-relative-requires.patch -# Avoid ruby-spec to be stuck in "C-API Kernel function rb_rescue2". -# https://bugs.ruby-lang.org/issues/17338 -Patch13: ruby-3.0.0-va_list-args-in-rb_vrescue2-is-reused.patch -# Fix flaky excon test suite. -# https://bugs.ruby-lang.org/issues/17653 -Patch14: ruby-3.0.0-Do-not-allocate-ractor-local-storage-in-dfree-function-during-GC.patch # Fix DWARF5 support. # https://bugzilla.redhat.com/show_bug.cgi?id=1920533 # https://bugs.ruby-lang.org/issues/17585 @@ -613,11 +597,6 @@ rm -rf ext/fiddle/libffi* %patch5 -p1 %patch6 -p1 %patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 %patch15 -p1 %patch19 -p1 @@ -780,7 +759,11 @@ find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdep || echo "No gem binary extensions to move." # 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 +# 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 %if %{with systemtap} # Install a tapset and fix up the path to the library. @@ -1200,7 +1183,7 @@ MSPECOPTS="" %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.1.gemspec -%{gem_dir}/specifications/default/reline-0.2.0.gemspec +%{gem_dir}/specifications/default/reline-0.2.5.gemspec %{gem_dir}/specifications/default/resolv-0.2.0.gemspec %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec %{gem_dir}/specifications/default/rinda-0.1.0.gemspec @@ -1214,7 +1197,7 @@ MSPECOPTS="" %{gem_dir}/specifications/default/tempfile-0.1.1.gemspec %{gem_dir}/specifications/default/time-0.1.0.gemspec %{gem_dir}/specifications/default/timeout-0.1.1.gemspec -%{gem_dir}/specifications/default/tmpdir-0.1.1.gemspec +%{gem_dir}/specifications/default/tmpdir-0.1.2.gemspec %{gem_dir}/specifications/default/tsort-0.1.0.gemspec %{gem_dir}/specifications/default/tracer-0.1.1.gemspec %{gem_dir}/specifications/default/un-0.1.0.gemspec @@ -1334,14 +1317,12 @@ MSPECOPTS="" %files -n rubygem-rexml %dir %{gem_dir}/gems/rexml-%{rexml_version} -%exclude %{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}/Gemfile %doc %{gem_dir}/gems/rexml-%{rexml_version}/README.md -%doc %{gem_dir}/gems/rexml-%{rexml_version}/Rakefile %files -n rubygem-rss %dir %{gem_dir}/gems/rss-%{rss_version} @@ -1374,6 +1355,9 @@ MSPECOPTS="" %changelog +* Tue Apr 06 2021 Vít Ondruch - 3.0.1-148 +- Upgrade to Ruby 3.0.1. + * Thu Apr 01 2021 Vít Ondruch - 3.0.0-147 - Remove IRB dependency from rubygem-rdoc. diff --git a/rubygems-3.2.7-Generate-plugin-wrappers-with-relative-requires.patch b/rubygems-3.2.7-Generate-plugin-wrappers-with-relative-requires.patch deleted file mode 100644 index d58c987..0000000 --- a/rubygems-3.2.7-Generate-plugin-wrappers-with-relative-requires.patch +++ /dev/null @@ -1,47 +0,0 @@ -From db4157e9aa7b7f720ee06fb866b53ad11879c016 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?David=20Rodr=C3=ADguez?= -Date: Mon, 25 Jan 2021 15:40:26 +0100 -Subject: [PATCH] Generate plugin wrappers with relative requires - -It shouldn't change behaviour and it fixes broken wrappers generated -with `--build-root` flag is used. ---- - lib/rubygems/installer_uninstaller_utils.rb | 7 ++++++- - test/rubygems/test_gem_installer.rb | 2 ++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -diff --git a/lib/rubygems/installer_uninstaller_utils.rb b/lib/rubygems/installer_uninstaller_utils.rb -index e81ed4cba38..2c8b7c635e1 100644 ---- a/lib/rubygems/installer_uninstaller_utils.rb -+++ b/lib/rubygems/installer_uninstaller_utils.rb -@@ -6,11 +6,16 @@ - module Gem::InstallerUninstallerUtils - - def regenerate_plugins_for(spec, plugins_dir) -+ plugins = spec.plugins -+ return if plugins.empty? -+ -+ require 'pathname' -+ - spec.plugins.each do |plugin| - plugin_script_path = File.join plugins_dir, "#{spec.name}_plugin#{File.extname(plugin)}" - - File.open plugin_script_path, 'wb' do |file| -- file.puts "require '#{plugin}'" -+ file.puts "require_relative '#{Pathname.new(plugin).relative_path_from(Pathname.new(plugins_dir))}'" - end - - verbose plugin_script_path -diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb -index 4ce7e92442a..5652d863316 100644 ---- a/test/rubygems/test_gem_installer.rb -+++ b/test/rubygems/test_gem_installer.rb -@@ -821,6 +821,8 @@ def test_generate_plugins_with_build_root - - assert !File.exist?(system_path), 'plugin written incorrect written to system plugins_dir' - assert File.exist?(build_root_path), 'plugin not written to build_root' -+ -+ refute_includes File.read(build_root_path), build_root - end - - def test_keeps_plugins_up_to_date diff --git a/sources b/sources index 2b68f2e..bed9a6d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruby-3.0.0.tar.xz) = 2a23c2894e62e24bb20cec6b2a016b66d7df05083668726b6f70af8338211cfec417aa3624290d1f5ccd130f65ee7b52b5db7d428abc4a9460459c9a5dd1a450 +SHA512 (ruby-3.0.1.tar.xz) = 97d2e883656060846b304368d9d836e2f3ef39859c36171c9398a0573818e4ed75bfd7460f901a9553f7f53518c505327a66e74f83704a881469f5ac61fe13d7