From 03cd41fefd695ccde7946030eebda85c6248a230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 27 Feb 2020 12:10:24 +0100 Subject: [PATCH] Upgrade to Ruby 2.8.0 (83705c42ce). --- ...0-Enable-configuration-of-archlibdir.patch | 2 +- ...ed-paths-when-empty-version-string-i.patch | 2 +- ruby-2.1.0-always-use-i386.patch | 2 +- ruby-2.1.0-custom-rubygems-location.patch | 4 +-- ruby-2.3.0-ruby_version.patch | 6 ++-- ruby-2.8.0-Fix-wrong-RegExp.patch | 27 ++++++++++++++++ ruby.spec | 32 ++++++++++++++----- 7 files changed, 59 insertions(+), 16 deletions(-) create mode 100644 ruby-2.8.0-Fix-wrong-RegExp.patch 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.