Upgrade to Ruby 3.0.1.
This commit is contained in:
parent
fd8c8ee765
commit
9e656cf658
@ -237,7 +237,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb
|
|||||||
index b25068405d..e9fef4a311 100644
|
index b25068405d..e9fef4a311 100644
|
||||||
--- a/test/rubygems/test_gem.rb
|
--- a/test/rubygems/test_gem.rb
|
||||||
+++ b/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
|
def test_self_user_dir
|
||||||
parts = [@userhome, '.gem', Gem.ruby_engine]
|
parts = [@userhome, '.gem', Gem.ruby_engine]
|
||||||
@ -247,7 +247,7 @@ index b25068405d..e9fef4a311 100644
|
|||||||
|
|
||||||
FileUtils.mkdir_p File.join(parts)
|
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
|
vendordir(File.join(@tempdir, 'vendor')) do
|
||||||
expected =
|
expected =
|
||||||
File.join RbConfig::CONFIG['vendordir'], 'gems',
|
File.join RbConfig::CONFIG['vendordir'], 'gems',
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
From 265c0022390e3dcd4ff692fc77d29b94e652c877 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From 0b54279d63c4be355e0ce9cc0b81e3df75045791 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Aaron Patterson <tenderlove@ruby-lang.org>
|
|
||||||
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 <john@hawthorn.email>
|
|
||||||
Co-Authored-By: Alan Wu <XrXr@users.noreply.github.com>
|
|
||||||
---
|
|
||||||
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
|
|
@ -1,30 +0,0 @@
|
|||||||
From f690eb34e28b000627e5f0649dd81a04e252286f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
||||||
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 <mame@ruby-lang.org>
|
|
||||||
Co-authored-by: Koichi Sasada <ko1@atdot.net>
|
|
||||||
---
|
|
||||||
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__
|
|
@ -1,65 +0,0 @@
|
|||||||
From 85310ad82ede533681c4f8a423cc8f140e6adf76 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nobuyoshi Nakada <nobu@ruby-lang.org>
|
|
||||||
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 <nobu@ruby-lang.org>
|
|
||||||
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;
|
|
56
ruby.spec
56
ruby.spec
@ -1,6 +1,6 @@
|
|||||||
%global major_version 3
|
%global major_version 3
|
||||||
%global minor_version 0
|
%global minor_version 0
|
||||||
%global teeny_version 0
|
%global teeny_version 1
|
||||||
%global major_minor_version %{major_version}.%{minor_version}
|
%global major_minor_version %{major_version}.%{minor_version}
|
||||||
|
|
||||||
%global ruby_version %{major_minor_version}.%{teeny_version}
|
%global ruby_version %{major_minor_version}.%{teeny_version}
|
||||||
@ -22,7 +22,7 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%global release 147
|
%global release 148
|
||||||
%{!?release_string:%define release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
|
%{!?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
|
# The RubyGems library has to stay out of Ruby directory tree, since the
|
||||||
@ -30,24 +30,24 @@
|
|||||||
%global rubygems_dir %{_datadir}/rubygems
|
%global rubygems_dir %{_datadir}/rubygems
|
||||||
|
|
||||||
# Bundled libraries versions
|
# Bundled libraries versions
|
||||||
%global rubygems_version 3.2.3
|
%global rubygems_version 3.2.15
|
||||||
%global rubygems_molinillo_version 0.7.0
|
%global rubygems_molinillo_version 0.7.0
|
||||||
|
|
||||||
# Default gems.
|
# Default gems.
|
||||||
%global bundler_version 2.2.3
|
%global bundler_version 2.2.15
|
||||||
%global bundler_connection_pool_version 2.2.2
|
%global bundler_connection_pool_version 2.2.2
|
||||||
%global bundler_fileutils_version 1.4.1
|
%global bundler_fileutils_version 1.4.1
|
||||||
%global bundler_molinillo_version 0.7.0
|
%global bundler_molinillo_version 0.7.0
|
||||||
%global bundler_net_http_persistent_version 4.0.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_tmpdir_version 0.1.0
|
||||||
%global bundler_uri_version 0.10.0
|
%global bundler_uri_version 0.10.0
|
||||||
|
|
||||||
%global bigdecimal_version 3.0.0
|
%global bigdecimal_version 3.0.0
|
||||||
%global did_you_mean_version 1.5.0
|
%global did_you_mean_version 1.5.0
|
||||||
%global erb_version 2.2.0
|
%global erb_version 2.2.0
|
||||||
%global io_console_version 0.5.6
|
%global io_console_version 0.5.7
|
||||||
%global irb_version 1.3.0
|
%global irb_version 1.3.5
|
||||||
%global json_version 2.5.1
|
%global json_version 2.5.1
|
||||||
%global openssl_version 2.2.0
|
%global openssl_version 2.2.0
|
||||||
%global psych_version 3.3.0
|
%global psych_version 3.3.0
|
||||||
@ -58,11 +58,11 @@
|
|||||||
%global minitest_version 5.14.2
|
%global minitest_version 5.14.2
|
||||||
%global power_assert_version 1.2.0
|
%global power_assert_version 1.2.0
|
||||||
%global rake_version 13.0.3
|
%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 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 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//')*
|
%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).
|
# hardening features of glibc (rhbz#1361037).
|
||||||
# https://bugs.ruby-lang.org/issues/12666
|
# https://bugs.ruby-lang.org/issues/12666
|
||||||
Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch
|
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.
|
# Fix DWARF5 support.
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1920533
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1920533
|
||||||
# https://bugs.ruby-lang.org/issues/17585
|
# https://bugs.ruby-lang.org/issues/17585
|
||||||
@ -613,11 +597,6 @@ rm -rf ext/fiddle/libffi*
|
|||||||
%patch5 -p1
|
%patch5 -p1
|
||||||
%patch6 -p1
|
%patch6 -p1
|
||||||
%patch9 -p1
|
%patch9 -p1
|
||||||
%patch10 -p1
|
|
||||||
%patch11 -p1
|
|
||||||
%patch12 -p1
|
|
||||||
%patch13 -p1
|
|
||||||
%patch14 -p1
|
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
%patch19 -p1
|
%patch19 -p1
|
||||||
|
|
||||||
@ -780,7 +759,11 @@ find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdep
|
|||||||
|| echo "No gem binary extensions to move."
|
|| echo "No gem binary extensions to move."
|
||||||
|
|
||||||
# Move man pages into proper location
|
# 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_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}
|
%if %{with systemtap}
|
||||||
# Install a tapset and fix up the path to the library.
|
# 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/racc-%{racc_version}.gemspec
|
||||||
%{gem_dir}/specifications/default/readline-0.0.2.gemspec
|
%{gem_dir}/specifications/default/readline-0.0.2.gemspec
|
||||||
%{gem_dir}/specifications/default/readline-ext-0.1.1.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-0.2.0.gemspec
|
||||||
%{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec
|
%{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec
|
||||||
%{gem_dir}/specifications/default/rinda-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/tempfile-0.1.1.gemspec
|
||||||
%{gem_dir}/specifications/default/time-0.1.0.gemspec
|
%{gem_dir}/specifications/default/time-0.1.0.gemspec
|
||||||
%{gem_dir}/specifications/default/timeout-0.1.1.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/tsort-0.1.0.gemspec
|
||||||
%{gem_dir}/specifications/default/tracer-0.1.1.gemspec
|
%{gem_dir}/specifications/default/tracer-0.1.1.gemspec
|
||||||
%{gem_dir}/specifications/default/un-0.1.0.gemspec
|
%{gem_dir}/specifications/default/un-0.1.0.gemspec
|
||||||
@ -1334,14 +1317,12 @@ MSPECOPTS=""
|
|||||||
|
|
||||||
%files -n rubygem-rexml
|
%files -n rubygem-rexml
|
||||||
%dir %{gem_dir}/gems/rexml-%{rexml_version}
|
%dir %{gem_dir}/gems/rexml-%{rexml_version}
|
||||||
%exclude %{gem_dir}/gems/rexml-%{rexml_version}/.*
|
|
||||||
%license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt
|
%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}/NEWS.md
|
||||||
|
%doc %{gem_dir}/gems/rexml-%{rexml_version}/doc
|
||||||
%{gem_dir}/gems/rexml-%{rexml_version}/lib
|
%{gem_dir}/gems/rexml-%{rexml_version}/lib
|
||||||
%{gem_dir}/specifications/rexml-%{rexml_version}.gemspec
|
%{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}/README.md
|
||||||
%doc %{gem_dir}/gems/rexml-%{rexml_version}/Rakefile
|
|
||||||
|
|
||||||
%files -n rubygem-rss
|
%files -n rubygem-rss
|
||||||
%dir %{gem_dir}/gems/rss-%{rss_version}
|
%dir %{gem_dir}/gems/rss-%{rss_version}
|
||||||
@ -1374,6 +1355,9 @@ MSPECOPTS=""
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Apr 06 2021 Vít Ondruch <vondruch@redhat.com> - 3.0.1-148
|
||||||
|
- Upgrade to Ruby 3.0.1.
|
||||||
|
|
||||||
* Thu Apr 01 2021 Vít Ondruch <vondruch@redhat.com> - 3.0.0-147
|
* Thu Apr 01 2021 Vít Ondruch <vondruch@redhat.com> - 3.0.0-147
|
||||||
- Remove IRB dependency from rubygem-rdoc.
|
- Remove IRB dependency from rubygem-rdoc.
|
||||||
|
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
From db4157e9aa7b7f720ee06fb866b53ad11879c016 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?David=20Rodr=C3=ADguez?= <deivid.rodriguez@riseup.net>
|
|
||||||
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
|
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (ruby-3.0.0.tar.xz) = 2a23c2894e62e24bb20cec6b2a016b66d7df05083668726b6f70af8338211cfec417aa3624290d1f5ccd130f65ee7b52b5db7d428abc4a9460459c9a5dd1a450
|
SHA512 (ruby-3.0.1.tar.xz) = 97d2e883656060846b304368d9d836e2f3ef39859c36171c9398a0573818e4ed75bfd7460f901a9553f7f53518c505327a66e74f83704a881469f5ac61fe13d7
|
||||||
|
Loading…
Reference in New Issue
Block a user