Upgrade to Ruby 3.3.0 (3c11cdbcfe).

This commit is contained in:
Vít Ondruch 2023-09-21 09:40:36 +02:00
commit 7653e37fc1
8 changed files with 13 additions and 60 deletions

View file

@ -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}'

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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);

View file

@ -1,40 +0,0 @@
From 0ade5611df9f981005eed32b369d1e699e520221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
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) {

View file

@ -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 <vondruch@redhat.com> - 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 <jaruga@redhat.com> - 3.2.2-183
- ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters