From b1a7ccbd74b155da0c68d260f8b001b17f1bb242 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Feb 24 2020 15:15:27 +0000 Subject: [PATCH 1/43] Upgrade to Ruby 2.8.0 (af11efd377). Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 6352db3..387550d 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 -@@ -3102,6 +3102,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3125,6 +3125,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 d48f74e..62022bc 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 -@@ -3740,7 +3740,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3763,7 +3763,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 d156a73..51d1cbd 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 -@@ -3804,6 +3804,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3827,6 +3827,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 14e20ec..23010b0 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 -@@ -3776,6 +3776,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3799,6 +3799,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='' -@@ -3800,6 +3804,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3823,6 +3827,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl @@ -67,7 +67,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index b47b6e1..0b99408 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -338,6 +338,7 @@ def CONFIG.[](name, mandatory = false) +@@ -339,6 +339,7 @@ def CONFIG.[](name, mandatory = false) sitearchlibdir = CONFIG["sitearchdir"] vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] @@ -75,7 +75,7 @@ index b47b6e1..0b99408 100755 mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -@@ -565,7 +566,16 @@ def stub +@@ -566,7 +567,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir noinst = %w[*.txt *.rdoc *.gemspec] diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index 11f73f3..fa0dd03 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 -@@ -3691,9 +3691,6 @@ AS_CASE(["$target_os"], +@@ -3714,9 +3714,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], -@@ -3716,56 +3713,62 @@ AC_ARG_WITH(ridir, +@@ -3739,56 +3736,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3782,6 +3785,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3805,6 +3808,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -171,7 +171,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index d4c110e..d39c9a6 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -428,7 +428,7 @@ def CONFIG.[](name, mandatory = false) +@@ -429,7 +429,7 @@ def CONFIG.[](name, mandatory = false) install?(:doc, :rdoc) do if $rdocdir @@ -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 -@@ -1353,7 +1353,8 @@ def test_self_use_paths +@@ -1357,7 +1357,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 assert_equal File.join(parts), Gem.user_dir end -@@ -1429,7 +1430,7 @@ def test_self_vendor_dir +@@ -1433,7 +1434,7 @@ def test_self_vendor_dir vendordir(File.join(@tempdir, 'vendor')) do expected = File.join RbConfig::CONFIG['vendordir'], 'gems', diff --git a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch index 4d81a84..1a64601 100644 --- a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +++ b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch @@ -15,7 +15,7 @@ diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb index 1da3d93..65148a1 100644 --- a/test/fiddle/helper.rb +++ b/test/fiddle/helper.rb -@@ -6,111 +6,6 @@ +@@ -6,115 +6,6 @@ libc_so = libm_so = nil @@ -30,6 +30,10 @@ index 1da3d93..65148a1 100644 - end - libc_so = File.join(libdir, "libc.so") - libm_so = File.join(libdir, "libm.so") +-when /linux-musl/ +- Dir.glob('/lib/ld-musl-*.so.1') do |ld| +- libc_so = libm_so = ld +- end -when /linux/ - libdir = '/lib' - case RbConfig::SIZEOF['void*'] diff --git a/ruby-2.6.0-config-support-include-directive.patch b/ruby-2.6.0-config-support-include-directive.patch index 5b2024b..e709fbe 100644 --- a/ruby-2.6.0-config-support-include-directive.patch +++ b/ruby-2.6.0-config-support-include-directive.patch @@ -21,7 +21,7 @@ diff --git a/ext/openssl/lib/openssl/config.rb b/ext/openssl/lib/openssl/config. index 88225451..ba3a54c8 100644 --- a/ext/openssl/lib/openssl/config.rb +++ b/ext/openssl/lib/openssl/config.rb -@@ -77,29 +77,44 @@ def get_key_string(data, section, key) # :nodoc: +@@ -76,29 +76,44 @@ def get_key_string(data, section, key) # :nodoc: def parse_config_lines(io) section = 'default' data = {section => {}} @@ -78,7 +78,7 @@ index 88225451..ba3a54c8 100644 end end data -@@ -212,10 +227,10 @@ def clear_comments(line) +@@ -211,10 +226,10 @@ def clear_comments(line) scanned.join end @@ -92,7 +92,7 @@ index 88225451..ba3a54c8 100644 line += extra else break -@@ -225,9 +240,12 @@ def get_definition(io) +@@ -224,9 +239,12 @@ def get_definition(io) end end diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 58c92cf..81366e3 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -15,7 +15,7 @@ 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 ++++++++++++++ + abrt.c | 12 ++++++++++++ common.mk | 3 ++- ruby.c | 4 ++++ 3 files changed, 18 insertions(+), 1 deletion(-) @@ -57,7 +57,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1439,10 +1439,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1455,10 +1455,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-2.7.0-Remove-RubyGems-dependency.patch b/ruby-2.7.0-Remove-RubyGems-dependency.patch index 4205217..4166900 100644 --- a/ruby-2.7.0-Remove-RubyGems-dependency.patch +++ b/ruby-2.7.0-Remove-RubyGems-dependency.patch @@ -13,7 +13,7 @@ diff --git a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb b index a54be2a..06739f1 100644 --- a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +++ b/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb -@@ -202,10 +202,10 @@ class Bundler::Persistent::Net::HTTP::Persistent +@@ -197,10 +197,10 @@ class Bundler::Persistent::Net::HTTP::Persistent ## # The default connection pool size is 1/4 the allowed open files. diff --git a/ruby.spec b/ruby.spec index 343cefa..d725f8f 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,5 +1,5 @@ %global major_version 2 -%global minor_version 7 +%global minor_version 8 %global teeny_version 0 %global major_minor_version %{major_version}.%{minor_version} @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from SVN. -#%%global revision af11efd377 +%global revision 3e12b65861 %global ruby_archive %{name}-%{ruby_version} @@ -22,7 +22,7 @@ %endif -%global release 127 +%global release 1 %{!?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,10 +30,10 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.1.2 +%global rubygems_version 3.2.0.pre1 %global rubygems_molinillo_version 0.5.7 -%global bundler_version 2.1.2 +%global bundler_version 2.1.4 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.3.0 %global bundler_molinillo_version 0.6.6 @@ -42,19 +42,20 @@ %global bigdecimal_version 2.0.0 %global did_you_mean_version 1.4.0 -%global io_console_version 0.5.3 -%global irb_version 1.2.1 +%global io_console_version 0.5.6 +%global irb_version 1.2.3 %global json_version 2.3.0 %global minitest_version 5.13.0 %global net_telnet_version 0.2.0 -%global openssl_version 2.1.2 +%global openssl_version 2.2.0 %global power_assert_version 1.1.5 %global psych_version 3.1.0 %global racc_version 1.4.16 %global rake_version 13.0.1 %global rdoc_version 6.2.1 +%global rexml_version 3.2.3 +%global rss_version 0.2.8 %global test_unit_version 3.3.4 -%global xmlrpc_version 0.3.0 # Might not be needed in the future, if we are lucky enough. # https://bugzilla.redhat.com/show_bug.cgi?id=888262 @@ -212,12 +213,15 @@ Provides: bundled(ccan-check_type) Provides: bundled(ccan-container_of) Provides: bundled(ccan-list) -# Tcl/Tk support was removed from stdlib in Ruby 2.4, i.e. F27 timeframe -# so lets obsolete it. This is not the best place, but we don't have -# better, unless https://fedorahosted.org/fpc/ticket/645 provides some -# generic solution. +# Tcl/Tk support was removed from stdlib in Ruby 2.4, i.e. F27 timeframe. Obsoletes: ruby-tcltk < 2.4.0 +# The Net::Telnet and XMLRPC were removed in Ruby 2.8, i.e. F34 timeframe. +# https://bugs.ruby-lang.org/issues/16484 +# TODO: Update the versions prior landing in Fedora. +Obsoletes: rubygem-net-telnet < 0.2.0-%{release} +Obsoletes: rubygem-xmlrpc < 0.3.0-%{release} + %description libs This package includes the libruby, necessary to run Ruby. @@ -452,25 +456,6 @@ capabilities. In addition to wrapping libyaml, Psych also knows how to serialize and de-serialize most Ruby objects to and from the YAML format. -%package -n rubygem-net-telnet -Summary: Provides telnet client functionality -Version: %{net_telnet_version} -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(net-telnet) = %{version}-%{release} -BuildArch: noarch - -%description -n rubygem-net-telnet -Provides telnet client functionality. - -This class also has, through delegation, all the methods of a socket object -(by default, a TCPSocket, but can be set by the Proxy option to new()). This -provides methods such as close() to end the session and sysread() to read data -directly from the host, instead of via the waitfor() mechanism. Note that if -you do use sysread() directly when in telnet mode, you should probably pass -the output through preprocess() to extract telnet command sequences. - - %package -n rubygem-test-unit Summary: An xUnit family unit testing framework for Ruby Version: %{test_unit_version} @@ -490,20 +475,6 @@ programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby. -%package -n rubygem-xmlrpc -Summary: XMLRPC is a lightweight protocol that enables remote procedure calls over HTTP -Version: %{xmlrpc_version} -License: Ruby or BSD -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(xmlrpc) = %{version}-%{release} -BuildArch: noarch - -%description -n rubygem-xmlrpc -XMLRPC is a lightweight protocol that enables remote procedure calls over -HTTP. - - %package -n rubygem-bundler Summary: Library and utilities to manage a Ruby application's gem dependencies Version: %{bundler_version} @@ -538,6 +509,45 @@ 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} +License: BSD +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 +REXML was inspired by the Electric XML library for Java, which features an +easy-to-use API, small size, and speed. Hopefully, REXML, designed with the same +philosophy, has these same features. I've tried to keep the API as intuitive as +possible, and have followed the Ruby methodology for method naming and code +flow, rather than mirroring the Java API. + +REXML supports both tree and stream document parsing. Stream parsing is faster +(about 1.5 times as fast). However, with stream parsing, you don't get access to +features such as XPath. + + +%package -n rubygem-rss +Summary: Family of libraries that support various formats of XML "feeds" +Version: %{rss_version} +License: BSD +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 +Really Simple Syndication (RSS) is a family of formats that describe 'feeds', +specially constructed XML documents that allow an interested person to subscribe +and receive updates from a particular web service. This library provides tooling +to read and create these feeds. + + %prep %setup -q -n %{ruby_archive} @@ -722,14 +732,6 @@ ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir 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 -# These have wrong shebangs. Exclude them for now and let's see what upstream -# thinks about them. -# https://bugs.ruby-lang.org/issues/15982 -rm %{buildroot}%{_bindir}/{racc2y,y2racc} -rm %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/bin/{racc2y,y2racc} -# The 'rdoc' directory is empty and useless ATM. -# https://bugs.ruby-lang.org/issues/16596 -rm -r %{buildroot}%{ruby_libdir}/racc/rdoc mkdir -p %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib mkdir -p %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version} mv %{buildroot}%{ruby_libdir}/racc* %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib @@ -900,7 +902,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %license GPL %license LEGAL %doc README.md -%doc NEWS +%doc NEWS.md # Exclude /usr/local directory since it is supposed to be managed by # local system administrator. %exclude %{ruby_sitelibdir} @@ -935,16 +937,15 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libdir}/ostruct %{ruby_libdir}/pstore %{ruby_libdir}/reline -%{ruby_libdir}/rexml %{ruby_libdir}/rinda %{ruby_libdir}/ripper -%{ruby_libdir}/rss %{ruby_libdir}/singleton %{ruby_libdir}/syslog %{ruby_libdir}/timeout %{ruby_libdir}/tracer %{ruby_libdir}/unicode_normalize %{ruby_libdir}/uri +%{ruby_libdir}/weakref %{ruby_libdir}/webrick %{ruby_libdir}/yaml @@ -1076,6 +1077,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %exclude %{gem_dir}/cache/* # TODO: Gemify these libraries +%{gem_dir}/specifications/default/English-0.1.0.gemspec %{gem_dir}/specifications/default/benchmark-0.1.0.gemspec %{gem_dir}/specifications/default/cgi-0.1.0.gemspec %{gem_dir}/specifications/default/csv-3.1.2.gemspec @@ -1093,7 +1095,9 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/logger-1.4.2.gemspec %{gem_dir}/specifications/default/matrix-0.2.0.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec +%{gem_dir}/specifications/default/net-imap-0.1.0.gemspec %{gem_dir}/specifications/default/net-pop-0.1.0.gemspec +%{gem_dir}/specifications/default/net-protocol-0.1.0.gemspec %{gem_dir}/specifications/default/net-smtp-0.1.0.gemspec %{gem_dir}/specifications/default/observer-0.1.0.gemspec %{gem_dir}/specifications/default/open3-0.1.0.gemspec @@ -1102,16 +1106,17 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/pstore-0.1.0.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.0.gemspec -%{gem_dir}/specifications/default/reline-0.1.2.gemspec -%{gem_dir}/specifications/default/rexml-3.2.3.gemspec -%{gem_dir}/specifications/default/rss-0.2.8.gemspec +%{gem_dir}/specifications/default/reline-0.1.3.gemspec %{gem_dir}/specifications/default/sdbm-1.0.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec %{gem_dir}/specifications/default/stringio-0.1.0.gemspec %{gem_dir}/specifications/default/strscan-1.0.3.gemspec +%{gem_dir}/specifications/default/tempfile-0.1.0.gemspec %{gem_dir}/specifications/default/timeout-0.1.0.gemspec +%{gem_dir}/specifications/default/tmpdir-0.1.0.gemspec %{gem_dir}/specifications/default/tracer-0.1.0.gemspec %{gem_dir}/specifications/default/uri-0.10.0.gemspec +%{gem_dir}/specifications/default/weakref-0.1.0.gemspec %{gem_dir}/specifications/default/webrick-1.6.0.gemspec %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec @@ -1201,27 +1206,10 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/psych-%{psych_version} %{gem_dir}/specifications/psych-%{psych_version}.gemspec -%files -n rubygem-net-telnet -%{gem_dir}/gems/net-telnet-%{net_telnet_version} -%exclude %{gem_dir}/gems/net-telnet-%{net_telnet_version}/.* -%{gem_dir}/specifications/net-telnet-%{net_telnet_version}.gemspec - %files -n rubygem-test-unit %{gem_dir}/gems/test-unit-%{test_unit_version} %{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec -%files -n rubygem-xmlrpc -%license %{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/LICENSE.txt -%dir %{gem_dir}/gems/xmlrpc-%{xmlrpc_version} -%exclude %{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/.* -%{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/Gemfile -%{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/Rakefile -%doc %{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/README.md -%{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/bin -%{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/lib -%{gem_dir}/gems/xmlrpc-%{xmlrpc_version}/xmlrpc.gemspec -%{gem_dir}/specifications/xmlrpc-%{xmlrpc_version}.gemspec - %files -n rubygem-bundler %{_bindir}/bundle %{_bindir}/bundler @@ -1238,7 +1226,38 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/racc-%{racc_version} %{gem_dir}/specifications/racc-%{racc_version}.gemspec +%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 +%{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 +%doc %{gem_dir}/gems/rexml-%{rexml_version}/rexml.gemspec + +%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}/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}/rss.gemspec + + %changelog +* Mon Feb 24 2020 Vít Ondruch - 2.8.0-1 +- Upgrade to Ruby 2.8.0 (af11efd377). +- Extract RSS and REXML into separate subpackages, because they were moved from + default gems to bundled gems. +- Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. + * Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 - Provide StdLib links for Racc and install it by default. From 09794903d7caad52a26a484501364462ef7057d4 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Feb 24 2020 15:28:58 +0000 Subject: [PATCH 2/43] Remove forgotten %{net_telnet_version} macro. --- diff --git a/ruby.spec b/ruby.spec index d725f8f..2730ff7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -46,7 +46,6 @@ %global irb_version 1.2.3 %global json_version 2.3.0 %global minitest_version 5.13.0 -%global net_telnet_version 0.2.0 %global openssl_version 2.2.0 %global power_assert_version 1.1.5 %global psych_version 3.1.0 From e940ed5d70eb4ce657b9166a3f843f54cf35d61f Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Feb 25 2020 13:58:37 +0000 Subject: [PATCH 3/43] Use official `_systemtap` macros instead of custom ones. --- diff --git a/ruby.spec b/ruby.spec index 2730ff7..d142c72 100644 --- a/ruby.spec +++ b/ruby.spec @@ -56,10 +56,6 @@ %global rss_version 0.2.8 %global test_unit_version 3.3.4 -# Might not be needed in the future, if we are lucky enough. -# https://bugzilla.redhat.com/show_bug.cgi?id=888262 -%global tapset_root %{_datadir}/systemtap -%global tapset_dir %{tapset_root}/tapset %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* %global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/') @@ -758,11 +754,11 @@ mv %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/doc/rake.1 %{buildroot}%{_ma %if %{with systemtap} # Install a tapset and fix up the path to the library. -mkdir -p %{buildroot}%{tapset_dir} +mkdir -p %{buildroot}%{_systemtap_tapsetdir} sed -e "s|@LIBRARY_PATH@|%{tapset_libdir}/libruby.so.%{major_minor_version}|" \ - %{SOURCE2} > %{buildroot}%{tapset_dir}/libruby.so.%{major_minor_version}.stp + %{SOURCE2} > %{buildroot}%{_systemtap_tapsetdir}/libruby.so.%{major_minor_version}.stp # Escape '*/' in comment. -sed -i -r "s|( \*.*\*)\/(.*)|\1\\\/\2|" %{buildroot}%{tapset_dir}/libruby.so.%{major_minor_version}.stp +sed -i -r "s|( \*.*\*)\/(.*)|\1\\\/\2|" %{buildroot}%{_systemtap_tapsetdir}/libruby.so.%{major_minor_version}.stp %endif # Prepare -doc subpackage file lists. @@ -1052,7 +1048,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libarchdir}/syslog.so %{ruby_libarchdir}/zlib.so -%{?with_systemtap:%{tapset_root}} +%{?with_systemtap:%{_systemtap_datadir}} %files -n rubygems %{_bindir}/gem From 03cd41fefd695ccde7946030eebda85c6248a230 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Feb 28 2020 12:12:07 +0000 Subject: [PATCH 4/43] Upgrade to Ruby 2.8.0 (83705c42ce). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 387550d..329fb2c 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 -@@ -3125,6 +3125,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3130,6 +3130,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 62022bc..a137dd9 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 -@@ -3763,7 +3763,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3768,7 +3768,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 51d1cbd..053e66c 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 -@@ -3827,6 +3827,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3832,6 +3832,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 23010b0..b828bd9 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 -@@ -3799,6 +3799,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3804,6 +3804,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='' -@@ -3823,6 +3827,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3828,6 +3832,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 fa0dd03..782f86c 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 -@@ -3714,9 +3714,6 @@ AS_CASE(["$target_os"], +@@ -3719,9 +3719,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], -@@ -3739,56 +3736,62 @@ AC_ARG_WITH(ridir, +@@ -3744,56 +3741,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3805,6 +3808,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3810,6 +3813,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-2.8.0-Fix-wrong-RegExp.patch b/ruby-2.8.0-Fix-wrong-RegExp.patch new file mode 100644 index 0000000..cd57646 --- /dev/null +++ b/ruby-2.8.0-Fix-wrong-RegExp.patch @@ -0,0 +1,27 @@ +From 7e96ad15894dce6a1e0b06d5981580d4644c07d3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?V=C3=ADt=20Ondruch?= +Date: Thu, 27 Feb 2020 07:35:40 +0100 +Subject: [PATCH] Fix wrong RegExp. + +The missing `\` in PR #2922 causes the default gems to be installed from +the .gem packages instead from the expanded sources. +--- + tool/rbinstall.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb +index 9cd99243a6..b1914d795b 100755 +--- a/tool/rbinstall.rb ++++ b/tool/rbinstall.rb +@@ -894,7 +894,7 @@ def install_default_gem(dir, srcdir) + gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}" + extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir + File.foreach("#{srcdir}/gems/bundled_gems") do |name| +- next unless /^(\S+)\s+(S+).*/ =~ name ++ next unless /^(\S+)\s+(\S+).*/ =~ name + gem_name = "#$1-#$2" + path = "#{srcdir}/.bundle/gems/#{gem_name}/#$1.gemspec" + next unless File.exist?(path) +-- +2.25.0 + diff --git a/ruby.spec b/ruby.spec index d142c72..b371df5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from SVN. -%global revision 3e12b65861 +%global revision 83705c42ce %global ruby_archive %{name}-%{ruby_version} @@ -45,16 +45,16 @@ %global io_console_version 0.5.6 %global irb_version 1.2.3 %global json_version 2.3.0 -%global minitest_version 5.13.0 +%global minitest_version 5.14.0 %global openssl_version 2.2.0 -%global power_assert_version 1.1.5 +%global power_assert_version 1.1.6 %global psych_version 3.1.0 %global racc_version 1.4.16 %global rake_version 13.0.1 %global rdoc_version 6.2.1 -%global rexml_version 3.2.3 -%global rss_version 0.2.8 -%global test_unit_version 3.3.4 +%global rexml_version 3.2.4 +%global rss_version 0.2.9 +%global test_unit_version 3.3.5 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -139,6 +139,9 @@ Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # Revert commit which breaks bundled net-http-persistent version check. # https://github.com/drbrain/net-http-persistent/pull/109 Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch +# Correctly install bundled gems from expanded sources. +# https://bugs.ruby-lang.org/issues/16656 +Patch11: ruby-2.8.0-Fix-wrong-RegExp.patch # Add support for .include directive used by OpenSSL config files. # https://github.com/ruby/openssl/pull/216 @@ -559,6 +562,7 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %patch22 -p1 # Provide an example of usage of the tapset: @@ -845,11 +849,20 @@ touch abrt.rb make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" # Check if systemtap is supported. -%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} +# Disable temporary: +# https://bugs.ruby-lang.org/issues/16658 +#%%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} DISABLE_TESTS="" MSPECOPTS="" +# It seems that glibc-2.31.9000 comes with lchmod(2) implementation, disable +# the failing TestNotImplement#test_respond_to_lchmod test cse for now. +# https://bugs.ruby-lang.org/issues/16662 +DISABLE_TESTS="$DISABLE_TESTS -n !/test_respond_to_lchmod/" +MSPECOPTS="$MSPECOPTS -P 'File.lchmod returns false from \#respond_to?'" +MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError when called'" + # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} @@ -1090,6 +1103,8 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/logger-1.4.2.gemspec %{gem_dir}/specifications/default/matrix-0.2.0.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec +%{gem_dir}/specifications/default/net-ftp-0.1.0.gemspec +%{gem_dir}/specifications/default/net-http-0.1.0.gemspec %{gem_dir}/specifications/default/net-imap-0.1.0.gemspec %{gem_dir}/specifications/default/net-pop-0.1.0.gemspec %{gem_dir}/specifications/default/net-protocol-0.1.0.gemspec @@ -1244,11 +1259,12 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %doc %{gem_dir}/gems/rss-%{rss_version}/README.md %doc %{gem_dir}/gems/rss-%{rss_version}/Rakefile %doc %{gem_dir}/gems/rss-%{rss_version}/rss.gemspec +%doc %{gem_dir}/gems/rss-%{rss_version}/test %changelog * Mon Feb 24 2020 Vít Ondruch - 2.8.0-1 -- Upgrade to Ruby 2.8.0 (af11efd377). +- Upgrade to Ruby 2.8.0 (83705c42ce). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 1f1a445441f7eb138c985dc3fd31a186eeb341eb Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Feb 28 2020 15:19:20 +0000 Subject: [PATCH 5/43] Remove obsolete `%{_normalized_cpu}` macro. Last time it was used was eight years ago, removed in 91599c. --- diff --git a/ruby.spec b/ruby.spec index b371df5..68c0ac4 100644 --- a/ruby.spec +++ b/ruby.spec @@ -58,8 +58,6 @@ %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* -%global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/') - %if 0%{?fedora} >= 19 %bcond_without rubypick %endif From de82ddebfd143853d714c4902c0f1eadcdfe72db Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Mar 31 2020 13:33:08 +0000 Subject: [PATCH 6/43] Shuffle bits of .spec file around. Reorganize subpackages to keep default and bundled gems together. --- diff --git a/ruby.spec b/ruby.spec index 68c0ac4..39a0a64 100644 --- a/ruby.spec +++ b/ruby.spec @@ -33,6 +33,7 @@ %global rubygems_version 3.2.0.pre1 %global rubygems_molinillo_version 0.5.7 +# Default gems. %global bundler_version 2.1.4 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.3.0 @@ -45,16 +46,18 @@ %global io_console_version 0.5.6 %global irb_version 1.2.3 %global json_version 2.3.0 -%global minitest_version 5.14.0 %global openssl_version 2.2.0 -%global power_assert_version 1.1.6 %global psych_version 3.1.0 %global racc_version 1.4.16 -%global rake_version 13.0.1 %global rdoc_version 6.2.1 + +# Bundled gems. +%global minitest_version 5.14.0 +%global power_assert_version 1.1.6 +%global rake_version 13.0.1 +%global test_unit_version 3.3.5 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global test_unit_version 3.3.5 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -259,20 +262,10 @@ BuildArch: noarch Macros and development tools for packaging RubyGems. -%package -n rubygem-rake -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 -Rake is a Make-like program implemented in Ruby. Tasks and dependencies are -specified in standard Ruby syntax. - +# Default gems +# +# These packages are part of Ruby StdLib and are expected to be loadable even +# with disabled RubyGems. %package -n rubygem-irb Summary: The Interactive Ruby @@ -385,6 +378,73 @@ data to disk or transmit it over a network rather than use a verbose markup language. +%package -n rubygem-openssl +Summary: OpenSSL provides SSL, TLS and general purpose cryptography +Version: %{openssl_version} +License: Ruby or BSD +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(openssl) = %{version}-%{release} + +%description -n rubygem-openssl +OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the +OpenSSL library. + + +%package -n rubygem-psych +Summary: A libyaml wrapper for Ruby +Version: %{psych_version} +License: MIT +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(psych) = %{version}-%{release} + +%description -n rubygem-psych +Psych is a YAML parser and emitter. Psych leverages +libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting +capabilities. In addition to wrapping libyaml, Psych also knows how to +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 +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(connection_pool) = %{bundler_connection_pool_version} +Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} +Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version} +Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} +Provides: bundled(rubygem-thor) = %{bundler_thor_version} +BuildArch: noarch + +%description -n rubygem-bundler +Bundler manages an application's dependencies through its entire life, across +many machines, systematically and repeatably. + + +%package -n rubygem-racc +Summary: Racc is a LALR(1) parser generator +Version: %{racc_version} +License: MIT +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(racc) = %{version}-%{release} + +%description -n rubygem-racc +Racc is a LALR(1) parser generator. It is written in Ruby itself, and +generates Ruby program. + + +# Bundled gems +# +# These are regular packages, which might be installed just optionally. Users +# should list them among their dependencies (in Gemfile). + %package -n rubygem-minitest Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} @@ -409,19 +469,6 @@ minitest/pride shows pride in testing and adds coloring to your test output. -%package -n rubygem-openssl -Summary: OpenSSL provides SSL, TLS and general purpose cryptography -Version: %{openssl_version} -License: Ruby or BSD -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(openssl) = %{version}-%{release} - -%description -n rubygem-openssl -OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the -OpenSSL library. - - %package -n rubygem-power_assert Summary: Power Assert for Ruby Version: %{power_assert_version} @@ -437,19 +484,19 @@ It is useful for testing, providing which value wasn't correct when the condition is not satisfied. -%package -n rubygem-psych -Summary: A libyaml wrapper for Ruby -Version: %{psych_version} +%package -n rubygem-rake +Summary: Ruby based make-like utility +Version: %{rake_version} License: MIT Requires: ruby(release) Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(psych) = %{version}-%{release} +Provides: rake = %{version}-%{release} +Provides: rubygem(rake) = %{version}-%{release} +BuildArch: noarch -%description -n rubygem-psych -Psych is a YAML parser and emitter. Psych leverages -libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting -capabilities. In addition to wrapping libyaml, Psych also knows how to -serialize and de-serialize most Ruby objects to and from the YAML format. +%description -n rubygem-rake +Rake is a Make-like program implemented in Ruby. Tasks and dependencies are +specified in standard Ruby syntax. %package -n rubygem-test-unit @@ -471,40 +518,6 @@ programming software development methodology, for Smalltalk's SUnit. It allows writing tests, checking results and automated testing in Ruby. -%package -n rubygem-bundler -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(connection_pool) = %{bundler_connection_pool_version} -Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} -Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version} -Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} -Provides: bundled(rubygem-thor) = %{bundler_thor_version} -BuildArch: noarch - -%description -n rubygem-bundler -Bundler manages an application's dependencies through its entire life, across -many machines, systematically and repeatably. - - -%package -n rubygem-racc -Summary: Racc is a LALR(1) parser generator -Version: %{racc_version} -License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(racc) = %{version}-%{release} - -%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} @@ -1136,12 +1149,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{_rpmconfigdir}/rubygems.prov %{_rpmconfigdir}/rubygems.con -%files -n rubygem-rake -%{_bindir}/rake -%{gem_dir}/gems/rake-%{rake_version} -%{gem_dir}/specifications/rake-%{rake_version}.gemspec -%{_mandir}/man1/rake.1* - %files -n rubygem-irb %{_bindir}/irb %{ruby_libdir}/irb* @@ -1188,11 +1195,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/json-%{json_version} %{gem_dir}/specifications/json-%{json_version}.gemspec -%files -n rubygem-minitest -%{gem_dir}/gems/minitest-%{minitest_version} -%exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* -%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec - %files -n rubygem-openssl %{ruby_libdir}/openssl %{ruby_libdir}/openssl.rb @@ -1201,11 +1203,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/openssl-%{openssl_version} %{gem_dir}/specifications/openssl-%{openssl_version}.gemspec -%files -n rubygem-power_assert -%{gem_dir}/gems/power_assert-%{power_assert_version} -%exclude %{gem_dir}/gems/power_assert-%{power_assert_version}/.* -%{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec - %files -n rubygem-psych %{ruby_libdir}/psych %{ruby_libdir}/psych.rb @@ -1214,10 +1211,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/psych-%{psych_version} %{gem_dir}/specifications/psych-%{psych_version}.gemspec -%files -n rubygem-test-unit -%{gem_dir}/gems/test-unit-%{test_unit_version} -%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec - %files -n rubygem-bundler %{_bindir}/bundle %{_bindir}/bundler @@ -1234,6 +1227,26 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/racc-%{racc_version} %{gem_dir}/specifications/racc-%{racc_version}.gemspec +%files -n rubygem-minitest +%{gem_dir}/gems/minitest-%{minitest_version} +%exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* +%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec + +%files -n rubygem-power_assert +%{gem_dir}/gems/power_assert-%{power_assert_version} +%exclude %{gem_dir}/gems/power_assert-%{power_assert_version}/.* +%{gem_dir}/specifications/power_assert-%{power_assert_version}.gemspec + +%files -n rubygem-rake +%{_bindir}/rake +%{gem_dir}/gems/rake-%{rake_version} +%{gem_dir}/specifications/rake-%{rake_version}.gemspec +%{_mandir}/man1/rake.1* + +%files -n rubygem-test-unit +%{gem_dir}/gems/test-unit-%{test_unit_version} +%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec + %files -n rubygem-rexml %dir %{gem_dir}/gems/rexml-%{rexml_version} %exclude %{gem_dir}/gems/rexml-%{rexml_version}/.* From 2cb1f7b4f0aace31f7c9a6bc421b3a247a6f7a16 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Mar 31 2020 13:33:12 +0000 Subject: [PATCH 7/43] Properly own BigDecimal files. --- diff --git a/ruby.spec b/ruby.spec index 39a0a64..4aa6adf 100644 --- a/ruby.spec +++ b/ruby.spec @@ -933,6 +933,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" # Platform independent libraries. %dir %{ruby_libdir} %{ruby_libdir}/*.rb +%exclude %{ruby_libdir}/bigdecimal.rb %exclude %{ruby_libdir}/irb.rb %exclude %{ruby_libdir}/json.rb %exclude %{ruby_libdir}/openssl.rb @@ -1170,7 +1171,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{_datadir}/ri %files -n rubygem-bigdecimal -%{ruby_libdir}/bigdecimal +%{ruby_libdir}/bigdecimal* %{ruby_libarchdir}/bigdecimal* %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} %{gem_dir}/gems/bigdecimal-%{bigdecimal_version} From 33bcda5dc3b5d0da9ba0f67cc493461e7b00c685 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Mar 31 2020 13:33:12 +0000 Subject: [PATCH 8/43] Be more strict about StdLib content. --- diff --git a/ruby.spec b/ruby.spec index 4aa6adf..f7935c7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -932,42 +932,76 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" # List all these files explicitly to prevent surprises # Platform independent libraries. %dir %{ruby_libdir} -%{ruby_libdir}/*.rb -%exclude %{ruby_libdir}/bigdecimal.rb -%exclude %{ruby_libdir}/irb.rb -%exclude %{ruby_libdir}/json.rb -%exclude %{ruby_libdir}/openssl.rb -%exclude %{ruby_libdir}/psych.rb -%exclude %{ruby_libdir}/racc.rb -%{ruby_libdir}/benchmark -%{ruby_libdir}/cgi -%{ruby_libdir}/csv -%{ruby_libdir}/delegate -%{ruby_libdir}/digest -%{ruby_libdir}/drb -%{ruby_libdir}/fiddle -%{ruby_libdir}/forwardable -%{ruby_libdir}/getoptlong -%{ruby_libdir}/logger -%{ruby_libdir}/matrix +%exclude %{ruby_libdir}/bigdecimal* +%exclude %{ruby_libdir}/irb* +%exclude %{ruby_libdir}/json* +%exclude %{ruby_libdir}/openssl* +%exclude %{ruby_libdir}/psych* +%exclude %{ruby_libdir}/racc* +%{ruby_libdir}/abbrev.rb +%{ruby_libdir}/base64.rb +%{ruby_libdir}/benchmark* +%{ruby_libdir}/cgi* +%{ruby_libdir}/coverage.rb +%{ruby_libdir}/csv* +%{ruby_libdir}/date.rb +%{ruby_libdir}/debug.rb +%{ruby_libdir}/delegate* +%{ruby_libdir}/digest* +%{ruby_libdir}/drb* +%{ruby_libdir}/English.rb +%{ruby_libdir}/erb.rb +%{ruby_libdir}/expect.rb +%{ruby_libdir}/fiddle* +%{ruby_libdir}/fileutils.rb +%{ruby_libdir}/find.rb +%{ruby_libdir}/forwardable* +%{ruby_libdir}/getoptlong* +%{ruby_libdir}/io +%{ruby_libdir}/ipaddr.rb +%{ruby_libdir}/kconv.rb +%{ruby_libdir}/logger* +%{ruby_libdir}/matrix* +%{ruby_libdir}/mkmf.rb +%{ruby_libdir}/monitor.rb +%{ruby_libdir}/mutex_m.rb %{ruby_libdir}/net -%{ruby_libdir}/observer -%{ruby_libdir}/open3 -%{ruby_libdir}/optparse -%{ruby_libdir}/ostruct -%{ruby_libdir}/pstore -%{ruby_libdir}/reline +%{ruby_libdir}/observer* +%{ruby_libdir}/open-uri.rb +%{ruby_libdir}/open3* +%{ruby_libdir}/optionparser.rb +%{ruby_libdir}/optparse* +%{ruby_libdir}/ostruct* +%{ruby_libdir}/pathname.rb +%{ruby_libdir}/pp.rb +%{ruby_libdir}/prettyprint.rb +%{ruby_libdir}/prime.rb +%{ruby_libdir}/pstore* +%{ruby_libdir}/readline.rb +%{ruby_libdir}/reline* +%{ruby_libdir}/resolv.rb +%{ruby_libdir}/resolv-replace.rb %{ruby_libdir}/rinda -%{ruby_libdir}/ripper -%{ruby_libdir}/singleton +%{ruby_libdir}/ripper* +%{ruby_libdir}/rss.rb +%{ruby_libdir}/securerandom.rb +%{ruby_libdir}/set.rb +%{ruby_libdir}/shellwords.rb +%{ruby_libdir}/singleton* +%{ruby_libdir}/socket.rb %{ruby_libdir}/syslog -%{ruby_libdir}/timeout -%{ruby_libdir}/tracer +%{ruby_libdir}/tempfile.rb +%{ruby_libdir}/timeout* +%{ruby_libdir}/time.rb +%{ruby_libdir}/tmpdir.rb +%{ruby_libdir}/tracer* +%{ruby_libdir}/tsort.rb %{ruby_libdir}/unicode_normalize -%{ruby_libdir}/uri -%{ruby_libdir}/weakref -%{ruby_libdir}/webrick -%{ruby_libdir}/yaml +%{ruby_libdir}/un.rb +%{ruby_libdir}/uri* +%{ruby_libdir}/weakref* +%{ruby_libdir}/webrick* +%{ruby_libdir}/yaml* # Platform specific libraries. %{_libdir}/libruby.so.* From 9c0a1cb6505e30f73de274ed29fb93a700382553 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Mar 31 2020 13:33:12 +0000 Subject: [PATCH 9/43] Add ruby-default-gems subpackage shipping all extra default gem content. --- diff --git a/ruby.spec b/ruby.spec index f7935c7..88d1016 100644 --- a/ruby.spec +++ b/ruby.spec @@ -267,6 +267,17 @@ Macros and development tools for packaging RubyGems. # These packages are part of Ruby StdLib and are expected to be loadable even # with disabled RubyGems. +%package default-gems +Summary: Default gems which are part of Ruby StdLib. +Requires: ruby(rubygems) >= %{rubygems_version} +Supplements: ruby(rubygems) +BuildArch: noarch + +%description default-gems +The .gemspec files and executables of default gems, which are part of Ruby +StdLib. + + %package -n rubygem-irb Summary: The Interactive Ruby Version: %{irb_version} @@ -1130,7 +1141,14 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %exclude %{gem_dir}/cache/* -# TODO: Gemify these libraries +%files -n rubygems-devel +%{_rpmconfigdir}/macros.d/macros.rubygems +%{_rpmconfigdir}/fileattrs/rubygems.attr +%{_rpmconfigdir}/rubygems.req +%{_rpmconfigdir}/rubygems.prov +%{_rpmconfigdir}/rubygems.con + +%files default-gems %{gem_dir}/specifications/default/English-0.1.0.gemspec %{gem_dir}/specifications/default/benchmark-0.1.0.gemspec %{gem_dir}/specifications/default/cgi-0.1.0.gemspec @@ -1177,12 +1195,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec -%files -n rubygems-devel -%{_rpmconfigdir}/macros.d/macros.rubygems -%{_rpmconfigdir}/fileattrs/rubygems.attr -%{_rpmconfigdir}/rubygems.req -%{_rpmconfigdir}/rubygems.prov -%{_rpmconfigdir}/rubygems.con %files -n rubygem-irb %{_bindir}/irb @@ -1314,6 +1326,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. +- Add ruby-default-gems subpackage shipping all extra default gem content. * Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 - Provide StdLib links for Racc and install it by default. From cdc6dd71a2659ae26f2be75349f5baad9ac63a65 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Apr 16 2020 08:47:44 +0000 Subject: [PATCH 10/43] Bundle Racc into StdLib. It is increasingly hard to maintain default gems extracted from StdLib into gems. If they are overlapped by independent versions, it is even harder, because the overlapped versions would need to provide symlinks back to StdLib \[[1]\]. On top of that, the layout differs from upstream, where default gems are always available. Because these small nuances can make hard discoverable race conditions during Ruby application loading and runtime, it will be best to keep the default gems bundled. [1]: https://src.fedoraproject.org/rpms/rubygem-racc/pull-request/1 --- diff --git a/ruby.spec b/ruby.spec index 88d1016..5055702 100644 --- a/ruby.spec +++ b/ruby.spec @@ -156,7 +156,6 @@ Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} # https://bugs.ruby-lang.org/issues/16431 Requires: rubygem(did_you_mean) >= %{did_you_mean_version} Recommends: rubygem(openssl) >= %{openssl_version} -Recommends: rubygem(racc) >= %{racc_version} BuildRequires: autoconf BuildRequires: gdbm-devel @@ -212,6 +211,9 @@ Provides: bundled(ccan-check_type) Provides: bundled(ccan-container_of) Provides: bundled(ccan-list) +# StdLib default gems. +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 @@ -271,6 +273,8 @@ Macros and development tools for packaging RubyGems. Summary: Default gems which are part of Ruby StdLib. Requires: ruby(rubygems) >= %{rubygems_version} Supplements: ruby(rubygems) +# Obsoleted by Ruby 2.7 in F32 timeframe. +Obsoletes: rubygem-racc < 1.4.16-130 BuildArch: noarch %description default-gems @@ -438,19 +442,6 @@ Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably. -%package -n rubygem-racc -Summary: Racc is a LALR(1) parser generator -Version: %{racc_version} -License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(racc) = %{version}-%{release} - -%description -n rubygem-racc -Racc is a LALR(1) parser generator. It is written in Ruby itself, and -generates Ruby program. - - # Bundled gems # # These are regular packages, which might be installed just optionally. Users @@ -753,22 +744,6 @@ ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir 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_dir}/gems/racc-%{racc_version}/lib -mkdir -p %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version} -mv %{buildroot}%{ruby_libdir}/racc* %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib -mv %{buildroot}%{ruby_libarchdir}/racc/ %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version}/ -touch %{buildroot}%{_libdir}/gems/%{name}/racc-%{racc_version}/gem.build_complete -mv %{buildroot}%{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{buildroot}%{gem_dir}/specifications -# This used to be directories when racc was integral part of StdLib => Keep -# them as directories and link everything in them to prevent directory => -# symlink conversion RPM issues. -mkdir -p %{buildroot}%{ruby_libdir}/racc -mkdir -p %{buildroot}%{ruby_libarchdir}/racc -find %{buildroot}%{gem_dir}/gems/racc-%{racc_version}/lib/racc -maxdepth 1 -type f -exec \ - sh -c 'ln -s %{gem_dir}/gems/racc-%{racc_version}/lib/racc/`basename {}` %{buildroot}%{ruby_libdir}/racc' \; -ln -s %{gem_dir}/gems/racc-%{racc_version}/lib/racc.rb %{buildroot}%{ruby_libdir}/racc.rb -ln -s %{_libdir}/gems/%{name}/racc-%{racc_version}/racc/cparse.so %{buildroot}%{ruby_libarchdir}/racc/cparse.so - # Move the binary extensions into proper place (if no gem has binary extension, # the extensions directory might be empty). find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{ruby_version}/* -maxdepth 0 \ @@ -948,7 +923,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %exclude %{ruby_libdir}/json* %exclude %{ruby_libdir}/openssl* %exclude %{ruby_libdir}/psych* -%exclude %{ruby_libdir}/racc* %{ruby_libdir}/abbrev.rb %{ruby_libdir}/base64.rb %{ruby_libdir}/benchmark* @@ -1118,6 +1092,11 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libarchdir}/syslog.so %{ruby_libarchdir}/zlib.so +# Default gems +%{ruby_libdir}/racc* +%dir %{ruby_libarchdir}/racc +%{ruby_libarchdir}/racc/cparse.so + %{?with_systemtap:%{_systemtap_datadir}} %files -n rubygems @@ -1178,6 +1157,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/ostruct-0.2.0.gemspec %{gem_dir}/specifications/default/prime-0.1.1.gemspec %{gem_dir}/specifications/default/pstore-0.1.0.gemspec +%{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.0.gemspec %{gem_dir}/specifications/default/reline-0.1.3.gemspec @@ -1195,6 +1175,13 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec +# 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 +%{gem_dir}/gems/racc-%{racc_version} + %files -n rubygem-irb %{_bindir}/irb @@ -1266,14 +1253,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{_mandir}/man1/bundle*.1* %{_mandir}/man5/gemfile.5* -%files -n rubygem-racc -%{ruby_libdir}/racc* -%{ruby_libarchdir}/racc -%{_bindir}/racc -%{_libdir}/gems/%{name}/racc-%{racc_version} -%{gem_dir}/gems/racc-%{racc_version} -%{gem_dir}/specifications/racc-%{racc_version}.gemspec - %files -n rubygem-minitest %{gem_dir}/gems/minitest-%{minitest_version} %exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* @@ -1327,6 +1306,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. - Add ruby-default-gems subpackage shipping all extra default gem content. +- Bundle Racc into StdLib. * Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 - Provide StdLib links for Racc and install it by default. From 45186be1b91e847fe4ef283e0db4416d0376f733 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Apr 16 2020 08:47:47 +0000 Subject: [PATCH 11/43] Upgrade to Ruby 2.8.0 (810d66f3e7). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 329fb2c..9c2e3ae 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 -@@ -3130,6 +3130,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3134,6 +3134,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 a137dd9..5e0d286 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 -@@ -3768,7 +3768,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3772,7 +3772,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 053e66c..665783c 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 -@@ -3832,6 +3832,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3836,6 +3836,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 b828bd9..d82eb91 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 -@@ -3804,6 +3804,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3808,6 +3808,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='' -@@ -3828,6 +3832,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3832,6 +3836,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl @@ -64,18 +64,18 @@ index 79c003e..34f2382 100644 % R = {} % R["ruby_version"] = '"RUBY_LIB_VERSION"' diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb -index b47b6e1..0b99408 100755 +index e9110a17ca..76a1f0a315 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -339,6 +339,7 @@ def CONFIG.[](name, mandatory = false) - sitearchlibdir = CONFIG["sitearchdir"] - vendorlibdir = CONFIG["vendorlibdir"] - vendorarchlibdir = CONFIG["vendorarchdir"] +@@ -343,6 +343,7 @@ def CONFIG.[](name, mandatory = false) + vendorlibdir = CONFIG["vendorlibdir"] + vendorarchlibdir = CONFIG["vendorarchdir"] + end +rubygemsdir = CONFIG["rubygemsdir"] mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -@@ -566,7 +567,16 @@ def stub +@@ -570,7 +571,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir noinst = %w[*.txt *.rdoc *.gemspec] diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index 782f86c..82830c7 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 -@@ -3719,9 +3719,6 @@ AS_CASE(["$target_os"], +@@ -3723,9 +3723,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], -@@ -3744,56 +3741,62 @@ AC_ARG_WITH(ridir, +@@ -3748,56 +3745,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3810,6 +3813,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3814,6 +3817,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -171,7 +171,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index d4c110e..d39c9a6 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -429,7 +429,7 @@ def CONFIG.[](name, mandatory = false) +@@ -433,7 +433,7 @@ def CONFIG.[](name, mandatory = false) install?(:doc, :rdoc) do if $rdocdir diff --git a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch index 1a64601..59663d7 100644 --- a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +++ b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch @@ -8,126 +8,20 @@ on Red Hat platforms. This workaround rhbz#1361037 --- - test/fiddle/helper.rb | 105 ------------------------------------------ - 1 file changed, 105 deletions(-) + test/fiddle/helper.rb | 3 +++ + 1 file changed, 3 insertions(+) diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb index 1da3d93..65148a1 100644 --- a/test/fiddle/helper.rb +++ b/test/fiddle/helper.rb -@@ -6,115 +6,6 @@ +@@ -123,6 +123,9 @@ + libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so)) + libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so)) - libc_so = libm_so = nil - --case RUBY_PLATFORM --when /cygwin/ -- libc_so = "cygwin1.dll" -- libm_so = "cygwin1.dll" --when /android/ -- libdir = '/system/lib' -- if [0].pack('L!').size == 8 -- libdir = '/system/lib64' -- end -- libc_so = File.join(libdir, "libc.so") -- libm_so = File.join(libdir, "libm.so") --when /linux-musl/ -- Dir.glob('/lib/ld-musl-*.so.1') do |ld| -- libc_so = libm_so = ld -- end --when /linux/ -- libdir = '/lib' -- case RbConfig::SIZEOF['void*'] -- when 4 -- # 32-bit ruby -- case RUBY_PLATFORM -- when /armv\w+-linux/ -- # In the ARM 32-bit libc package such as libc6:armhf libc6:armel, -- # libc.so and libm.so are installed to /lib/arm-linux-gnu*. -- # It's not installed to /lib32. -- dirs = Dir.glob('/lib/arm-linux-gnu*') -- libdir = dirs[0] if dirs && File.directory?(dirs[0]) -- else -- libdir = '/lib32' if File.directory? '/lib32' -- end -- when 8 -- # 64-bit ruby -- libdir = '/lib64' if File.directory? '/lib64' -- end -- libc_so = File.join(libdir, "libc.so.6") -- libm_so = File.join(libdir, "libm.so.6") --when /mingw/, /mswin/ -- require "rbconfig" -- crtname = RbConfig::CONFIG["RUBY_SO_NAME"][/msvc\w+/] || 'ucrtbase' -- libc_so = libm_so = "#{crtname}.dll" --when /darwin/ -- libc_so = "/usr/lib/libc.dylib" -- libm_so = "/usr/lib/libm.dylib" --when /kfreebsd/ -- libc_so = "/lib/libc.so.0.1" -- libm_so = "/lib/libm.so.1" --when /gnu/ #GNU/Hurd -- libc_so = "/lib/libc.so.0.3" -- libm_so = "/lib/libm.so.6" --when /mirbsd/ -- libc_so = "/usr/lib/libc.so.41.10" -- libm_so = "/usr/lib/libm.so.7.0" --when /freebsd/ -- libc_so = "/lib/libc.so.7" -- libm_so = "/lib/libm.so.5" --when /bsd|dragonfly/ -- libc_so = "/usr/lib/libc.so" -- libm_so = "/usr/lib/libm.so" --when /solaris/ -- libdir = '/lib' -- case RbConfig::SIZEOF['void*'] -- when 4 -- # 32-bit ruby -- libdir = '/lib' if File.directory? '/lib' -- when 8 -- # 64-bit ruby -- libdir = '/lib/64' if File.directory? '/lib/64' -- end -- libc_so = File.join(libdir, "libc.so") -- libm_so = File.join(libdir, "libm.so") --when /aix/ -- pwd=Dir.pwd -- libc_so = libm_so = "#{pwd}/libaixdltest.so" -- unless File.exist? libc_so -- cobjs=%w!strcpy.o! -- mobjs=%w!floats.o sin.o! -- funcs=%w!sin sinf strcpy strncpy! -- expfile='dltest.exp' -- require 'tmpdir' -- Dir.mktmpdir do |dir| -- begin -- Dir.chdir dir -- %x!/usr/bin/ar x /usr/lib/libc.a #{cobjs.join(' ')}! -- %x!/usr/bin/ar x /usr/lib/libm.a #{mobjs.join(' ')}! -- %x!echo "#{funcs.join("\n")}\n" > #{expfile}! -- require 'rbconfig' -- if RbConfig::CONFIG["GCC"] = 'yes' -- lflag='-Wl,' -- else -- lflag='' -- end -- flags="#{lflag}-bE:#{expfile} #{lflag}-bnoentry -lm" -- %x!#{RbConfig::CONFIG["LDSHARED"]} -o #{libc_so} #{(cobjs+mobjs).join(' ')} #{flags}! -- ensure -- Dir.chdir pwd -- end -- end -- end --else -- libc_so = ARGV[0] if ARGV[0] && ARGV[0][0] == ?/ -- libm_so = ARGV[1] if ARGV[1] && ARGV[1][0] == ?/ -- if( !(libc_so && libm_so) ) -- $stderr.puts("libc and libm not found: #{$0} ") -- end --end -- --libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so)) --libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so)) -- ++# Just ignore the heuristic, because it is not reliable on all platforms. ++libc_so = libm_so = nil ++ if !libc_so || !libm_so ruby = EnvUtil.rubybin # When the ruby binary is 32-bit and the host is 64-bit, diff --git a/ruby-2.6.0-config-support-include-directive.patch b/ruby-2.6.0-config-support-include-directive.patch deleted file mode 100644 index e709fbe..0000000 --- a/ruby-2.6.0-config-support-include-directive.patch +++ /dev/null @@ -1,182 +0,0 @@ -From f46bac1f3e8634e24c747d06b28e11b874f1e488 Mon Sep 17 00:00:00 2001 -From: Kazuki Yamaguchi -Date: Thu, 16 Aug 2018 19:40:48 +0900 -Subject: [PATCH] config: support .include directive - -OpenSSL 1.1.1 introduces a new '.include' directive. Update our config -parser to support that. - -As mentioned in the referenced GitHub issue, we should use the OpenSSL -API instead of implementing the parsing logic ourselves, but it will -need backwards-incompatible changes which we can't backport to stable -versions. So continue to use the Ruby implementation for now. - -Reference: https://github.com/ruby/openssl/issues/208 ---- - ext/openssl/lib/openssl/config.rb | 54 ++++++++++++++++++++----------- - test/openssl/test_config.rb | 54 +++++++++++++++++++++++++++++++ - 2 files changed, 90 insertions(+), 18 deletions(-) - -diff --git a/ext/openssl/lib/openssl/config.rb b/ext/openssl/lib/openssl/config.rb -index 88225451..ba3a54c8 100644 ---- a/ext/openssl/lib/openssl/config.rb -+++ b/ext/openssl/lib/openssl/config.rb -@@ -76,29 +76,44 @@ def get_key_string(data, section, key) # :nodoc: - def parse_config_lines(io) - section = 'default' - data = {section => {}} -- while definition = get_definition(io) -+ io_stack = [io] -+ while definition = get_definition(io_stack) - definition = clear_comments(definition) - next if definition.empty? -- if definition[0] == ?[ -+ case definition -+ when /\A\[/ - if /\[([^\]]*)\]/ =~ definition - section = $1.strip - data[section] ||= {} - else - raise ConfigError, "missing close square bracket" - end -- else -- if /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/ =~ definition -- if $2 -- section = $1 -- key = $2 -- else -- key = $1 -+ when /\A\.include (\s*=\s*)?(.+)\z/ -+ path = $2 -+ if File.directory?(path) -+ files = Dir.glob(File.join(path, "*.{cnf,conf}"), File::FNM_EXTGLOB) -+ else -+ files = [path] -+ end -+ -+ files.each do |filename| -+ begin -+ io_stack << StringIO.new(File.read(filename)) -+ rescue -+ raise ConfigError, "could not include file '%s'" % filename - end -- value = unescape_value(data, section, $3) -- (data[section] ||= {})[key] = value.strip -+ end -+ when /\A([^:\s]*)(?:::([^:\s]*))?\s*=(.*)\z/ -+ if $2 -+ section = $1 -+ key = $2 - else -- raise ConfigError, "missing equal sign" -+ key = $1 - end -+ value = unescape_value(data, section, $3) -+ (data[section] ||= {})[key] = value.strip -+ else -+ raise ConfigError, "missing equal sign" - end - end - data -@@ -211,10 +226,10 @@ def clear_comments(line) - scanned.join - end - -- def get_definition(io) -- if line = get_line(io) -+ def get_definition(io_stack) -+ if line = get_line(io_stack) - while /[^\\]\\\z/ =~ line -- if extra = get_line(io) -+ if extra = get_line(io_stack) - line += extra - else - break -@@ -224,9 +239,12 @@ def get_definition(io) - end - end - -- def get_line(io) -- if line = io.gets -- line.gsub(/[\r\n]*/, '') -+ def get_line(io_stack) -+ while io = io_stack.last -+ if line = io.gets -+ return line.gsub(/[\r\n]*/, '') -+ end -+ io_stack.pop - end - end - end -diff --git a/test/openssl/test_config.rb b/test/openssl/test_config.rb -index 99dcc497..5653b5d0 100644 ---- a/test/openssl/test_config.rb -+++ b/test/openssl/test_config.rb -@@ -120,6 +120,49 @@ def test_s_parse_format - assert_equal("error in line 7: missing close square bracket", excn.message) - end - -+ def test_s_parse_include -+ in_tmpdir("ossl-config-include-test") do |dir| -+ Dir.mkdir("child") -+ File.write("child/a.conf", <<~__EOC__) -+ [default] -+ file-a = a.conf -+ [sec-a] -+ a = 123 -+ __EOC__ -+ File.write("child/b.cnf", <<~__EOC__) -+ [default] -+ file-b = b.cnf -+ [sec-b] -+ b = 123 -+ __EOC__ -+ File.write("include-child.conf", <<~__EOC__) -+ key_outside_section = value_a -+ .include child -+ __EOC__ -+ -+ include_file = <<~__EOC__ -+ [default] -+ file-main = unnamed -+ [sec-main] -+ main = 123 -+ .include = include-child.conf -+ __EOC__ -+ -+ # Include a file by relative path -+ c1 = OpenSSL::Config.parse(include_file) -+ assert_equal(["default", "sec-a", "sec-b", "sec-main"], c1.sections.sort) -+ assert_equal(["file-main", "file-a", "file-b"], c1["default"].keys) -+ assert_equal({"a" => "123"}, c1["sec-a"]) -+ assert_equal({"b" => "123"}, c1["sec-b"]) -+ assert_equal({"main" => "123", "key_outside_section" => "value_a"}, c1["sec-main"]) -+ -+ # Relative paths are from the working directory -+ assert_raise(OpenSSL::ConfigError) do -+ Dir.chdir("child") { OpenSSL::Config.parse(include_file) } -+ end -+ end -+ end -+ - def test_s_load - # alias of new - c = OpenSSL::Config.load -@@ -299,6 +342,17 @@ def test_clone - @it['newsection'] = {'a' => 'b'} - assert_not_equal(@it.sections.sort, c.sections.sort) - end -+ -+ private -+ -+ def in_tmpdir(*args) -+ Dir.mktmpdir(*args) do |dir| -+ dir = File.realpath(dir) -+ Dir.chdir(dir) do -+ yield dir -+ end -+ end -+ end - end - - end diff --git a/ruby-2.8.0-Fix-wrong-RegExp.patch b/ruby-2.8.0-Fix-wrong-RegExp.patch deleted file mode 100644 index cd57646..0000000 --- a/ruby-2.8.0-Fix-wrong-RegExp.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7e96ad15894dce6a1e0b06d5981580d4644c07d3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Thu, 27 Feb 2020 07:35:40 +0100 -Subject: [PATCH] Fix wrong RegExp. - -The missing `\` in PR #2922 causes the default gems to be installed from -the .gem packages instead from the expanded sources. ---- - tool/rbinstall.rb | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb -index 9cd99243a6..b1914d795b 100755 ---- a/tool/rbinstall.rb -+++ b/tool/rbinstall.rb -@@ -894,7 +894,7 @@ def install_default_gem(dir, srcdir) - gem_ext_dir = "#$extout/gems/#{CONFIG['arch']}" - extensions_dir = Gem::StubSpecification.gemspec_stub("", gem_dir, gem_dir).extensions_dir - File.foreach("#{srcdir}/gems/bundled_gems") do |name| -- next unless /^(\S+)\s+(S+).*/ =~ name -+ next unless /^(\S+)\s+(\S+).*/ =~ name - gem_name = "#$1-#$2" - path = "#{srcdir}/.bundle/gems/#{gem_name}/#$1.gemspec" - next unless File.exist?(path) --- -2.25.0 - diff --git a/ruby.spec b/ruby.spec index 5055702..0819949 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone rc1 # Keep the revision enabled for pre-releases from SVN. -%global revision 83705c42ce +%global revision 810d66f3e7 %global ruby_archive %{name}-%{ruby_version} @@ -48,12 +48,12 @@ %global json_version 2.3.0 %global openssl_version 2.2.0 %global psych_version 3.1.0 -%global racc_version 1.4.16 +%global racc_version 1.5.0 %global rdoc_version 6.2.1 # Bundled gems. %global minitest_version 5.14.0 -%global power_assert_version 1.1.6 +%global power_assert_version 1.1.7 %global rake_version 13.0.1 %global test_unit_version 3.3.5 %global rexml_version 3.2.4 @@ -140,13 +140,6 @@ Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # Revert commit which breaks bundled net-http-persistent version check. # https://github.com/drbrain/net-http-persistent/pull/109 Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch -# Correctly install bundled gems from expanded sources. -# https://bugs.ruby-lang.org/issues/16656 -Patch11: ruby-2.8.0-Fix-wrong-RegExp.patch - -# Add support for .include directive used by OpenSSL config files. -# https://github.com/ruby/openssl/pull/216 -Patch22: ruby-2.6.0-config-support-include-directive.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick @@ -575,8 +568,6 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -%patch22 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -853,12 +844,10 @@ make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" DISABLE_TESTS="" MSPECOPTS="" -# It seems that glibc-2.31.9000 comes with lchmod(2) implementation, disable -# the failing TestNotImplement#test_respond_to_lchmod test cse for now. -# https://bugs.ruby-lang.org/issues/16662 -DISABLE_TESTS="$DISABLE_TESTS -n !/test_respond_to_lchmod/" -MSPECOPTS="$MSPECOPTS -P 'File.lchmod returns false from \#respond_to?'" -MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError when called'" +# It seems that glibc-2.31.9000 comes with lchmod(2) implementation, but it +# does not support symlinks. +# https://bugs.ruby-lang.org/issues/16756 +MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not of the file'" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} @@ -1163,7 +1152,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/reline-0.1.3.gemspec %{gem_dir}/specifications/default/sdbm-1.0.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec -%{gem_dir}/specifications/default/stringio-0.1.0.gemspec +%{gem_dir}/specifications/default/stringio-0.1.1.gemspec %{gem_dir}/specifications/default/strscan-1.0.3.gemspec %{gem_dir}/specifications/default/tempfile-0.1.0.gemspec %{gem_dir}/specifications/default/timeout-0.1.0.gemspec @@ -1301,7 +1290,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %changelog * Mon Feb 24 2020 Vít Ondruch - 2.8.0-1 -- Upgrade to Ruby 2.8.0 (83705c42ce). +- Upgrade to Ruby 2.8.0 (810d66f3e7). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 153f2c16fe1809723f78cb78f69a45612e77af0d Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Apr 16 2020 08:47:47 +0000 Subject: [PATCH 12/43] Fix fortifications on armv7hl. --- diff --git a/ruby-2.8.0-Annotate-execstack.patch b/ruby-2.8.0-Annotate-execstack.patch new file mode 100644 index 0000000..404d8fc --- /dev/null +++ b/ruby-2.8.0-Annotate-execstack.patch @@ -0,0 +1,12 @@ +diff --git a/coroutine/arm32/Context.S b/coroutine/arm32/Context.S +index b66db29622..596284b5cf 100644 +--- a/coroutine/arm32/Context.S ++++ b/coroutine/arm32/Context.S +@@ -24,3 +24,7 @@ coroutine_transfer: + + # Restore callee state (8 registers program counter) + pop {r4-r11,pc} ++ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",%progbits ++#endif diff --git a/ruby.spec b/ruby.spec index 0819949..5b5f18b 100644 --- a/ruby.spec +++ b/ruby.spec @@ -140,6 +140,9 @@ Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # Revert commit which breaks bundled net-http-persistent version check. # https://github.com/drbrain/net-http-persistent/pull/109 Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch +# Fix fortifications on armv7hl. +# https://bugs.ruby-lang.org/issues/16762 +Patch11: ruby-2.8.0-Annotate-execstack.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick @@ -568,6 +571,7 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . From 08398ea96f43a7005822cc6548f31fb7d46b40ae Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Apr 16 2020 08:48:29 +0000 Subject: [PATCH 13/43] Bundle did_you_mean into StdLib. --- diff --git a/ruby.spec b/ruby.spec index 5b5f18b..fb15967 100644 --- a/ruby.spec +++ b/ruby.spec @@ -150,7 +150,6 @@ Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} # Change this to requires, hopefully just as temporary measure. # https://bugs.ruby-lang.org/issues/16431 -Requires: rubygem(did_you_mean) >= %{did_you_mean_version} Recommends: rubygem(openssl) >= %{openssl_version} BuildRequires: autoconf @@ -208,6 +207,7 @@ Provides: bundled(ccan-container_of) Provides: bundled(ccan-list) # StdLib default gems. +Provides: bundled(rubygem-did_you_mean) = %{did_you_mean_version} Provides: bundled(rubygem-racc) = %{racc_version} # Tcl/Tk support was removed from stdlib in Ruby 2.4, i.e. F27 timeframe. @@ -270,6 +270,7 @@ Summary: Default gems which are part of Ruby StdLib. Requires: ruby(rubygems) >= %{rubygems_version} 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 BuildArch: noarch @@ -347,20 +348,6 @@ floating point arithmetic often introduces subtle errors because of the conversion between base 10 and base 2. -%package -n rubygem-did_you_mean -Summary: "Did you mean?" experience in Ruby -Version: %{did_you_mean_version} -License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Provides: rubygem(did_you_mean) = %{version}-%{release} -BuildArch: noarch - -%description -n rubygem-did_you_mean -"did you mean?" experience in Ruby: the error message will tell you the right -one when you misspelled something. - - %package -n rubygem-io-console Summary: IO/Console is a simple console utilizing library Version: %{io_console_version} @@ -694,11 +681,6 @@ mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_dir}/gems/bundler-%{b 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_dir}/gems/did_you_mean-%{did_you_mean_version}/lib -mv %{buildroot}%{ruby_libdir}/did_you_mean.rb %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/lib -mv %{buildroot}%{ruby_libdir}/did_you_mean %{buildroot}%{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/lib -mv %{buildroot}%{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec %{buildroot}%{gem_dir}/specifications - 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 @@ -1086,6 +1068,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{ruby_libarchdir}/zlib.so # Default gems +%{ruby_libdir}/did_you_mean* %{ruby_libdir}/racc* %dir %{ruby_libarchdir}/racc %{ruby_libarchdir}/racc/cparse.so @@ -1128,6 +1111,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/specifications/default/date-3.0.0.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec %{gem_dir}/specifications/default/delegate-0.1.0.gemspec +%{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec %{gem_dir}/specifications/default/fiddle-1.0.0.gemspec @@ -1203,11 +1187,6 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %{gem_dir}/gems/bigdecimal-%{bigdecimal_version} %{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec -%files -n rubygem-did_you_mean -%{gem_dir}/gems/did_you_mean-%{did_you_mean_version} -%exclude %{gem_dir}/gems/did_you_mean-%{did_you_mean_version}/.* -%{gem_dir}/specifications/did_you_mean-%{did_you_mean_version}.gemspec - %files -n rubygem-io-console %{ruby_libdir}/io %{ruby_libarchdir}/io/console.so @@ -1299,7 +1278,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. - Add ruby-default-gems subpackage shipping all extra default gem content. -- Bundle Racc into StdLib. +- Bundle Racc and did_you_mean into StdLib. * Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 - Provide StdLib links for Racc and install it by default. From 7c9a7d257f2eaf0e59dc5be6970ea3500dfdc7de Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: May 15 2020 15:49:43 +0000 Subject: [PATCH 14/43] Relax rubygems-devel dependency on rubygems. Independent rubygems package used to provide rubygems-devel subpackages, but this is going to change to ease the independent rubygems package maitenance and therefore ruby package will become the ultimate source of rubygems-devel package. --- diff --git a/ruby.spec b/ruby.spec index fb15967..20c970f 100644 --- a/ruby.spec +++ b/ruby.spec @@ -250,7 +250,7 @@ libraries. Summary: Macros and development tools for packaging RubyGems Version: %{rubygems_version} License: Ruby or MIT -Requires: ruby(rubygems) = %{version}-%{release} +Requires: ruby(rubygems) >= %{version}-%{release} # Needed for RDoc documentation format generation. Requires: rubygem(json) >= %{json_version} Requires: rubygem(rdoc) >= %{rdoc_version} From b7caba6d26368dfb272f0d0cd3b119fd547e5aa4 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 07 2020 10:01:18 +0000 Subject: [PATCH 15/43] Fix changelog identation. --- diff --git a/ruby.spec b/ruby.spec index 20c970f..8851011 100644 --- a/ruby.spec +++ b/ruby.spec @@ -2121,7 +2121,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" - Disable the static library building. * Tue Dec 04 2007 Release Engineering - 1.8.6.111-2 - - Rebuild for openssl bump +- Rebuild for openssl bump * Wed Oct 31 2007 Akira TAGOH - Fix the dead link. From 2f788eb9839ee7cf3e38a6ff1480a13cbdcaa16c Mon Sep 17 00:00:00 2001 From: Jun Aruga Date: Oct 07 2020 10:13:44 +0000 Subject: [PATCH 16/43] Add ruby-default-gems dependency on irb. Resolves: rhbz#1850541 --- diff --git a/ruby.spec b/ruby.spec index 8851011..d161a02 100644 --- a/ruby.spec +++ b/ruby.spec @@ -284,6 +284,9 @@ Summary: The Interactive Ruby Version: %{irb_version} 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} Provides: irb = %{version}-%{release} Provides: rubygem(irb) = %{version}-%{release} # Obsoleted by Ruby 2.6 in F30 timeframe. @@ -1280,6 +1283,10 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" - Add ruby-default-gems subpackage shipping all extra default gem content. - Bundle Racc and did_you_mean into StdLib. +* Wed Jun 24 2020 Jun Aruga - 2.7.1-132 +- Add ruby-default-gems dependency on irb. + Resolves: rhbz#1850541 + * Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 - Provide StdLib links for Racc and install it by default. From f9a8b7fc74e1defb77c74add014aa040a5d4540a Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 07 2020 10:15:02 +0000 Subject: [PATCH 17/43] Disable LTO, which appear to cause issues with SIGSEV handler. https://src.fedoraproject.org/rpms/redhat-rpm-config/c/5baaf4a99cc77572d3496a7000674098bef7ed68?branch=master --- diff --git a/ruby.spec b/ruby.spec index d161a02..d9db747 100644 --- a/ruby.spec +++ b/ruby.spec @@ -75,6 +75,10 @@ %bcond_without hardening_test %endif +# LTO appears to cause some issue to SEGV handler. +# https://bugs.ruby-lang.org/issues/17052 +%define _lto_cflags %{nil} + Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version} @@ -1283,6 +1287,9 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" - Add ruby-default-gems subpackage shipping all extra default gem content. - Bundle Racc and did_you_mean into StdLib. +* Mon Jul 27 2020 Vít Ondruch - 2.7.1-133 +- Disable LTO, which appear to cause issues with SIGSEV handler. + * Wed Jun 24 2020 Jun Aruga - 2.7.1-132 - Add ruby-default-gems dependency on irb. Resolves: rhbz#1850541 From 8490a57da64c3ec209ea75d2b6c4b37ff7a1d6e8 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 07 2020 10:18:51 +0000 Subject: [PATCH 18/43] Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. --- 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 new file mode 100644 index 0000000..64e2114 --- /dev/null +++ b/ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -0,0 +1,34 @@ +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 +@@ -21,7 +21,7 @@ def test_bug_reporter_add + args = ["--disable-gems", "-r-test-/bug_reporter", + "-C", tmpdir] + stdin = "register_sample_bug_reporter(12345); Process.kill :SEGV, $$" +- assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT") ++ assert_in_out_err(args, stdin, [], expected_stderr, encoding: "ASCII-8BIT", timeout_error: nil) + ensure + FileUtils.rm_rf(tmpdir) if tmpdir + end +-- +2.27.0 + diff --git a/ruby.spec b/ruby.spec index d9db747..addc517 100644 --- a/ruby.spec +++ b/ruby.spec @@ -147,6 +147,9 @@ Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch # Fix fortifications on armv7hl. # https://bugs.ruby-lang.org/issues/16762 Patch11: ruby-2.8.0-Annotate-execstack.patch +# Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. +# https://bugs.ruby-lang.org/issues/16492 +Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick @@ -566,6 +569,7 @@ rm -rf ext/fiddle/libffi* %patch9 -p1 %patch10 -p1 %patch11 -p1 +%patch19 -p1 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -850,13 +854,6 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not # https://bugs.ruby-lang.org/issues/16410 MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'" -# Increase timeout for TestBugReporter#test_bug_reporter_add test, which fails -# quite often. -# https://bugs.ruby-lang.org/issues/16492 -%ifarch s390x -sed -i '/assert_in_out_err/ s/)/, timeout: 30)/' test/-ext-/bug_reporter/test_bug_reporter.rb -%endif - make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %files @@ -1289,6 +1286,7 @@ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" * Mon Jul 27 2020 Vít Ondruch - 2.7.1-133 - Disable LTO, which appear to cause issues with SIGSEV handler. +- Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. * Wed Jun 24 2020 Jun Aruga - 2.7.1-132 - Add ruby-default-gems dependency on irb. From 8ce900a59eee91cfc468025da611daa21d82f900 Mon Sep 17 00:00:00 2001 From: Jun Aruga Date: Oct 07 2020 10:20:30 +0000 Subject: [PATCH 19/43] Give an option to increase the timeout in tests. Because setting the option makes some tests stable that are currently randomly failing with error on especially s390x and aarch64. We observed the failing tests are calling `assert_in_out_err` method calling `invoke_ruby` calling method. Then when the `th_stdout.join(timeout)` or `th_stderr.join(timeout)` returns `nil` as thread timeout in `invoke_ruby` method, it causes the error. [1][2] The `test_timeout_scale` macro is to set the environment variable `RUBY_TEST_TIMEOUT_SCALE` to increase the timeout in `apply_timeout_scale` method as = * . As an example, `TestBugReporter#test_bug_reporter_add` test's maximum thread timeout was 56+ seconds for the default timeout 10 seconds. [3] In this case setting `RUBY_TEST_TIMEOUT_SCALE=6` (6 * 10 = 60) is good enough for 56+ seconds. [1] https://github.com/ruby/ruby/blob/v2_7_1/tool/lib/envutil.rb#L149 [2] https://bugs.ruby-lang.org/issues/16492#note-8 [3] https://bugs.ruby-lang.org/issues/16492#note-4 --- diff --git a/ruby.spec b/ruby.spec index addc517..f6e0b3c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -854,7 +854,10 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not # https://bugs.ruby-lang.org/issues/16410 MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'" -make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" +# 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 check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %files %license BSDL From 999707a8a9ae6fc2f91aed9f69a4f0ecd86f6dab Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 07 2020 15:50:26 +0000 Subject: [PATCH 20/43] Upgrade to Ruby 3.0.0-preview1 (0096d2b895). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 9c2e3ae..0b8100a 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 -@@ -3134,6 +3134,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3286,6 +3286,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 5e0d286..7cda4fa 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 -@@ -3772,7 +3772,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3924,7 +3924,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 665783c..b79c010 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 -@@ -3836,6 +3836,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3988,6 +3988,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 d82eb91..cd25be2 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 -@@ -3808,6 +3808,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3960,6 +3960,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='' -@@ -3832,6 +3836,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3984,6 +3988,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl @@ -67,7 +67,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index e9110a17ca..76a1f0a315 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -343,6 +343,7 @@ def CONFIG.[](name, mandatory = false) +@@ -348,6 +348,7 @@ def CONFIG.[](name, mandatory = false) vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] end @@ -75,7 +75,7 @@ index e9110a17ca..76a1f0a315 100755 mandir = CONFIG["mandir", true] docdir = CONFIG["docdir", true] enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -@@ -570,7 +571,16 @@ def stub +@@ -580,7 +581,16 @@ def stub install?(:local, :comm, :lib) do prepare "library scripts", rubylibdir noinst = %w[*.txt *.rdoc *.gemspec] diff --git a/ruby-2.3.0-ruby_version.patch b/ruby-2.3.0-ruby_version.patch index 82830c7..a5a7ad2 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 -@@ -3723,9 +3723,6 @@ AS_CASE(["$target_os"], +@@ -3875,9 +3875,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], -@@ -3748,56 +3745,62 @@ AC_ARG_WITH(ridir, +@@ -3900,56 +3897,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3814,6 +3817,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3966,6 +3969,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -165,13 +165,13 @@ index 970cb91..5bf8230 100644 - version = RbConfig::CONFIG['ruby_version'] + version = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] - BASE = if RbConfig::CONFIG.key? 'ridir' then - File.join RbConfig::CONFIG['ridir'], version + BASE = File.join RbConfig::CONFIG['ridir'], version + diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index d4c110e..d39c9a6 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb -@@ -433,7 +433,7 @@ def CONFIG.[](name, mandatory = false) +@@ -438,7 +438,7 @@ def CONFIG.[](name, mandatory = false) install?(:doc, :rdoc) do if $rdocdir @@ -198,7 +198,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 -@@ -32,13 +32,13 @@ def self.default_dir +@@ -38,13 +38,13 @@ def self.default_dir [ File.dirname(RbConfig::CONFIG['sitedir']), 'Gems', @@ -214,17 +214,17 @@ index d4ff4a262c..3f9a5bf590 100644 ] end -@@ -75,7 +75,8 @@ def self.default_specifications_dir - - def self.user_dir - parts = [Gem.user_home, '.gem', ruby_engine] +@@ -117,7 +117,8 @@ def self.user_dir + gem_dir = File.join(Gem.user_home, ".gem") + gem_dir = File.join(Gem.data_home, "gem") unless File.exist?(gem_dir) + parts = [gem_dir, ruby_engine] - parts << RbConfig::CONFIG['ruby_version'] unless RbConfig::CONFIG['ruby_version'].empty? + ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + parts << ruby_version_dir_name unless ruby_version_dir_name.empty? File.join parts end -@@ -158,7 +159,7 @@ def self.vendor_dir # :nodoc: +@@ -252,7 +253,7 @@ def self.vendor_dir # :nodoc: return nil unless RbConfig::CONFIG.key? 'vendordir' File.join RbConfig::CONFIG['vendordir'], 'gems', @@ -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 -@@ -1357,7 +1357,8 @@ def test_self_use_paths +@@ -1369,7 +1369,8 @@ def test_self_use_paths def test_self_user_dir parts = [@userhome, '.gem', Gem.ruby_engine] @@ -245,9 +245,9 @@ index b25068405d..e9fef4a311 100644 + ruby_version_dir_name = RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] + parts << ruby_version_dir_name unless ruby_version_dir_name.empty? - assert_equal File.join(parts), Gem.user_dir - end -@@ -1433,7 +1434,7 @@ def test_self_vendor_dir + FileUtils.mkdir_p File.join(parts) + +@@ -1447,7 +1448,7 @@ def test_self_vendor_dir vendordir(File.join(@tempdir, 'vendor')) do expected = File.join RbConfig::CONFIG['vendordir'], 'gems', @@ -274,15 +274,15 @@ diff --git a/configure.ac b/configure.ac index a00f2b6776..999e2d6d5d 100644 --- a/configure.ac +++ b/configure.ac -@@ -98,7 +98,7 @@ RUBY_BASE_NAME=`echo ruby | sed "$program_transform_name"` +@@ -81,7 +81,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) -AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version}') +AC_SUBST(RUBY_VERSION_NAME, '${RUBY_BASE_NAME}-${ruby_version_dir_name}') - AC_CANONICAL_TARGET - test x"$target_alias" = x && + dnl checks for alternative programs + AC_CANONICAL_BUILD -- 2.1.0 diff --git a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch index 59663d7..09c6b22 100644 --- a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +++ b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch @@ -15,9 +15,9 @@ diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb index 1da3d93..65148a1 100644 --- a/test/fiddle/helper.rb +++ b/test/fiddle/helper.rb -@@ -123,6 +123,9 @@ - libc_so = nil if !libc_so || (libc_so[0] == ?/ && !File.file?(libc_so)) - libm_so = nil if !libm_so || (libm_so[0] == ?/ && !File.file?(libm_so)) +@@ -127,6 +127,9 @@ + libc_so = libm_so = "/usr/lib/libSystem.B.dylib" + end +# Just ignore the heuristic, because it is not reliable on all platforms. +libc_so = libm_so = nil diff --git a/ruby-2.7.0-Initialize-ABRT-hook.patch b/ruby-2.7.0-Initialize-ABRT-hook.patch index 81366e3..4cd6d29 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -57,7 +57,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1455,10 +1455,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1488,10 +1488,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) void Init_builtin_features(void); diff --git a/ruby-2.7.0-Remove-RubyGems-dependency.patch b/ruby-2.7.0-Remove-RubyGems-dependency.patch deleted file mode 100644 index 4166900..0000000 --- a/ruby-2.7.0-Remove-RubyGems-dependency.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6532dbecf36d1f24dab1f2143afd171e0b7699eb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Wed, 4 Sep 2019 15:07:07 +0200 -Subject: [PATCH] Remove RubyGems dependency. - -Since `Process::RLIMIT_NOFILE` is platform specific, better to use Ruby -introspection than detecting platform. ---- - .../vendor/net-http-persistent/lib/net/http/persistent.rb | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb b/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb -index a54be2a..06739f1 100644 ---- a/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb -+++ b/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb -@@ -197,10 +197,10 @@ class Bundler::Persistent::Net::HTTP::Persistent - ## - # The default connection pool size is 1/4 the allowed open files. - -- if Gem.win_platform? then -- DEFAULT_POOL_SIZE = 256 -- else -+ if Process.const_defined? :RLIMIT_NOFILE - DEFAULT_POOL_SIZE = Process.getrlimit(Process::RLIMIT_NOFILE).first / 4 -+ else -+ DEFAULT_POOL_SIZE = 256 - end - - ## --- -2.23.0 - diff --git a/ruby-2.8.0-Annotate-execstack.patch b/ruby-2.8.0-Annotate-execstack.patch index 404d8fc..fd0be1f 100644 --- a/ruby-2.8.0-Annotate-execstack.patch +++ b/ruby-2.8.0-Annotate-execstack.patch @@ -2,8 +2,8 @@ diff --git a/coroutine/arm32/Context.S b/coroutine/arm32/Context.S index b66db29622..596284b5cf 100644 --- a/coroutine/arm32/Context.S +++ b/coroutine/arm32/Context.S -@@ -24,3 +24,7 @@ coroutine_transfer: - +@@ -27,3 +27,7 @@ coroutine_transfer: + # Restore callee state (8 registers program counter) pop {r4-r11,pc} + diff --git a/ruby.spec b/ruby.spec index f6e0b3c..8ba5cb6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,5 +1,5 @@ -%global major_version 2 -%global minor_version 8 +%global major_version 3 +%global minor_version 0 %global teeny_version 0 %global major_minor_version %{major_version}.%{minor_version} @@ -7,10 +7,10 @@ %global ruby_release %{ruby_version} # Specify the named version. It has precedense to revision. -#%%global milestone rc1 +%global milestone preview1 -# Keep the revision enabled for pre-releases from SVN. -%global revision 810d66f3e7 +# Keep the revision enabled for pre-releases from GIT. +%global revision 0096d2b895 %global ruby_archive %{name}-%{ruby_version} @@ -30,32 +30,35 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.0.pre1 +%global rubygems_version 3.2.0.rc.1 %global rubygems_molinillo_version 0.5.7 # Default gems. -%global bundler_version 2.1.4 +%global bundler_version 2.2.0.rc.1 %global bundler_connection_pool_version 2.2.2 -%global bundler_fileutils_version 1.3.0 +%global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.6.6 -%global bundler_net_http_persistent_version 3.1.0 -%global bundler_thor_version 1.0.0 +%global bundler_net_http_persistent_version 4.0.0 +%global bundler_thor_version 1.0.1 +%global bundler_uri_version 0.10.0 -%global bigdecimal_version 2.0.0 +%global bigdecimal_version 2.0.1 %global did_you_mean_version 1.4.0 +%global erb_version 2.2.0 %global io_console_version 0.5.6 -%global irb_version 1.2.3 -%global json_version 2.3.0 +%global irb_version 1.2.7 +%global json_version 2.3.1 %global openssl_version 2.2.0 -%global psych_version 3.1.0 +%global psych_version 3.2.0 %global racc_version 1.5.0 %global rdoc_version 6.2.1 # Bundled gems. -%global minitest_version 5.14.0 -%global power_assert_version 1.1.7 +%global minitest_version 5.14.2 +%global power_assert_version 1.2.0 %global rake_version 13.0.1 -%global test_unit_version 3.3.5 +%global rbs_version 0.12.2 +%global test_unit_version 3.3.6 %global rexml_version 3.2.4 %global rss_version 0.2.9 @@ -141,9 +144,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 -# Revert commit which breaks bundled net-http-persistent version check. -# https://github.com/drbrain/net-http-persistent/pull/109 -Patch10: ruby-2.7.0-Remove-RubyGems-dependency.patch # Fix fortifications on armv7hl. # https://bugs.ruby-lang.org/issues/16762 Patch11: ruby-2.8.0-Annotate-execstack.patch @@ -428,6 +428,7 @@ Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} Provides: bundled(rubygem-molinillo) = %{bundler_molinillo_version} Provides: bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} Provides: bundled(rubygem-thor) = %{bundler_thor_version} +Provides: bundled(rubygem-uri) = %{bundler_uri_version} BuildArch: noarch %description -n rubygem-bundler @@ -494,6 +495,20 @@ Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. +%package -n rubygem-rbs +Summary: Type signature for Ruby +Version: %{rbs_version} +License: Ruby or BSD +Requires: ruby(release) +Requires: ruby(rubygems) >= %{rubygems_version} +Provides: rubygem(rbs) = %{version}-%{release} +BuildArch: noarch + +%description -n rubygem-rbs +RBS is the language for type signatures for Ruby and standard library +definitions. + + %package -n rubygem-test-unit Summary: An xUnit family unit testing framework for Ruby Version: %{test_unit_version} @@ -567,7 +582,6 @@ rm -rf ext/fiddle/libffi* %patch5 -p1 %patch6 -p1 %patch9 -p1 -%patch10 -p1 %patch11 -p1 %patch19 -p1 @@ -605,6 +619,8 @@ make %{?_smp_mflags} COPY="cp -p" Q= rm -rf %{buildroot} make install DESTDIR=%{buildroot} +# TODO: Regenerate RBS parser in lib/rbs/parser.rb + # 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 @@ -797,7 +813,7 @@ checksec --file=libruby.so.%{ruby_version} | \ # FileUtils. [ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ module Bundler; end; \ - require 'bundler/vendor/fileutils/lib/fileutils/version'; \ + require 'bundler/vendor/fileutils/lib/fileutils'; \ puts Bundler::FileUtils::VERSION\\\"\" | tail -1`" \ == '%{bundler_fileutils_version}' ] @@ -823,6 +839,13 @@ checksec --file=libruby.so.%{ruby_version} | \ puts Bundler::Thor::VERSION\\\"\" | tail -1`" \ == '%{bundler_thor_version}' ] +# URI. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/uri/lib/uri/version'; \ + puts Bundler::URI::VERSION\\\"\" | tail -1`" \ + == '%{bundler_uri_version}' ] + # test_debug(TestRubyOptions) fails due to LoadError reported in debug mode, # when abrt.rb cannot be required (seems to be easier way then customizing @@ -854,6 +877,12 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not # https://bugs.ruby-lang.org/issues/16410 MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'" +# Disable File.lchmod specs, which newly fails with: +# Expected [NotImplementedError, Errno::ENOTSUP] to include Errno::ENOENT +# Nevertheless, this test have been removed upstream already: +# https://github.com/ruby/ruby/commit/c881678cd75432f47903a5d1d8b86a7a723cb023 +MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENOTSUP when called'" + # 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}"} \ @@ -933,6 +962,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{ruby_libdir}/monitor.rb %{ruby_libdir}/mutex_m.rb %{ruby_libdir}/net +%{ruby_libdir}/objspace.rb %{ruby_libdir}/observer* %{ruby_libdir}/open-uri.rb %{ruby_libdir}/open3* @@ -950,7 +980,6 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{ruby_libdir}/resolv-replace.rb %{ruby_libdir}/rinda %{ruby_libdir}/ripper* -%{ruby_libdir}/rss.rb %{ruby_libdir}/securerandom.rb %{ruby_libdir}/set.rb %{ruby_libdir}/shellwords.rb @@ -1067,7 +1096,6 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{ruby_libarchdir}/rbconfig/sizeof.so %{ruby_libarchdir}/readline.so %{ruby_libarchdir}/ripper.so -%{ruby_libarchdir}/sdbm.so %{ruby_libarchdir}/socket.so %{ruby_libarchdir}/stringio.so %{ruby_libarchdir}/strscan.so @@ -1111,24 +1139,30 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{_rpmconfigdir}/rubygems.con %files default-gems -%{gem_dir}/specifications/default/English-0.1.0.gemspec +%{gem_dir}/specifications/default/english-0.7.0.gemspec +%{gem_dir}/specifications/default/abbrev-0.1.0.gemspec +%{gem_dir}/specifications/default/base64-0.1.0.gemspec %{gem_dir}/specifications/default/benchmark-0.1.0.gemspec %{gem_dir}/specifications/default/cgi-0.1.0.gemspec -%{gem_dir}/specifications/default/csv-3.1.2.gemspec -%{gem_dir}/specifications/default/date-3.0.0.gemspec +%{gem_dir}/specifications/default/csv-3.1.7.gemspec +%{gem_dir}/specifications/default/date-3.0.1.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec %{gem_dir}/specifications/default/delegate-0.1.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec +%{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.0.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.1.gemspec %{gem_dir}/specifications/default/fileutils-1.4.1.gemspec +%{gem_dir}/specifications/default/find-0.1.0.gemspec %{gem_dir}/specifications/default/forwardable-1.3.1.gemspec %{gem_dir}/specifications/default/gdbm-2.1.0.gemspec %{gem_dir}/specifications/default/getoptlong-0.1.0.gemspec +%{gem_dir}/specifications/default/io-nonblock-0.1.0.gemspec +%{gem_dir}/specifications/default/io-wait-0.1.0.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec %{gem_dir}/specifications/default/logger-1.4.2.gemspec -%{gem_dir}/specifications/default/matrix-0.2.0.gemspec +%{gem_dir}/specifications/default/matrix-0.3.0.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec %{gem_dir}/specifications/default/net-ftp-0.1.0.gemspec %{gem_dir}/specifications/default/net-http-0.1.0.gemspec @@ -1136,22 +1170,33 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{gem_dir}/specifications/default/net-pop-0.1.0.gemspec %{gem_dir}/specifications/default/net-protocol-0.1.0.gemspec %{gem_dir}/specifications/default/net-smtp-0.1.0.gemspec +%{gem_dir}/specifications/default/nkf-0.1.0.gemspec %{gem_dir}/specifications/default/observer-0.1.0.gemspec %{gem_dir}/specifications/default/open3-0.1.0.gemspec +%{gem_dir}/specifications/default/open-uri-0.1.0.gemspec +%{gem_dir}/specifications/default/optparse-0.1.0.gemspec %{gem_dir}/specifications/default/ostruct-0.2.0.gemspec %{gem_dir}/specifications/default/prime-0.1.1.gemspec %{gem_dir}/specifications/default/pstore-0.1.0.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.0.gemspec -%{gem_dir}/specifications/default/reline-0.1.3.gemspec -%{gem_dir}/specifications/default/sdbm-1.0.0.gemspec +%{gem_dir}/specifications/default/reline-0.1.5.gemspec +%{gem_dir}/specifications/default/resolv-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/securerandom-0.1.0.gemspec +%{gem_dir}/specifications/default/set-0.1.0.gemspec +%{gem_dir}/specifications/default/shellwords-0.1.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec -%{gem_dir}/specifications/default/stringio-0.1.1.gemspec -%{gem_dir}/specifications/default/strscan-1.0.3.gemspec +%{gem_dir}/specifications/default/stringio-0.1.4.gemspec +%{gem_dir}/specifications/default/strscan-1.0.4.gemspec +%{gem_dir}/specifications/default/syslog-0.1.0.gemspec %{gem_dir}/specifications/default/tempfile-0.1.0.gemspec +%{gem_dir}/specifications/default/time-0.1.0.gemspec %{gem_dir}/specifications/default/timeout-0.1.0.gemspec %{gem_dir}/specifications/default/tmpdir-0.1.0.gemspec +%{gem_dir}/specifications/default/tsort-0.1.0.gemspec %{gem_dir}/specifications/default/tracer-0.1.0.gemspec %{gem_dir}/specifications/default/uri-0.10.0.gemspec %{gem_dir}/specifications/default/weakref-0.1.0.gemspec @@ -1159,6 +1204,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.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: @@ -1248,6 +1294,13 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %{gem_dir}/specifications/rake-%{rake_version}.gemspec %{_mandir}/man1/rake.1* +%files -n rubygem-rbs +%{_bindir}/rbs +%{gem_dir}/gems/rbs-%{rbs_version} +%license %{gem_dir}/gems/rbs-%{rbs_version}/BSDL +%license %{gem_dir}/gems/rbs-%{rbs_version}/COPYING +%{gem_dir}/specifications/rbs-%{rbs_version}.gemspec + %files -n rubygem-test-unit %{gem_dir}/gems/test-unit-%{test_unit_version} %{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec @@ -1279,8 +1332,8 @@ MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to %changelog -* Mon Feb 24 2020 Vít Ondruch - 2.8.0-1 -- Upgrade to Ruby 2.8.0 (810d66f3e7). +* Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 +- Upgrade to Ruby 3.0.0-preview1 (0096d2b895). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 70f4ffd59cfa866390e77480686d52c6f3ad86c7 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 09 2020 11:02:58 +0000 Subject: [PATCH 21/43] Upgrade to Ruby 3.0.0 (02e17d473a). --- diff --git a/ruby.spec b/ruby.spec index 8ba5cb6..feda0f8 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 preview1 +#%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 0096d2b895 +%global revision 02e17d473a %global ruby_archive %{name}-%{ruby_version} @@ -1176,6 +1176,8 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/open-uri-0.1.0.gemspec %{gem_dir}/specifications/default/optparse-0.1.0.gemspec %{gem_dir}/specifications/default/ostruct-0.2.0.gemspec +%{gem_dir}/specifications/default/pp-0.1.0.gemspec +%{gem_dir}/specifications/default/prettyprint-0.1.0.gemspec %{gem_dir}/specifications/default/prime-0.1.1.gemspec %{gem_dir}/specifications/default/pstore-0.1.0.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec @@ -1333,7 +1335,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0-preview1 (0096d2b895). +- Upgrade to Ruby 3.0.0 (02e17d473a). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 5467bfd5c37b21345ebe91095872ff3a6dbca106 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Oct 09 2020 11:45:46 +0000 Subject: [PATCH 22/43] Fix building rubygem- packages. Fix `Permission denied @ dir_s_mkdir - /usr/share/gems/plugins` issues. https://github.com/rubygems/rubygems/issues/3971 --- diff --git a/ruby.spec b/ruby.spec index feda0f8..3c6eb96 100644 --- a/ruby.spec +++ b/ruby.spec @@ -147,6 +147,10 @@ Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch # Fix fortifications on armv7hl. # https://bugs.ruby-lang.org/issues/16762 Patch11: ruby-2.8.0-Annotate-execstack.patch +# Fix `Permission denied @ dir_s_mkdir - /usr/share/gems/plugins` issues +# building rubygem- packages. +# https://github.com/rubygems/rubygems/pull/3972 +Patch12: rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch # Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. # https://bugs.ruby-lang.org/issues/16492 Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -583,6 +587,7 @@ rm -rf ext/fiddle/libffi* %patch6 -p1 %patch9 -p1 %patch11 -p1 +%patch12 -p1 %patch19 -p1 # Provide an example of usage of the tapset: diff --git a/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch b/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch new file mode 100644 index 0000000..88a033e --- /dev/null +++ b/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch @@ -0,0 +1,143 @@ +From c3995fb9f5b520f05936ea6ec99d8d4fad18f024 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?David=20Rodr=C3=ADguez?= +Date: Mon, 28 Sep 2020 11:46:15 +0200 +Subject: [PATCH 1/3] Add tests for build_root ui messages + +--- + test/rubygems/test_gem_installer.rb | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb +index 1424b140d24..034a187fc0f 100644 +--- a/test/rubygems/test_gem_installer.rb ++++ b/test/rubygems/test_gem_installer.rb +@@ -1781,13 +1781,22 @@ def test_process_options + + def test_process_options_build_root + build_root = File.join @tempdir, 'build_root' ++ bin_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'bin') ++ gem_home = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, '')) + + @gem = setup_base_gem +- installer = Gem::Installer.at @gem, :build_root => build_root ++ installer = use_ui(@ui) { Gem::Installer.at @gem, :build_root => build_root } + + assert_equal Pathname(build_root), installer.build_root +- assert_equal File.join(build_root, @gemhome, 'bin'), installer.bin_dir +- assert_equal File.join(build_root, @gemhome), installer.gem_home ++ assert_equal bin_dir, installer.bin_dir ++ assert_equal gem_home, installer.gem_home ++ ++ errors = @ui.error.split("\n") ++ ++ assert_equal "WARNING: You build with buildroot.", errors.shift ++ assert_equal " Build root: #{build_root}", errors.shift ++ assert_equal " Bin dir: #{bin_dir}", errors.shift ++ assert_equal " Gem home: #{gem_home}", errors.shift + end + + def test_shebang_arguments + +From e1528db2c7dc8c7e5850e0754a7bb6e6dbc9009e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?David=20Rodr=C3=ADguez?= +Date: Mon, 28 Sep 2020 11:48:52 +0200 +Subject: [PATCH 2/3] Correctly set plugins dir when using `--build-root` + +--- + lib/rubygems/installer.rb | 1 + + test/rubygems/test_gem_installer.rb | 25 +++++++++++++++++++++++++ + 2 files changed, 26 insertions(+) + +diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb +index f4c4be4ac93..e982d2fd2ce 100644 +--- a/lib/rubygems/installer.rb ++++ b/lib/rubygems/installer.rb +@@ -697,6 +697,7 @@ def process_options # :nodoc: + @build_root = Pathname.new(@build_root).expand_path + @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) + @gem_home = File.join(@build_root, @gem_home) ++ @plugins_dir = File.join(@build_root, @plugins_dir.gsub(/^[a-zA-Z]:/, '')) + alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" + end + end +diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb +index 034a187fc0f..ef6003c28fb 100644 +--- a/test/rubygems/test_gem_installer.rb ++++ b/test/rubygems/test_gem_installer.rb +@@ -798,6 +798,31 @@ def test_generate_plugins_with_user_install + assert File.exist?(user_path), 'plugin not written to user plugins_dir' + end + ++ def test_generate_plugins_with_build_root ++ spec = quick_gem 'a' do |s| ++ write_file File.join(@tempdir, 'lib', 'rubygems_plugin.rb') do |io| ++ io.write "puts __FILE__" ++ end ++ ++ s.files += %w[lib/rubygems_plugin.rb] ++ end ++ ++ util_build_gem spec ++ ++ File.chmod(0555, Gem.plugindir) ++ system_path = File.join(Gem.plugindir, 'a_plugin.rb') ++ ++ build_root = File.join(@tempdir, 'build_root') ++ build_root_path = File.join(build_root, Gem.plugindir.gsub(/^[a-zA-Z]:/, ''), 'a_plugin.rb') ++ ++ installer = Gem::Installer.at spec.cache_file, :build_root => build_root ++ ++ assert_equal spec, installer.install ++ ++ 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' ++ end ++ + def test_keeps_plugins_up_to_date + # NOTE: version a-2 is already installed by setup hooks + + +From ba4df51949474a09479baf84374131ca095eda98 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?David=20Rodr=C3=ADguez?= +Date: Mon, 28 Sep 2020 11:51:00 +0200 +Subject: [PATCH 3/3] Also print plugins dir when using `--build-root` + +For consistency. +--- + lib/rubygems/installer.rb | 2 +- + test/rubygems/test_gem_installer.rb | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb +index e982d2fd2ce..b1c2ae4f237 100644 +--- a/lib/rubygems/installer.rb ++++ b/lib/rubygems/installer.rb +@@ -698,7 +698,7 @@ def process_options # :nodoc: + @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) + @gem_home = File.join(@build_root, @gem_home) + @plugins_dir = File.join(@build_root, @plugins_dir.gsub(/^[a-zA-Z]:/, '')) +- alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" ++ alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}\n Plugins dir: #{@plugins_dir}" + end + end + +diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb +index ef6003c28fb..0a9a2e38dd8 100644 +--- a/test/rubygems/test_gem_installer.rb ++++ b/test/rubygems/test_gem_installer.rb +@@ -1808,6 +1808,7 @@ def test_process_options_build_root + build_root = File.join @tempdir, 'build_root' + bin_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'bin') + gem_home = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, '')) ++ plugins_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'plugins') + + @gem = setup_base_gem + installer = use_ui(@ui) { Gem::Installer.at @gem, :build_root => build_root } +@@ -1822,6 +1823,7 @@ def test_process_options_build_root + assert_equal " Build root: #{build_root}", errors.shift + assert_equal " Bin dir: #{bin_dir}", errors.shift + assert_equal " Gem home: #{gem_home}", errors.shift ++ assert_equal " Plugins dir: #{plugins_dir}", errors.shift + end + + def test_shebang_arguments From 99ceb0d65c950d61f297089dd97a8cdde4db5771 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Oct 13 2020 07:35:52 +0000 Subject: [PATCH 23/43] Use make macros https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro --- diff --git a/ruby.spec b/ruby.spec index 3c6eb96..b86ee14 100644 --- a/ruby.spec +++ b/ruby.spec @@ -618,11 +618,11 @@ autoconf # Q= makes the build output more verbose and allows to check Fedora # compiler options. -make %{?_smp_mflags} COPY="cp -p" Q= +%make_build COPY="cp -p" Q= %install rm -rf %{buildroot} -make install DESTDIR=%{buildroot} +%make_install # TODO: Regenerate RBS parser in lib/rbs/parser.rb @@ -1351,6 +1351,10 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO - Disable LTO, which appear to cause issues with SIGSEV handler. - Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. +* Tue Jul 14 2020 Tom Stellard - 2.7.1-133 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + * Wed Jun 24 2020 Jun Aruga - 2.7.1-132 - Add ruby-default-gems dependency on irb. Resolves: rhbz#1850541 From 9cc2ff2afe9614991abd5f1c86a000a24763d981 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 05 2020 07:53:33 +0000 Subject: [PATCH 24/43] Upgrade to Ruby 3.0.0 (704fb0b815). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 0b8100a..5b0af26 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 -@@ -3286,6 +3286,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3279,6 +3279,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 7cda4fa..5dcedad 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 -@@ -3924,7 +3924,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3917,7 +3917,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 b79c010..a8fa980 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 -@@ -3988,6 +3988,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3981,6 +3981,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 cd25be2..c2cccf1 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 -@@ -3960,6 +3960,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3953,6 +3953,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='' -@@ -3984,6 +3988,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3977,6 +3981,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 a5a7ad2..e248753 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 -@@ -3875,9 +3875,6 @@ AS_CASE(["$target_os"], +@@ -3868,9 +3868,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], -@@ -3900,56 +3897,62 @@ AC_ARG_WITH(ridir, +@@ -3893,56 +3890,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3966,6 +3969,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3959,6 +3962,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 4cd6d29..2b90d9e 100644 --- a/ruby-2.7.0-Initialize-ABRT-hook.patch +++ b/ruby-2.7.0-Initialize-ABRT-hook.patch @@ -57,7 +57,7 @@ diff --git a/ruby.c b/ruby.c index 60c57d6259..1eec16f2c8 100644 --- a/ruby.c +++ b/ruby.c -@@ -1488,10 +1488,14 @@ proc_options(long argc, char **argv, ruby_cmdline_options_t *opt, int envopt) +@@ -1489,10 +1489,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 b86ee14..c132709 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 02e17d473a +%global revision 704fb0b815 %global ruby_archive %{name}-%{ruby_version} @@ -30,11 +30,11 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.0.rc.1 +%global rubygems_version 3.2.0.rc.2 %global rubygems_molinillo_version 0.5.7 # Default gems. -%global bundler_version 2.2.0.rc.1 +%global bundler_version 2.2.0.rc.2 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.6.6 @@ -57,10 +57,11 @@ %global minitest_version 5.14.2 %global power_assert_version 1.2.0 %global rake_version 13.0.1 -%global rbs_version 0.12.2 +%global rbs_version 0.13.1 %global test_unit_version 3.3.6 %global rexml_version 3.2.4 %global rss_version 0.2.9 +%global typeprof_version 0.4.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -571,6 +572,25 @@ and receive updates from a particular web service. This library provides tooling to read and create these feeds. +%package -n rubygem-typeprof +Version: %{typeprof_version} +Summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation +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 +TypeProf performs a type analysis of non-annotated Ruby code. +It abstractly executes input Ruby code in a level of types instead of values, +gathers what types are passed to and returned by methods, and prints the +analysis result in RBS format, a standard type description format for Ruby +3.0. + + %prep %setup -q -n %{ruby_archive} @@ -1152,8 +1172,11 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/csv-3.1.7.gemspec %{gem_dir}/specifications/default/date-3.0.1.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec +%{gem_dir}/specifications/default/debug-0.1.0.gemspec %{gem_dir}/specifications/default/delegate-0.1.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec +%{gem_dir}/specifications/default/digest-1.0.0.gemspec +%{gem_dir}/specifications/default/drb-2.0.4.gemspec %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec @@ -1181,6 +1204,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/open-uri-0.1.0.gemspec %{gem_dir}/specifications/default/optparse-0.1.0.gemspec %{gem_dir}/specifications/default/ostruct-0.2.0.gemspec +%{gem_dir}/specifications/default/pathname-0.1.0.gemspec %{gem_dir}/specifications/default/pp-0.1.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.0.gemspec %{gem_dir}/specifications/default/prime-0.1.1.gemspec @@ -1208,6 +1232,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/uri-0.10.0.gemspec %{gem_dir}/specifications/default/weakref-0.1.0.gemspec %{gem_dir}/specifications/default/webrick-1.6.0.gemspec +#%%{gem_dir}/specifications/default/win32ole-1.8.8.gemspec %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec @@ -1337,10 +1362,28 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %doc %{gem_dir}/gems/rss-%{rss_version}/rss.gemspec %doc %{gem_dir}/gems/rss-%{rss_version}/test +%files -n rubygem-typeprof +%dir %{gem_dir}/gems/typeprof-%{typeprof_version} +%{_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}/smoke +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/tools +%{gem_dir}/specifications/typeprof-%{typeprof_version}.gemspec +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Gemfile* +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/README.md +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Rakefile +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc +%lang(ja) %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc/doc.ja.md +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/testbed +%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/typeprof.gemspec + %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (02e17d473a). +- Upgrade to Ruby 3.0.0 (704fb0b815). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 320ac78f8a65b0e439b96d8ee836341cbed61511 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 05 2020 10:01:21 +0000 Subject: [PATCH 25/43] Remove obsolete comment. This comment should have been remove together with did_you_mean moving into rubygems-default-gems. --- diff --git a/ruby.spec b/ruby.spec index c132709..25fde7a 100644 --- a/ruby.spec +++ b/ruby.spec @@ -160,8 +160,6 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Suggests: rubypick Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} -# Change this to requires, hopefully just as temporary measure. -# https://bugs.ruby-lang.org/issues/16431 Recommends: rubygem(openssl) >= %{openssl_version} BuildRequires: autoconf From 5a32de95a4171b21e6949e03922a1e03de4ea1a9 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 05 2020 14:16:13 +0000 Subject: [PATCH 26/43] Disable TestGCCompact to prevent segfaults. --- diff --git a/ruby.spec b/ruby.spec index 25fde7a..36a48f6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -887,6 +887,10 @@ make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" DISABLE_TESTS="" MSPECOPTS="" +# Prevents segfauls in TestGCCompact. +# https://bugs.ruby-lang.org/issues/17306 +DISABLE_TESTS="$DISABLE_TESTS -x test_gc_compact.rb" + # It seems that glibc-2.31.9000 comes with lchmod(2) implementation, but it # does not support symlinks. # https://bugs.ruby-lang.org/issues/16756 From b37ff13fab25b8508e1c6cb56c5a5b68805d68ce Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 20 2020 13:05:22 +0000 Subject: [PATCH 27/43] Upgrade to Ruby 3.0.0 (1f7b557890). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 5b0af26..18a40a1 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 -@@ -3279,6 +3279,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3278,6 +3278,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 5dcedad..b63ea35 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 -@@ -3917,7 +3917,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3916,7 +3916,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 a8fa980..b70349b 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 -@@ -3981,6 +3981,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3980,6 +3980,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 c2cccf1..8217525 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 -@@ -3953,6 +3953,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3952,6 +3952,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='' -@@ -3977,6 +3981,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3976,6 +3980,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 e248753..27d4b7f 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 -@@ -3868,9 +3868,6 @@ AS_CASE(["$target_os"], +@@ -3867,9 +3867,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], -@@ -3893,56 +3890,62 @@ AC_ARG_WITH(ridir, +@@ -3892,56 +3889,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3959,6 +3962,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3958,6 +3961,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 36a48f6..a456f34 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 704fb0b815 +%global revision 1f7b557890 %global ruby_archive %{name}-%{ruby_version} @@ -50,18 +50,18 @@ %global json_version 2.3.1 %global openssl_version 2.2.0 %global psych_version 3.2.0 -%global racc_version 1.5.0 +%global racc_version 1.5.1 %global rdoc_version 6.2.1 # Bundled gems. %global minitest_version 5.14.2 %global power_assert_version 1.2.0 %global rake_version 13.0.1 -%global rbs_version 0.13.1 +%global rbs_version 0.17.0 %global test_unit_version 3.3.6 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global typeprof_version 0.4.0 +%global typeprof_version 0.6.1 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -1182,7 +1182,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.1.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.2.gemspec %{gem_dir}/specifications/default/fileutils-1.4.1.gemspec %{gem_dir}/specifications/default/find-0.1.0.gemspec %{gem_dir}/specifications/default/forwardable-1.3.1.gemspec @@ -1199,13 +1199,13 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/net-imap-0.1.0.gemspec %{gem_dir}/specifications/default/net-pop-0.1.0.gemspec %{gem_dir}/specifications/default/net-protocol-0.1.0.gemspec -%{gem_dir}/specifications/default/net-smtp-0.1.0.gemspec +%{gem_dir}/specifications/default/net-smtp-0.2.1.gemspec %{gem_dir}/specifications/default/nkf-0.1.0.gemspec %{gem_dir}/specifications/default/observer-0.1.0.gemspec %{gem_dir}/specifications/default/open3-0.1.0.gemspec %{gem_dir}/specifications/default/open-uri-0.1.0.gemspec %{gem_dir}/specifications/default/optparse-0.1.0.gemspec -%{gem_dir}/specifications/default/ostruct-0.2.0.gemspec +%{gem_dir}/specifications/default/ostruct-0.3.1.gemspec %{gem_dir}/specifications/default/pathname-0.1.0.gemspec %{gem_dir}/specifications/default/pp-0.1.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.0.gemspec @@ -1231,6 +1231,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %{gem_dir}/specifications/default/tmpdir-0.1.0.gemspec %{gem_dir}/specifications/default/tsort-0.1.0.gemspec %{gem_dir}/specifications/default/tracer-0.1.0.gemspec +%{gem_dir}/specifications/default/un-0.1.0.gemspec %{gem_dir}/specifications/default/uri-0.10.0.gemspec %{gem_dir}/specifications/default/weakref-0.1.0.gemspec %{gem_dir}/specifications/default/webrick-1.6.0.gemspec @@ -1385,7 +1386,7 @@ MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENO %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (704fb0b815). +- Upgrade to Ruby 3.0.0 (1f7b557890). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From d61dd7f54c7d8cd2158f0b6620b57204258e256d Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 20 2020 15:28:23 +0000 Subject: [PATCH 28/43] Enable several fixed specs. --- diff --git a/ruby.spec b/ruby.spec index a456f34..42db5a5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -891,25 +891,9 @@ MSPECOPTS="" # https://bugs.ruby-lang.org/issues/17306 DISABLE_TESTS="$DISABLE_TESTS -x test_gc_compact.rb" -# It seems that glibc-2.31.9000 comes with lchmod(2) implementation, but it -# does not support symlinks. -# https://bugs.ruby-lang.org/issues/16756 -MSPECOPTS="$MSPECOPTS -P 'File.lchmod changes the file mode of the link and not of the file'" - # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} -# Disable "File.utime allows Time instances in the far future to set -# mtime and atime". -# https://bugs.ruby-lang.org/issues/16410 -MSPECOPTS="$MSPECOPTS -P 'File.utime allows Time instances in the far future to set mtime and atime'" - -# Disable File.lchmod specs, which newly fails with: -# Expected [NotImplementedError, Errno::ENOTSUP] to include Errno::ENOENT -# Nevertheless, this test have been removed upstream already: -# https://github.com/ruby/ruby/commit/c881678cd75432f47903a5d1d8b86a7a723cb023 -MSPECOPTS="$MSPECOPTS -P 'File.lchmod raises a NotImplementedError or Errno::ENOTSUP when called'" - # 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 f2e5d52dee4420615bf2dc3e59574ef6b7e000ca Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 20 2020 16:31:48 +0000 Subject: [PATCH 29/43] Disable single ruby-spec test case. Otherwise the test suite gets stuck: ~~~ ... snip ... C-API Kernel function rb_rescue2 - only rescues if one of the passed exceptions is raised ~~~ --- diff --git a/ruby.spec b/ruby.spec index 42db5a5..464bcc2 100644 --- a/ruby.spec +++ b/ruby.spec @@ -894,6 +894,10 @@ DISABLE_TESTS="$DISABLE_TESTS -x test_gc_compact.rb" # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} +# The test suite gets stuck in 'C-API Kernel function rb_rescue2'. +# https://bugs.ruby-lang.org/issues/17338 +MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is not a Module'" + # 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 10863d863c51c12f24193235ac0d88d3cfdf2527 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 24 2020 15:10:30 +0000 Subject: [PATCH 30/43] Exclude `racc-%{racc_version}/bin`. This might conflict similarly to previously excluded `%{_bindir}/racc` --- diff --git a/ruby.spec b/ruby.spec index 464bcc2..2cd9e6f 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1233,7 +1233,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no # could be better if Ruby generated these files: # https://github.com/ruby/ruby/pull/2545 %exclude %{_bindir}/racc -%{gem_dir}/gems/racc-%{racc_version} +%exclude %{gem_dir}/gems/racc-%{racc_version}/bin %files -n rubygem-irb From 58fed71b977f36bbefb1f03e57499df360e5848c Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 25 2020 14:50:07 +0000 Subject: [PATCH 31/43] Add explicit `BR: make`. --- diff --git a/ruby.spec b/ruby.spec index 2cd9e6f..6ee3ff5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -180,6 +180,7 @@ BuildRequires: procps %{?with_hostname:BuildRequires: %{_bindir}/hostname} BuildRequires: multilib-rpm-config BuildRequires: gcc +BuildRequires: make BuildRequires: zlib-devel # This package provides %%{_bindir}/ruby-mri therefore it is marked by this From 1be26a5e65c4bd74a3a5797e58f8b8b8a56a32c6 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 25 2020 15:30:56 +0000 Subject: [PATCH 32/43] Upgrade to Ruby 3.0.0 (7aaf6676c4). --- diff --git a/ruby.spec b/ruby.spec index 6ee3ff5..ab85745 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 1f7b557890 +%global revision 7aaf6676c4 %global ruby_archive %{name}-%{ruby_version} @@ -1160,7 +1160,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/base64-0.1.0.gemspec %{gem_dir}/specifications/default/benchmark-0.1.0.gemspec %{gem_dir}/specifications/default/cgi-0.1.0.gemspec -%{gem_dir}/specifications/default/csv-3.1.7.gemspec +%{gem_dir}/specifications/default/csv-3.1.9.gemspec %{gem_dir}/specifications/default/date-3.0.1.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec %{gem_dir}/specifications/default/debug-0.1.0.gemspec @@ -1375,7 +1375,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (1f7b557890). +- Upgrade to Ruby 3.0.0 (7aaf6676c4). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From a05261a45df11e3118526e5dd8751f5db4a7a018 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 26 2020 10:56:22 +0000 Subject: [PATCH 33/43] Properly locate source archive to have timestamp in NVR. --- diff --git a/ruby.spec b/ruby.spec index ab85745..f3e69c1 100644 --- a/ruby.spec +++ b/ruby.spec @@ -17,7 +17,7 @@ # If revision and milestone are removed/commented out, the official release build is expected. %if 0%{?milestone:1}%{?revision:1} != 0 %global ruby_archive %{ruby_archive}-%{?milestone}%{?!milestone:%{?revision}} -%define ruby_archive_timestamp %(stat --printf='@%Y' %{ruby_archive}.tar.xz | date -f - +"%Y%m%d") +%define ruby_archive_timestamp %(stat --printf='@%Y' %{_sourcedir}/%{ruby_archive}.tar.xz | date -f - +"%Y%m%d") %define development_release %{?milestone}%{?!milestone:%{?revision:%{ruby_archive_timestamp}git%{revision}}} %endif From 9c44ddbd059d41063d833941c2b2f49778e061c9 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Nov 26 2020 11:40:48 +0000 Subject: [PATCH 34/43] Upgrade to Ruby 3.0.0 (6be9d18a4d). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 18a40a1..3004957 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 -@@ -3278,6 +3278,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3284,6 +3284,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 b63ea35..b5d1471 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 -@@ -3916,7 +3916,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3922,7 +3922,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 b70349b..1aa03eb 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 -@@ -3980,6 +3980,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3986,6 +3986,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 8217525..47ededa 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 -@@ -3952,6 +3952,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3958,6 +3958,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='' -@@ -3976,6 +3980,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3982,6 +3986,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 27d4b7f..d262417 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 -@@ -3867,9 +3867,6 @@ AS_CASE(["$target_os"], +@@ -3873,9 +3873,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], -@@ -3892,56 +3889,62 @@ AC_ARG_WITH(ridir, +@@ -3898,56 +3895,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3958,6 +3961,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3964,6 +3967,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 f3e69c1..5fb0259 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 7aaf6676c4 +%global revision 6be9d18a4d %global ruby_archive %{name}-%{ruby_version} @@ -61,7 +61,7 @@ %global test_unit_version 3.3.6 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global typeprof_version 0.6.1 +%global typeprof_version 0.7.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -888,10 +888,6 @@ make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" DISABLE_TESTS="" MSPECOPTS="" -# Prevents segfauls in TestGCCompact. -# https://bugs.ruby-lang.org/issues/17306 -DISABLE_TESTS="$DISABLE_TESTS -x test_gc_compact.rb" - # Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} @@ -1375,7 +1371,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (7aaf6676c4). +- Upgrade to Ruby 3.0.0 (6be9d18a4d). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 3bad6f1e94a77b96fc10ebe31b0c46a90379dc7a Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 04 2020 14:22:27 +0000 Subject: [PATCH 35/43] Upgrade to Ruby 3.0.0 (1cfc6e7b7a). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 3004957..0b8100a 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 -@@ -3284,6 +3284,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3286,6 +3286,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 b5d1471..7cda4fa 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 -@@ -3922,7 +3922,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3924,7 +3924,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 1aa03eb..b79c010 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 -@@ -3986,6 +3986,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3988,6 +3988,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 47ededa..cd25be2 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 -@@ -3958,6 +3958,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3960,6 +3960,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='' -@@ -3982,6 +3986,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3984,6 +3988,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 d262417..a5a7ad2 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 -@@ -3873,9 +3873,6 @@ AS_CASE(["$target_os"], +@@ -3875,9 +3875,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], -@@ -3898,56 +3895,62 @@ AC_ARG_WITH(ridir, +@@ -3900,56 +3897,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3964,6 +3967,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3966,6 +3969,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 5fb0259..9244aa9 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 6be9d18a4d +%global revision 1cfc6e7b7a %global ruby_archive %{name}-%{ruby_version} @@ -57,7 +57,7 @@ %global minitest_version 5.14.2 %global power_assert_version 1.2.0 %global rake_version 13.0.1 -%global rbs_version 0.17.0 +%global rbs_version 0.19.0 %global test_unit_version 3.3.6 %global rexml_version 3.2.4 %global rss_version 0.2.9 @@ -1198,7 +1198,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/pstore-0.1.0.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec -%{gem_dir}/specifications/default/readline-ext-0.1.0.gemspec +%{gem_dir}/specifications/default/readline-ext-0.1.1.gemspec %{gem_dir}/specifications/default/reline-0.1.5.gemspec %{gem_dir}/specifications/default/resolv-0.1.0.gemspec %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec @@ -1371,7 +1371,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (6be9d18a4d). +- Upgrade to Ruby 3.0.0 (1cfc6e7b7a). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 21403077756f1e1b13fb4edf9dfec4240528d604 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 16 2020 17:01:07 +0000 Subject: [PATCH 36/43] Upgrade to Ruby 3.0.0 (a9a7f4d8b8). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 0b8100a..3b354fd 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 -@@ -3286,6 +3286,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3216,6 +3216,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 7cda4fa..c14dbff 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 -@@ -3924,7 +3924,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3854,7 +3854,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 b79c010..63c0738 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 -@@ -3988,6 +3988,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3918,6 +3918,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 cd25be2..c9886d3 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 -@@ -3960,6 +3960,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3890,6 +3890,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='' -@@ -3984,6 +3988,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3914,6 +3918,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 a5a7ad2..cebe53e 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 -@@ -3875,9 +3875,6 @@ AS_CASE(["$target_os"], +@@ -3805,9 +3805,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], -@@ -3900,56 +3897,62 @@ AC_ARG_WITH(ridir, +@@ -3830,56 +3827,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3966,6 +3969,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3896,6 +3899,7 @@ AC_SUBST(sitearchincludedir)dnl AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl @@ -202,14 +202,14 @@ index d4ff4a262c..3f9a5bf590 100644 [ File.dirname(RbConfig::CONFIG['sitedir']), 'Gems', -- RbConfig::CONFIG['ruby_version'] +- RbConfig::CONFIG['ruby_version'], + RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] ] else [ RbConfig::CONFIG['rubylibprefix'], 'gems', -- RbConfig::CONFIG['ruby_version'] +- RbConfig::CONFIG['ruby_version'], + RbConfig::CONFIG['ruby_version_dir_name'] || RbConfig::CONFIG['ruby_version'] ] end diff --git a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch index 09c6b22..db6737d 100644 --- a/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +++ b/ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch @@ -15,7 +15,7 @@ diff --git a/test/fiddle/helper.rb b/test/fiddle/helper.rb index 1da3d93..65148a1 100644 --- a/test/fiddle/helper.rb +++ b/test/fiddle/helper.rb -@@ -127,6 +127,9 @@ +@@ -139,6 +139,9 @@ libc_so = libm_so = "/usr/lib/libSystem.B.dylib" end diff --git a/ruby-2.8.0-Annotate-execstack.patch b/ruby-2.8.0-Annotate-execstack.patch deleted file mode 100644 index fd0be1f..0000000 --- a/ruby-2.8.0-Annotate-execstack.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/coroutine/arm32/Context.S b/coroutine/arm32/Context.S -index b66db29622..596284b5cf 100644 ---- a/coroutine/arm32/Context.S -+++ b/coroutine/arm32/Context.S -@@ -27,3 +27,7 @@ coroutine_transfer: - - # Restore callee state (8 registers program counter) - pop {r4-r11,pc} -+ -+#if defined(__linux__) && defined(__ELF__) -+.section .note.GNU-stack,"",%progbits -+#endif diff --git a/ruby.spec b/ruby.spec index 9244aa9..b77b6a7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -10,7 +10,7 @@ #%%global milestone preview1 # Keep the revision enabled for pre-releases from GIT. -%global revision 1cfc6e7b7a +%global revision a9a7f4d8b8 %global ruby_archive %{name}-%{ruby_version} @@ -30,26 +30,26 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.0.rc.2 -%global rubygems_molinillo_version 0.5.7 +%global rubygems_version 3.2.1 +%global rubygems_molinillo_version 0.7.0 # Default gems. -%global bundler_version 2.2.0.rc.2 +%global bundler_version 2.2.1 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.4.1 -%global bundler_molinillo_version 0.6.6 +%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_uri_version 0.10.0 -%global bigdecimal_version 2.0.1 +%global bigdecimal_version 2.0.2 %global did_you_mean_version 1.4.0 %global erb_version 2.2.0 %global io_console_version 0.5.6 %global irb_version 1.2.7 -%global json_version 2.3.1 +%global json_version 2.4.0 %global openssl_version 2.2.0 -%global psych_version 3.2.0 +%global psych_version 3.2.1 %global racc_version 1.5.1 %global rdoc_version 6.2.1 @@ -57,11 +57,11 @@ %global minitest_version 5.14.2 %global power_assert_version 1.2.0 %global rake_version 13.0.1 -%global rbs_version 0.19.0 -%global test_unit_version 3.3.6 +%global rbs_version 0.20.1 +%global test_unit_version 3.3.7 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global typeprof_version 0.7.0 +%global typeprof_version 0.9.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -145,13 +145,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 fortifications on armv7hl. -# https://bugs.ruby-lang.org/issues/16762 -Patch11: ruby-2.8.0-Annotate-execstack.patch -# Fix `Permission denied @ dir_s_mkdir - /usr/share/gems/plugins` issues -# building rubygem- packages. -# https://github.com/rubygems/rubygems/pull/3972 -Patch12: rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch # Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. # https://bugs.ruby-lang.org/issues/16492 Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -605,8 +598,6 @@ rm -rf ext/fiddle/libffi* %patch5 -p1 %patch6 -p1 %patch9 -p1 -%patch11 -p1 -%patch12 -p1 %patch19 -p1 # Provide an example of usage of the tapset: @@ -661,12 +652,11 @@ sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_li # Kill bundled certificates, as they should be part of ca-certificates. for cert in \ - rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem \ - rubygems.org/AddTrustExternalCARoot.pem \ - index.rubygems.org/GlobalSignRootCA.pem + rubygems.org/GlobalSignRootCA.pem \ + rubygems.org/GlobalSignRootCA_R3.pem do rm %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert - rm -r $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert) + rm -d $(dirname %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/$cert) || : done # Ensure there is not forgotten any certificate. test ! "$(ls -A %{buildroot}%{rubygems_dir}/rubygems/ssl_certs/ 2>/dev/null)" @@ -1008,7 +998,6 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{ruby_libdir}/un.rb %{ruby_libdir}/uri* %{ruby_libdir}/weakref* -%{ruby_libdir}/webrick* %{ruby_libdir}/yaml* # Platform specific libraries. @@ -1167,7 +1156,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.2.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.4.gemspec %{gem_dir}/specifications/default/fileutils-1.4.1.gemspec %{gem_dir}/specifications/default/find-0.1.0.gemspec %{gem_dir}/specifications/default/forwardable-1.3.1.gemspec @@ -1177,7 +1166,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/io-wait-0.1.0.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec %{gem_dir}/specifications/default/logger-1.4.2.gemspec -%{gem_dir}/specifications/default/matrix-0.3.0.gemspec +%{gem_dir}/specifications/default/matrix-0.3.1.gemspec %{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec %{gem_dir}/specifications/default/net-ftp-0.1.0.gemspec %{gem_dir}/specifications/default/net-http-0.1.0.gemspec @@ -1194,12 +1183,12 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/pathname-0.1.0.gemspec %{gem_dir}/specifications/default/pp-0.1.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.0.gemspec -%{gem_dir}/specifications/default/prime-0.1.1.gemspec +%{gem_dir}/specifications/default/prime-0.1.2.gemspec %{gem_dir}/specifications/default/pstore-0.1.0.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.1.gemspec -%{gem_dir}/specifications/default/reline-0.1.5.gemspec +%{gem_dir}/specifications/default/reline-0.1.9.gemspec %{gem_dir}/specifications/default/resolv-0.1.0.gemspec %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec %{gem_dir}/specifications/default/rinda-0.1.0.gemspec @@ -1219,7 +1208,6 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/un-0.1.0.gemspec %{gem_dir}/specifications/default/uri-0.10.0.gemspec %{gem_dir}/specifications/default/weakref-0.1.0.gemspec -%{gem_dir}/specifications/default/webrick-1.6.0.gemspec #%%{gem_dir}/specifications/default/win32ole-1.8.8.gemspec %{gem_dir}/specifications/default/yaml-0.1.0.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec @@ -1316,9 +1304,25 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %files -n rubygem-rbs %{_bindir}/rbs -%{gem_dir}/gems/rbs-%{rbs_version} +%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}/bin +%{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}/gems/rbs-%{rbs_version}/steep %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec %files -n rubygem-test-unit @@ -1335,7 +1339,6 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %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 -%doc %{gem_dir}/gems/rexml-%{rexml_version}/rexml.gemspec %files -n rubygem-rss %dir %{gem_dir}/gems/rss-%{rss_version} @@ -1347,7 +1350,6 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %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}/rss.gemspec %doc %{gem_dir}/gems/rss-%{rss_version}/test %files -n rubygem-typeprof @@ -1366,12 +1368,11 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc %lang(ja) %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/doc/doc.ja.md %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/testbed -%doc %{gem_dir}/gems/typeprof-%{typeprof_version}/typeprof.gemspec %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (1cfc6e7b7a). +- Upgrade to Ruby 3.0.0 (a9a7f4d8b8). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. diff --git a/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch b/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch deleted file mode 100644 index 88a033e..0000000 --- a/rubygems-3.2.0-Install-to-correct-plugins-dir-when-using-build-root.patch +++ /dev/null @@ -1,143 +0,0 @@ -From c3995fb9f5b520f05936ea6ec99d8d4fad18f024 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?David=20Rodr=C3=ADguez?= -Date: Mon, 28 Sep 2020 11:46:15 +0200 -Subject: [PATCH 1/3] Add tests for build_root ui messages - ---- - test/rubygems/test_gem_installer.rb | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb -index 1424b140d24..034a187fc0f 100644 ---- a/test/rubygems/test_gem_installer.rb -+++ b/test/rubygems/test_gem_installer.rb -@@ -1781,13 +1781,22 @@ def test_process_options - - def test_process_options_build_root - build_root = File.join @tempdir, 'build_root' -+ bin_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'bin') -+ gem_home = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, '')) - - @gem = setup_base_gem -- installer = Gem::Installer.at @gem, :build_root => build_root -+ installer = use_ui(@ui) { Gem::Installer.at @gem, :build_root => build_root } - - assert_equal Pathname(build_root), installer.build_root -- assert_equal File.join(build_root, @gemhome, 'bin'), installer.bin_dir -- assert_equal File.join(build_root, @gemhome), installer.gem_home -+ assert_equal bin_dir, installer.bin_dir -+ assert_equal gem_home, installer.gem_home -+ -+ errors = @ui.error.split("\n") -+ -+ assert_equal "WARNING: You build with buildroot.", errors.shift -+ assert_equal " Build root: #{build_root}", errors.shift -+ assert_equal " Bin dir: #{bin_dir}", errors.shift -+ assert_equal " Gem home: #{gem_home}", errors.shift - end - - def test_shebang_arguments - -From e1528db2c7dc8c7e5850e0754a7bb6e6dbc9009e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?David=20Rodr=C3=ADguez?= -Date: Mon, 28 Sep 2020 11:48:52 +0200 -Subject: [PATCH 2/3] Correctly set plugins dir when using `--build-root` - ---- - lib/rubygems/installer.rb | 1 + - test/rubygems/test_gem_installer.rb | 25 +++++++++++++++++++++++++ - 2 files changed, 26 insertions(+) - -diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb -index f4c4be4ac93..e982d2fd2ce 100644 ---- a/lib/rubygems/installer.rb -+++ b/lib/rubygems/installer.rb -@@ -697,6 +697,7 @@ def process_options # :nodoc: - @build_root = Pathname.new(@build_root).expand_path - @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) - @gem_home = File.join(@build_root, @gem_home) -+ @plugins_dir = File.join(@build_root, @plugins_dir.gsub(/^[a-zA-Z]:/, '')) - alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" - end - end -diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb -index 034a187fc0f..ef6003c28fb 100644 ---- a/test/rubygems/test_gem_installer.rb -+++ b/test/rubygems/test_gem_installer.rb -@@ -798,6 +798,31 @@ def test_generate_plugins_with_user_install - assert File.exist?(user_path), 'plugin not written to user plugins_dir' - end - -+ def test_generate_plugins_with_build_root -+ spec = quick_gem 'a' do |s| -+ write_file File.join(@tempdir, 'lib', 'rubygems_plugin.rb') do |io| -+ io.write "puts __FILE__" -+ end -+ -+ s.files += %w[lib/rubygems_plugin.rb] -+ end -+ -+ util_build_gem spec -+ -+ File.chmod(0555, Gem.plugindir) -+ system_path = File.join(Gem.plugindir, 'a_plugin.rb') -+ -+ build_root = File.join(@tempdir, 'build_root') -+ build_root_path = File.join(build_root, Gem.plugindir.gsub(/^[a-zA-Z]:/, ''), 'a_plugin.rb') -+ -+ installer = Gem::Installer.at spec.cache_file, :build_root => build_root -+ -+ assert_equal spec, installer.install -+ -+ 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' -+ end -+ - def test_keeps_plugins_up_to_date - # NOTE: version a-2 is already installed by setup hooks - - -From ba4df51949474a09479baf84374131ca095eda98 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?David=20Rodr=C3=ADguez?= -Date: Mon, 28 Sep 2020 11:51:00 +0200 -Subject: [PATCH 3/3] Also print plugins dir when using `--build-root` - -For consistency. ---- - lib/rubygems/installer.rb | 2 +- - test/rubygems/test_gem_installer.rb | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb -index e982d2fd2ce..b1c2ae4f237 100644 ---- a/lib/rubygems/installer.rb -+++ b/lib/rubygems/installer.rb -@@ -698,7 +698,7 @@ def process_options # :nodoc: - @bin_dir = File.join(@build_root, options[:bin_dir] || Gem.bindir(@gem_home)) - @gem_home = File.join(@build_root, @gem_home) - @plugins_dir = File.join(@build_root, @plugins_dir.gsub(/^[a-zA-Z]:/, '')) -- alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}" -+ alert_warning "You build with buildroot.\n Build root: #{@build_root}\n Bin dir: #{@bin_dir}\n Gem home: #{@gem_home}\n Plugins dir: #{@plugins_dir}" - end - end - -diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb -index ef6003c28fb..0a9a2e38dd8 100644 ---- a/test/rubygems/test_gem_installer.rb -+++ b/test/rubygems/test_gem_installer.rb -@@ -1808,6 +1808,7 @@ def test_process_options_build_root - build_root = File.join @tempdir, 'build_root' - bin_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'bin') - gem_home = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, '')) -+ plugins_dir = File.join(build_root, @gemhome.gsub(/^[a-zA-Z]:/, ''), 'plugins') - - @gem = setup_base_gem - installer = use_ui(@ui) { Gem::Installer.at @gem, :build_root => build_root } -@@ -1822,6 +1823,7 @@ def test_process_options_build_root - assert_equal " Build root: #{build_root}", errors.shift - assert_equal " Bin dir: #{bin_dir}", errors.shift - assert_equal " Gem home: #{gem_home}", errors.shift -+ assert_equal " Plugins dir: #{plugins_dir}", errors.shift - end - - def test_shebang_arguments From fd4e5134769b73b349ffe5cd1005ab493d9e44fe Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Dec 17 2020 08:35:34 +0000 Subject: [PATCH 37/43] Add Recommends: redhat-rpm-config to devel subpackage as it's needed for building (gem install ...) gems with binary extensions. This is a workaround to have /usr/lib/rpm/redhat/redhat-hardened-cc1 on the system, as same CFLAGS are reused from when Ruby was built. Resolves: rhbz#1905222 --- diff --git a/ruby.spec b/ruby.spec index b77b6a7..cdcba84 100644 --- a/ruby.spec +++ b/ruby.spec @@ -193,6 +193,9 @@ Requires: %{name}%{?_isa} = %{version}-%{release} # This would not be needed if ~50 packages depending on -devel used # --disable-gems Requires: rubygems +# Users need CFLAGS from /usr/lib/rpm/redhat/redhat-hardened-cc1 +# for building gems with binary extensions (rhbz#1905222). +Recommends: redhat-rpm-config %description devel Header files and libraries for building an extension library for the From 2490fcead52bfa954b2ac36ca32c3fbe46a1047e Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 21 2020 12:33:44 +0000 Subject: [PATCH 38/43] Upgrade to Ruby 3.0.0.rc1 (8680ae9cbd). --- diff --git a/ruby.spec b/ruby.spec index cdcba84..f4d621d 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 preview1 +%global milestone rc1 # Keep the revision enabled for pre-releases from GIT. %global revision a9a7f4d8b8 @@ -30,11 +30,11 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.1 +%global rubygems_version 3.2.2 %global rubygems_molinillo_version 0.7.0 # Default gems. -%global bundler_version 2.2.1 +%global bundler_version 2.2.2 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.7.0 @@ -42,12 +42,12 @@ %global bundler_thor_version 1.0.1 %global bundler_uri_version 0.10.0 -%global bigdecimal_version 2.0.2 +%global bigdecimal_version 3.0.0 %global did_you_mean_version 1.4.0 %global erb_version 2.2.0 %global io_console_version 0.5.6 -%global irb_version 1.2.7 -%global json_version 2.4.0 +%global irb_version 1.2.8 +%global json_version 2.4.1 %global openssl_version 2.2.0 %global psych_version 3.2.1 %global racc_version 1.5.1 @@ -56,12 +56,12 @@ # Bundled gems. %global minitest_version 5.14.2 %global power_assert_version 1.2.0 -%global rake_version 13.0.1 -%global rbs_version 0.20.1 +%global rake_version 13.0.2 +%global rbs_version 1.0.0.pre %global test_unit_version 3.3.7 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global typeprof_version 0.9.0 +%global typeprof_version 0.10.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -1154,7 +1154,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/debug-0.1.0.gemspec %{gem_dir}/specifications/default/delegate-0.1.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec -%{gem_dir}/specifications/default/digest-1.0.0.gemspec +%{gem_dir}/specifications/default/digest-3.0.0.gemspec %{gem_dir}/specifications/default/drb-2.0.4.gemspec %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.1.0.gemspec @@ -1191,7 +1191,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{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.1.9.gemspec +%{gem_dir}/specifications/default/reline-0.1.10.gemspec %{gem_dir}/specifications/default/resolv-0.1.0.gemspec %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec %{gem_dir}/specifications/default/rinda-0.1.0.gemspec @@ -1199,8 +1199,8 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/set-0.1.0.gemspec %{gem_dir}/specifications/default/shellwords-0.1.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec -%{gem_dir}/specifications/default/stringio-0.1.4.gemspec -%{gem_dir}/specifications/default/strscan-1.0.4.gemspec +%{gem_dir}/specifications/default/stringio-3.0.0.gemspec +%{gem_dir}/specifications/default/strscan-3.0.0.gemspec %{gem_dir}/specifications/default/syslog-0.1.0.gemspec %{gem_dir}/specifications/default/tempfile-0.1.0.gemspec %{gem_dir}/specifications/default/time-0.1.0.gemspec @@ -1375,7 +1375,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (a9a7f4d8b8). +- Upgrade to Ruby 3.0.0.rc1 (8680ae9cbd). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 3dd03fa528f80e7254021247fa730ae54598bfea Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 21 2020 14:01:54 +0000 Subject: [PATCH 39/43] Upgrade to Ruby 3.0.0 (8680ae9cbd). --- diff --git a/ruby.spec b/ruby.spec index f4d621d..3265a97 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 rc1 # Keep the revision enabled for pre-releases from GIT. -%global revision a9a7f4d8b8 +%global revision d84dd66da0 %global ruby_archive %{name}-%{ruby_version} @@ -51,12 +51,12 @@ %global openssl_version 2.2.0 %global psych_version 3.2.1 %global racc_version 1.5.1 -%global rdoc_version 6.2.1 +%global rdoc_version 6.3.0 # Bundled gems. %global minitest_version 5.14.2 %global power_assert_version 1.2.0 -%global rake_version 13.0.2 +%global rake_version 13.0.3 %global rbs_version 1.0.0.pre %global test_unit_version 3.3.7 %global rexml_version 3.2.4 @@ -1375,7 +1375,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0.rc1 (8680ae9cbd). +- Upgrade to Ruby 3.0.0 (8680ae9cbd). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 3c5798478011e281fc3c3eedd852fc52e427e904 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 22 2020 12:10:59 +0000 Subject: [PATCH 40/43] Upgrade to Ruby 3.0.0 (93a56a5e98). --- diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index 3b354fd..e250c04 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 -@@ -3216,6 +3216,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3218,6 +3218,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 c14dbff..412ffb8 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 -@@ -3854,7 +3854,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3856,7 +3856,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 63c0738..f2e1067 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 -@@ -3918,6 +3918,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3920,6 +3920,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 c9886d3..48676b9 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 -@@ -3890,6 +3890,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3892,6 +3892,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='' -@@ -3914,6 +3918,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3916,6 +3920,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 cebe53e..87d5509 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 -@@ -3805,9 +3805,6 @@ AS_CASE(["$target_os"], +@@ -3807,9 +3807,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], -@@ -3830,56 +3827,62 @@ AC_ARG_WITH(ridir, +@@ -3832,56 +3829,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3896,6 +3899,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3898,6 +3901,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 3265a97..5f28b19 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 d84dd66da0 +%global revision 93a56a5e98 %global ruby_archive %{name}-%{ruby_version} @@ -43,11 +43,11 @@ %global bundler_uri_version 0.10.0 %global bigdecimal_version 3.0.0 -%global did_you_mean_version 1.4.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.2.8 -%global json_version 2.4.1 +%global json_version 2.5.0 %global openssl_version 2.2.0 %global psych_version 3.2.1 %global racc_version 1.5.1 @@ -986,7 +986,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{ruby_libdir}/rinda %{ruby_libdir}/ripper* %{ruby_libdir}/securerandom.rb -%{ruby_libdir}/set.rb +%{ruby_libdir}/set* %{ruby_libdir}/shellwords.rb %{ruby_libdir}/singleton* %{ruby_libdir}/socket.rb @@ -1196,7 +1196,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec %{gem_dir}/specifications/default/rinda-0.1.0.gemspec %{gem_dir}/specifications/default/securerandom-0.1.0.gemspec -%{gem_dir}/specifications/default/set-0.1.0.gemspec +%{gem_dir}/specifications/default/set-1.0.0.gemspec %{gem_dir}/specifications/default/shellwords-0.1.0.gemspec %{gem_dir}/specifications/default/singleton-0.1.0.gemspec %{gem_dir}/specifications/default/stringio-3.0.0.gemspec @@ -1375,7 +1375,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (8680ae9cbd). +- Upgrade to Ruby 3.0.0 (93a56a5e98). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From ceb2428ce1b8c648cfbfc3c25464f5754ff9c155 Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Dec 23 2020 11:44:54 +0000 Subject: [PATCH 41/43] Upgrade to Ruby 3.0.0 (684649ea05). --- diff --git a/ruby.spec b/ruby.spec index 5f28b19..9d72fa9 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 93a56a5e98 +%global revision 684649ea05 %global ruby_archive %{name}-%{ruby_version} @@ -30,11 +30,11 @@ %global rubygems_dir %{_datadir}/rubygems # Bundled libraries versions -%global rubygems_version 3.2.2 +%global rubygems_version 3.2.3 %global rubygems_molinillo_version 0.7.0 # Default gems. -%global bundler_version 2.2.2 +%global bundler_version 2.2.3 %global bundler_connection_pool_version 2.2.2 %global bundler_fileutils_version 1.4.1 %global bundler_molinillo_version 0.7.0 @@ -46,10 +46,10 @@ %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.2.8 -%global json_version 2.5.0 +%global irb_version 1.2.9 +%global json_version 2.5.1 %global openssl_version 2.2.0 -%global psych_version 3.2.1 +%global psych_version 3.3.0 %global racc_version 1.5.1 %global rdoc_version 6.3.0 @@ -1143,43 +1143,43 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{_rpmconfigdir}/rubygems.con %files default-gems -%{gem_dir}/specifications/default/english-0.7.0.gemspec +%{gem_dir}/specifications/default/english-0.7.1.gemspec %{gem_dir}/specifications/default/abbrev-0.1.0.gemspec %{gem_dir}/specifications/default/base64-0.1.0.gemspec -%{gem_dir}/specifications/default/benchmark-0.1.0.gemspec -%{gem_dir}/specifications/default/cgi-0.1.0.gemspec +%{gem_dir}/specifications/default/benchmark-0.1.1.gemspec +%{gem_dir}/specifications/default/cgi-0.2.0.gemspec %{gem_dir}/specifications/default/csv-3.1.9.gemspec -%{gem_dir}/specifications/default/date-3.0.1.gemspec +%{gem_dir}/specifications/default/date-3.1.0.gemspec %{gem_dir}/specifications/default/dbm-1.1.0.gemspec %{gem_dir}/specifications/default/debug-0.1.0.gemspec -%{gem_dir}/specifications/default/delegate-0.1.0.gemspec +%{gem_dir}/specifications/default/delegate-0.2.0.gemspec %{gem_dir}/specifications/default/did_you_mean-%{did_you_mean_version}.gemspec %{gem_dir}/specifications/default/digest-3.0.0.gemspec %{gem_dir}/specifications/default/drb-2.0.4.gemspec %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec -%{gem_dir}/specifications/default/etc-1.1.0.gemspec +%{gem_dir}/specifications/default/etc-1.2.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.4.gemspec -%{gem_dir}/specifications/default/fileutils-1.4.1.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.5.gemspec +%{gem_dir}/specifications/default/fileutils-1.5.0.gemspec %{gem_dir}/specifications/default/find-0.1.0.gemspec -%{gem_dir}/specifications/default/forwardable-1.3.1.gemspec +%{gem_dir}/specifications/default/forwardable-1.3.2.gemspec %{gem_dir}/specifications/default/gdbm-2.1.0.gemspec -%{gem_dir}/specifications/default/getoptlong-0.1.0.gemspec +%{gem_dir}/specifications/default/getoptlong-0.1.1.gemspec %{gem_dir}/specifications/default/io-nonblock-0.1.0.gemspec %{gem_dir}/specifications/default/io-wait-0.1.0.gemspec %{gem_dir}/specifications/default/ipaddr-1.2.2.gemspec -%{gem_dir}/specifications/default/logger-1.4.2.gemspec +%{gem_dir}/specifications/default/logger-1.4.3.gemspec %{gem_dir}/specifications/default/matrix-0.3.1.gemspec -%{gem_dir}/specifications/default/mutex_m-0.1.0.gemspec -%{gem_dir}/specifications/default/net-ftp-0.1.0.gemspec -%{gem_dir}/specifications/default/net-http-0.1.0.gemspec -%{gem_dir}/specifications/default/net-imap-0.1.0.gemspec -%{gem_dir}/specifications/default/net-pop-0.1.0.gemspec +%{gem_dir}/specifications/default/mutex_m-0.1.1.gemspec +%{gem_dir}/specifications/default/net-ftp-0.1.1.gemspec +%{gem_dir}/specifications/default/net-http-0.1.1.gemspec +%{gem_dir}/specifications/default/net-imap-0.1.1.gemspec +%{gem_dir}/specifications/default/net-pop-0.1.1.gemspec %{gem_dir}/specifications/default/net-protocol-0.1.0.gemspec %{gem_dir}/specifications/default/net-smtp-0.2.1.gemspec %{gem_dir}/specifications/default/nkf-0.1.0.gemspec -%{gem_dir}/specifications/default/observer-0.1.0.gemspec -%{gem_dir}/specifications/default/open3-0.1.0.gemspec +%{gem_dir}/specifications/default/observer-0.1.1.gemspec +%{gem_dir}/specifications/default/open3-0.1.1.gemspec %{gem_dir}/specifications/default/open-uri-0.1.0.gemspec %{gem_dir}/specifications/default/optparse-0.1.0.gemspec %{gem_dir}/specifications/default/ostruct-0.3.1.gemspec @@ -1187,32 +1187,32 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/pp-0.1.0.gemspec %{gem_dir}/specifications/default/prettyprint-0.1.0.gemspec %{gem_dir}/specifications/default/prime-0.1.2.gemspec -%{gem_dir}/specifications/default/pstore-0.1.0.gemspec +%{gem_dir}/specifications/default/pstore-0.1.1.gemspec %{gem_dir}/specifications/default/racc-%{racc_version}.gemspec %{gem_dir}/specifications/default/readline-0.0.2.gemspec %{gem_dir}/specifications/default/readline-ext-0.1.1.gemspec %{gem_dir}/specifications/default/reline-0.1.10.gemspec -%{gem_dir}/specifications/default/resolv-0.1.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/rinda-0.1.0.gemspec %{gem_dir}/specifications/default/securerandom-0.1.0.gemspec -%{gem_dir}/specifications/default/set-1.0.0.gemspec +%{gem_dir}/specifications/default/set-1.0.1.gemspec %{gem_dir}/specifications/default/shellwords-0.1.0.gemspec -%{gem_dir}/specifications/default/singleton-0.1.0.gemspec +%{gem_dir}/specifications/default/singleton-0.1.1.gemspec %{gem_dir}/specifications/default/stringio-3.0.0.gemspec %{gem_dir}/specifications/default/strscan-3.0.0.gemspec %{gem_dir}/specifications/default/syslog-0.1.0.gemspec -%{gem_dir}/specifications/default/tempfile-0.1.0.gemspec +%{gem_dir}/specifications/default/tempfile-0.1.1.gemspec %{gem_dir}/specifications/default/time-0.1.0.gemspec -%{gem_dir}/specifications/default/timeout-0.1.0.gemspec -%{gem_dir}/specifications/default/tmpdir-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/tsort-0.1.0.gemspec -%{gem_dir}/specifications/default/tracer-0.1.0.gemspec +%{gem_dir}/specifications/default/tracer-0.1.1.gemspec %{gem_dir}/specifications/default/un-0.1.0.gemspec -%{gem_dir}/specifications/default/uri-0.10.0.gemspec -%{gem_dir}/specifications/default/weakref-0.1.0.gemspec +%{gem_dir}/specifications/default/uri-0.10.1.gemspec +%{gem_dir}/specifications/default/weakref-0.1.1.gemspec #%%{gem_dir}/specifications/default/win32ole-1.8.8.gemspec -%{gem_dir}/specifications/default/yaml-0.1.0.gemspec +%{gem_dir}/specifications/default/yaml-0.1.1.gemspec %{gem_dir}/specifications/default/zlib-1.1.0.gemspec %{gem_dir}/gems/erb-%{erb_version} @@ -1375,7 +1375,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog * Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (93a56a5e98). +- Upgrade to Ruby 3.0.0 (684649ea05). - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby. From 64579ec58fc66b8b992284de52cb5d05387efc39 Mon Sep 17 00:00:00 2001 From: Pavel Valena Date: Dec 31 2020 01:29:14 +0000 Subject: [PATCH 42/43] Upgrade to Ruby 3.0.0 (release). --- diff --git a/ruby.spec b/ruby.spec index 9d72fa9..fe0d2b5 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 684649ea05 +#%%global revision 684649ea05 %global ruby_archive %{name}-%{ruby_version} @@ -46,7 +46,7 @@ %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.2.9 +%global irb_version 1.3.0 %global json_version 2.5.1 %global openssl_version 2.2.0 %global psych_version 3.3.0 @@ -57,11 +57,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.pre +%global rbs_version 1.0.0 %global test_unit_version 3.3.7 %global rexml_version 3.2.4 %global rss_version 0.2.9 -%global typeprof_version 0.10.0 +%global typeprof_version 0.11.0 %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* @@ -1159,7 +1159,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{gem_dir}/specifications/default/erb-%{erb_version}.gemspec %{gem_dir}/specifications/default/etc-1.2.0.gemspec %{gem_dir}/specifications/default/fcntl-1.0.0.gemspec -%{gem_dir}/specifications/default/fiddle-1.0.5.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.6.gemspec %{gem_dir}/specifications/default/fileutils-1.5.0.gemspec %{gem_dir}/specifications/default/find-0.1.0.gemspec %{gem_dir}/specifications/default/forwardable-1.3.2.gemspec @@ -1191,7 +1191,7 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %{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.1.10.gemspec +%{gem_dir}/specifications/default/reline-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/rinda-0.1.0.gemspec diff --git a/sources b/sources index d32bf72..2b68f2e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ruby-2.7.0.tar.xz) = dd5690c631bf3a2b76cdc06902bcd76a89713a045e136debab9b8a81ff8c433bbb254aa09e4014ca1cf85a69ff4bcb13de11da5e40c224e7268be43ef2194af7 +SHA512 (ruby-3.0.0.tar.xz) = 2a23c2894e62e24bb20cec6b2a016b66d7df05083668726b6f70af8338211cfec417aa3624290d1f5ccd130f65ee7b52b5db7d428abc4a9460459c9a5dd1a450 From 27f4f208859b49c77267c345b855c723a6c225ff Mon Sep 17 00:00:00 2001 From: Vít Ondruch Date: Jan 04 2021 12:28:52 +0000 Subject: [PATCH 43/43] Upgrade to Ruby 3.0.0. --- diff --git a/.gitignore b/.gitignore index 3523d77..a59f941 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ /*/ -/ruby-2.*.tar.bz2 -/ruby-2.*.tar.xz +/ruby-*.tar.xz /*.rpm diff --git a/ruby-2.1.0-Enable-configuration-of-archlibdir.patch b/ruby-2.1.0-Enable-configuration-of-archlibdir.patch index e250c04..9759776 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 -@@ -3218,6 +3218,11 @@ AS_IF([test ${multiarch+set}], [ +@@ -3211,6 +3211,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 412ffb8..2e751cb 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 -@@ -3856,7 +3856,8 @@ AS_CASE(["$ruby_version_dir_name"], +@@ -3852,7 +3852,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 f2e1067..c1b3942 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 -@@ -3920,6 +3920,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3916,6 +3916,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 48676b9..1646675 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 -@@ -3892,6 +3892,10 @@ AC_ARG_WITH(vendorarchdir, +@@ -3888,6 +3888,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='' -@@ -3916,6 +3920,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3912,6 +3916,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 87d5509..9dc9cc4 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 -@@ -3807,9 +3807,6 @@ AS_CASE(["$target_os"], +@@ -3803,9 +3803,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], -@@ -3832,56 +3829,62 @@ AC_ARG_WITH(ridir, +@@ -3828,56 +3825,62 @@ AC_ARG_WITH(ridir, AC_SUBST(ridir) AC_SUBST(RI_BASE_NAME) @@ -120,7 +120,7 @@ index 80b137e380..63cd3b4f8b 100644 AS_IF([test "${LOAD_RELATIVE+set}"], [ AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) -@@ -3898,6 +3901,7 @@ AC_SUBST(sitearchincludedir)dnl +@@ -3894,6 +3897,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 fe0d2b5..4f77813 100644 --- a/ruby.spec +++ b/ruby.spec @@ -22,7 +22,7 @@ %endif -%global release 1 +%global release 138 %{!?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 @@ -874,9 +874,7 @@ touch abrt.rb make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" # Check if systemtap is supported. -# Disable temporary: -# https://bugs.ruby-lang.org/issues/16658 -#%%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} +%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} DISABLE_TESTS="" MSPECOPTS="" @@ -1374,8 +1372,8 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog -* Wed Oct 07 2020 Vít Ondruch - 3.0.0-1 -- Upgrade to Ruby 3.0.0 (684649ea05). +* Wed Oct 07 2020 Vít Ondruch - 3.0.0-138 +- Upgrade to Ruby 3.0.0. - Extract RSS and REXML into separate subpackages, because they were moved from default gems to bundled gems. - Obsolete Net::Telnet and XMLRPC packages, because they were dropped from Ruby.