diff --git a/alt-brepo-ruby30/alt-brepo-ruby30-Disable-Tmp-Test.patch b/alt-brepo-ruby30/alt-brepo-ruby30-Disable-Tmp-Test.patch new file mode 100644 index 0000000..cfd5950 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30-Disable-Tmp-Test.patch @@ -0,0 +1,47 @@ +diff --git a/test/test_tmpdir.rb b/test/test_tmpdir.rb +index 7ef9f59..ced6835 100644 +--- a/test/test_tmpdir.rb ++++ b/test/test_tmpdir.rb +@@ -11,42 +11,6 @@ class TestTmpdir < Test::Unit::TestCase + assert_equal(tmpdir_org, Dir.tmpdir) + end + +- def test_world_writable +- skip "no meaning on this platform" if /mswin|mingw/ =~ RUBY_PLATFORM +- Dir.mktmpdir do |tmpdir| +- # ToDo: fix for parallel test +- envs = %w[TMPDIR TMP TEMP] +- oldenv = envs.each_with_object({}) {|v, h| h[v] = ENV.delete(v)} +- begin +- envs.each do |e| +- tmpdirx = File.join(tmpdir, e) +- ENV[e] = tmpdirx +- assert_not_equal(tmpdirx, assert_warn('') {Dir.tmpdir}) +- File.write(tmpdirx, "") +- assert_not_equal(tmpdirx, assert_warn(/not a directory/) {Dir.tmpdir}) +- File.unlink(tmpdirx) +- ENV[e] = tmpdir +- assert_equal(tmpdir, Dir.tmpdir) +- File.chmod(0555, tmpdir) +- assert_not_equal(tmpdir, assert_warn(/not writable/) {Dir.tmpdir}) +- File.chmod(0777, tmpdir) +- assert_not_equal(tmpdir, assert_warn(/world-writable/) {Dir.tmpdir}) +- newdir = Dir.mktmpdir("d", tmpdir) do |dir| +- assert_file.directory? dir +- assert_equal(tmpdir, File.dirname(dir)) +- dir +- end +- assert_file.not_exist?(newdir) +- File.chmod(01777, tmpdir) +- assert_equal(tmpdir, Dir.tmpdir) +- ENV[e] = nil +- end +- ensure +- ENV.update(oldenv) +- end +- end +- end +- + def test_no_homedir + bug7547 = '[ruby-core:50793]' + home, ENV["HOME"] = ENV["HOME"], nil diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.macros.ruby.patch b/alt-brepo-ruby30/alt-brepo-ruby30.macros.ruby.patch new file mode 100644 index 0000000..488ab69 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.macros.ruby.patch @@ -0,0 +1,19 @@ +diff --git a/macros.ruby b/macros.ruby +index 36f4077..b1d2fa1 100644 +--- a/macros.ruby ++++ b/macros.ruby +@@ -1,10 +1,10 @@ +-%ruby_libdir %{_datadir}/%{name} +-%ruby_libarchdir %{_libdir}/%{name} ++%ruby_libdir %{_datadir}/ruby ++%ruby_libarchdir %{_libdir}/ruby + + # This is the local lib/arch and should not be used for packaging. + %ruby_sitedir site_ruby +-%ruby_sitelibdir %{_prefix}/local/share/%{name}/%{ruby_sitedir} +-%ruby_sitearchdir %{_prefix}/local/%{_lib}/%{name}/%{ruby_sitedir} ++%ruby_sitelibdir %{_prefix}/share/ruby/%{ruby_sitedir} ++%ruby_sitearchdir %{_prefix}/%{_lib}/ruby/%{ruby_sitedir} + + # This is the general location for libs/archs compatible with all + # or most of the Ruby versions available in the Fedora repositories. diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.macros.rubygems.patch b/alt-brepo-ruby30/alt-brepo-ruby30.macros.rubygems.patch new file mode 100644 index 0000000..916d4c4 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.macros.rubygems.patch @@ -0,0 +1,13 @@ +diff --git a/macros.rubygems b/macros.rubygems +index 8c4d067..5f2e65a 100644 +--- a/macros.rubygems ++++ b/macros.rubygems +@@ -4,7 +4,7 @@ + + # Common gem locations and files. + %gem_instdir %{gem_dir}/gems/%{gem_name}-%{version}%{?prerelease} +-%gem_extdir_mri %{gem_archdir}/%{name}/%{gem_name}-%{version}%{?prerelease} ++%gem_extdir_mri %{gem_archdir}/ruby/%{gem_name}-%{version}%{?prerelease} + %gem_libdir %{gem_instdir}/lib + %gem_cache %{gem_dir}/cache/%{gem_name}-%{version}%{?prerelease}.gem + %gem_spec %{gem_dir}/specifications/%{gem_name}-%{version}%{?prerelease}.gemspec diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.con.patch b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.con.patch new file mode 100644 index 0000000..f1ce9f7 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.con.patch @@ -0,0 +1,13 @@ +diff --git a/rubygems.con b/rubygems.con +index 1a99ed0..98df7e8 100644 +--- a/rubygems.con ++++ b/rubygems.con +@@ -22,7 +22,7 @@ module RubyGemsReq + def self.gem_depenencies(specification) + specification.runtime_dependencies.each do |dependency| + conflict_strings = Helpers::requirement_versions_to_rpm(dependency.requirement).map do |requirement| +- requirement_string = "rubygem(#{dependency.name}) #{requirement}" ++ requirement_string = "alt-brepo-ruby30-rubygem(#{dependency.name}) #{requirement}" + end + if conflict_strings.length > 0 + conflict_string = conflict_strings.join(' with ') diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.prov.patch b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.prov.patch new file mode 100644 index 0000000..6544edd --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.prov.patch @@ -0,0 +1,13 @@ +diff --git a/rubygems.prov b/rubygems.prov +index f23ec3f..3247573 100644 +--- a/rubygems.prov ++++ b/rubygems.prov +@@ -23,7 +23,7 @@ module RubyGemsProv + begin + specification = Gem::Specification.load filename + +- puts "rubygem(#{specification.name}) = #{Helpers::normalize_prerelease(specification.version)}" ++ puts "alt-brepo-ruby30-rubygem(#{specification.name}) = #{Helpers::normalize_prerelease(specification.version)}" + rescue => e + # Ignore all errors. + end diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.req.patch b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.req.patch new file mode 100644 index 0000000..5677dc9 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.rubygems.req.patch @@ -0,0 +1,22 @@ +diff --git a/rubygems.req b/rubygems.req +index 38e4a9c..b635fff 100644 +--- a/rubygems.req ++++ b/rubygems.req +@@ -51,7 +51,7 @@ module RubyGemsReq + + # Report RubyGems dependency, versioned if required. + def self.rubygems_dependency(specification) +- dependency_name = "ruby(rubygems)" ++ dependency_name = "alt-brepo-ruby30-ruby(rubygems)" + requirements = Helpers::requirement_versions_to_rpm(specification.required_rubygems_version) + + puts Helpers::compose_dependency_string(dependency_name, requirements) +@@ -60,7 +60,7 @@ module RubyGemsReq + # Report all gem dependencies including their version. + def self.gem_depenencies(specification) + specification.runtime_dependencies.each do |dependency| +- dependency_name = "rubygem(#{dependency.name})" ++ dependency_name = "alt-brepo-ruby30-rubygem(#{dependency.name})" + requirements = Helpers::requirement_versions_to_rpm(dependency.requirement) + + puts Helpers::compose_dependency_string(dependency_name, requirements) diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.spec b/alt-brepo-ruby30/alt-brepo-ruby30.spec new file mode 100644 index 0000000..7ecc8b5 --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.spec @@ -0,0 +1,3262 @@ +%global _prefix /opt/brepo/ruby30 + +%define __brp_check_rpaths %{nil} +%define __arch_install_post %{nil} +%if 0%{?rhel} == 8 +%global __os_install_post /usr/lib/rpm/redhat/brp-mangle-shebangs %{nil} +%endif +%global srcname ruby +%global _libdir %{_prefix}/%{_lib} +%global _includedir %{_prefix}/include +%global _mandir %{_prefix}/share/man + +%global major_version 3 +%global minor_version 0 +%global teeny_version 7 +%global major_minor_version %{major_version}.%{minor_version} + +%global ruby_version %{major_minor_version}.%{teeny_version} +%global ruby_release %{ruby_version} + +# Specify the named version. It has precedense to revision. +#%%global milestone rc1 + +# Keep the revision enabled for pre-releases from GIT. +#%%global revision 684649ea05 + +%global ruby_archive ruby-%{ruby_version} + +# 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' %{_sourcedir}/%{ruby_archive}.tar.xz | date -f - +"%Y%m%d") +%define development_release %{?milestone}%{?!milestone:%{?revision:%{ruby_archive_timestamp}git%{revision}}} +%endif + + +%global release 165 +%{!?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 +# RubyGems should be share by all Ruby implementations. +%global rubygems_dir %{_datadir}/rubygems + +# Bundled libraries versions +%global rubygems_version 3.2.33 +%global rubygems_molinillo_version 0.7.0 + +# Default gems. +%global bundler_version 2.2.33 +%global bundler_connection_pool_version 2.3.0 +%global bundler_fileutils_version 1.4.1 +%global bundler_molinillo_version 0.7.0 +%global bundler_net_http_persistent_version 4.0.0 +%global bundler_thor_version 1.1.0 +%global bundler_tmpdir_version 0.1.0 +%global bundler_uri_version 0.10.0.3 + +%global bigdecimal_version 3.0.0 +%global did_you_mean_version 1.5.0 +%global erb_version 2.2.0 +%global io_console_version 0.5.7 +%global irb_version 1.3.5 +%global json_version 2.5.1 +%global openssl_version 2.2.2 +%global psych_version 3.3.2 +%global racc_version 1.5.2 +%global rdoc_version 6.3.4.1 + +# Bundled gems. +%global minitest_version 5.14.2 +%global power_assert_version 1.2.1 +%global rake_version 13.0.3 +%global rbs_version 1.4.0 +%global test_unit_version 3.3.7 +%global rexml_version 3.2.5 +%global rss_version 0.2.9 +%global typeprof_version 0.15.2 + +%global tapset_libdir %(echo %{_libdir} | sed 's/64//')* + +%if 0%{?fedora} >= 19 +%bcond_without rubypick +%endif + +%bcond_without cmake +%bcond_without git +%bcond_without gmp +%bcond_without hostname +%bcond_without systemtap + +%if 0%{?fedora} +%bcond_without hardening_test +%endif + +%undefine _package_note_flags + +Summary: An interpreter of object-oriented scripting language +Name: alt-brepo-ruby30 +Version: %{ruby_version} +Release: %{release_string}%{?dist}.brepo +# Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ... +# MIT and CCO: ccan/* +# zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c +# UCD: some of enc/trans/**/*.src +License: (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD +URL: https://www.ruby-lang.org/ +Source0: https://cache.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.xz +Source1: operating_system.rb +# TODO: Try to push SystemTap support upstream. +Source2: libruby.stp +Source3: ruby-exercise.stp +Source4: macros.ruby +Source5: macros.rubygems +# RPM dependency generators. +Source8: rubygems.attr +Source9: rubygems.req +Source10: rubygems.prov +Source11: rubygems.con +# ABRT hoook test case. +Source13: test_abrt.rb +# SystemTap tests. +Source14: test_systemtap.rb +# Ruby OpenSSL FIPS tests. +Source15: test_openssl_fips.rb + +# The load directive is supported since RPM 4.12, i.e. F21+. The build process +# fails on older Fedoras. +%{load:%{SOURCE4}} +%{load:%{SOURCE5}} + +# Fix ruby_version abuse. +# https://bugs.ruby-lang.org/issues/11002 +Patch0: ruby-2.3.0-ruby_version.patch +# http://bugs.ruby-lang.org/issues/7807 +Patch1: ruby-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +# Allows to override libruby.so placement. Hopefully we will be able to return +# to plain --with-rubyarchprefix. +# http://bugs.ruby-lang.org/issues/8973 +Patch2: ruby-2.1.0-Enable-configuration-of-archlibdir.patch +# Force multiarch directories for i.86 to be always named i386. This solves +# some differencies in build between Fedora and RHEL. +Patch3: ruby-2.1.0-always-use-i386.patch +# Allows to install RubyGems into custom directory, outside of Ruby's tree. +# http://bugs.ruby-lang.org/issues/5617 +Patch4: ruby-2.1.0-custom-rubygems-location.patch +# Make mkmf verbose by default +Patch5: ruby-1.9.3-mkmf-verbose.patch +# The ABRT hook used to be initialized by preludes via following patches: +# https://bugs.ruby-lang.org/issues/8566 +# https://bugs.ruby-lang.org/issues/15306 +# Unfortunately, due to https://bugs.ruby-lang.org/issues/16254 +# and especially since https://github.com/ruby/ruby/pull/2735 +# this would require boostrapping: +# https://lists.fedoraproject.org/archives/list/ruby-sig@lists.fedoraproject.org/message/LH6L6YJOYQT4Y5ZNOO4SLIPTUWZ5V45Q/ +# For now, load the ABRT hook via this simple patch: +Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch +# Prevent segfaults running with SystemTap due to `RubyVM::FrozenCore` being +# corrupted by GC. +# https://bugzilla.redhat.com/show_bug.cgi?id=2015441 +# https://bugzilla.redhat.com/show_bug.cgi?id=1986206 +# https://bugs.ruby-lang.org/issues/18257 +Patch7: ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch +# Fix DWARF5 support. +# https://bugzilla.redhat.com/show_bug.cgi?id=1920533 +# https://bugs.ruby-lang.org/issues/17585 +# https://github.com/ruby/ruby/pull/4240 +Patch15: ruby-3.1.0-Support-GCCs-DWARF-5.patch +# Fix segfaults with enabled LTO. +# https://bugs.ruby-lang.org/issues/18062 +# https://github.com/ruby/ruby/pull/4716 +Patch16: ruby-3.1.0-Get-rid-of-type-punning-pointer-casts.patch +# DWARF5/LTO fixes for SIGSEV handler. +# https://bugs.ruby-lang.org/issues/17052 +# https://github.com/ruby/ruby/commit/72317b333b85eed483ad00bcd4f40944019a7c13 +Patch17: ruby-3.1.0-Ignore-DW_FORM_ref_addr.patch +# https://bugs.ruby-lang.org/issues/17052#note-9 +# https://bugs.ruby-lang.org/attachments/download/8974/ruby-addr2line-DW_FORM_ref_addr.patch +# https://github.com/ruby/ruby/commit/a9977ba2f9863e3fb1b2346589ebbca67d80536c +Patch18: ruby-3.1.0-addr2line-DW_FORM_ref_addr.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 +# Fix /test_\(ast_compacts\|compact_count\|complex_hash_keys\|gc_compact_stats\)/ +# test failures on ppc64le. +# https://bugs.ruby-lang.org/issues/18746 +# https://bugs.ruby-lang.org/issues/18394 +Patch20: ruby-3.1.0-Use-mmap-for-allocating-heap-pages-in-the-GC.patch +# Allow to exclude test with fully qualified name. +# https://bugs.ruby-lang.org/issues/16936 +# https://github.com/ruby/ruby/pull/5026 +Patch21: ruby-3.1.0-Properly-exclude-test-cases.patch +# Fix loading of default gems. +# https://bugzilla.redhat.com/show_bug.cgi?id=2027099 +# https://github.com/rubygems/rubygems/pull/5154 +Patch22: rubygems-3.2.33-Fix-loading-operating_system-rb-customizations-too-late.patch + + +# OpenSSL 3.0 compatibility patches + +# Ignore OpenSSL version check to allow OpenSSL 3 in Ruby OpenSSL 2.x. +# https://github.com/ruby/openssl?tab=readme-ov-file#compatibility-and-maintenance-policy +Patch30: ruby-ext-openssl-extconf.rb-ignore-OpenSSL-version-check.patch + +# Fix test broken by wrongly formatted distinguished name submitted to +# `OpenSSL::X509::Name.parse`. +# https://github.com/ruby/openssl/issues/470 +# https://github.com/rubygems/rubygems/pull/5030 +Patch31: rubygems-3.2.30-Provide-distinguished-name-which-will-be-correctly-p.patch + +# Refactor PEM/DER serialization code. +# https://github.com/ruby/openssl/pull/328 +Patch40: ruby-3.1.0-Refactor-PEM-DER-serialization-code.patch +# Implement more 'generic' operations using the EVP API. +# https://github.com/ruby/openssl/pull/329 +Patch41: ruby-3.1.0-Add-more-support-for-generic-pkey-types.patch +# Migrate from the low-level HMAC API to the EVP API. +# https://github.com/ruby/openssl/pull/371 +Patch42: ruby-3.1.0-Migrate-from-the-low-level-HMAC-API-to-the-EVP-API.patch +# Allow setting algorithm-specific options in #sign and #verify. +# https://github.com/ruby/openssl/pull/374 +Patch43: ruby-3.1.0-Allow-setting-algorithm-specific-options-in-sign-and-verify.patch +# Use high level EVP interface to generate parameters and keys. +# https://github.com/ruby/openssl/pull/397 +Patch44: ruby-3.1.0-Use-high-level-EVP-interface-to-generate-parameters-and-keys.patch +# Use EVP API in more places. +# https://github.com/ruby/openssl/pull/436 +Patch45: ruby-3.1.0-Use-EVP-API-in-more-places.patch +# Implement PKey#{encrypt,decrypt,sign_raw,verify_{raw,verify_recover}}. +# https://github.com/ruby/openssl/pull/382 +Patch46: ruby-3.1.0-Implement-PKey-encrypt-decrypt-sign_raw-verify_raw-and-verify_recover.patch +# Fix `OpenSSL::TestSSL#test_dup` test failure. +# https://github.com/ruby/openssl/commit/7b66eaa2dbabb6570dbbbdfac24c4dcdcc6793d7 +Patch47: ruby-3.1.0-test-openssl-utils-remove-dup_public-helper-method.patch +# Fix `OpenSSL::TestDigest#test_digest_constants` test case. +# https://github.com/ruby/openssl/commit/a3e59f4c2e200c76ef1d93945ff8737a05715e17 +Patch48: ruby-3.1.0-test-openssl-test_digest-do-not-test-constants-for-l.patch +# Fix `OpenSSL::TestSSL#test_connect_certificate_verify_failed_exception_message` +# test case. +# https://github.com/ruby/openssl/commit/b5a0a198505452c7457b192da2e5cd5dda04f23d +Patch49: ruby-3.1.0-test-openssl-test_ssl-relax-regex-to-match-OpenSSL-s.patch +# Fix `OpenSSL::TestPKCS12#test_{new_with_no_keys,new_with_one_key_and_one_cert}` +# test failures. +# https://github.com/ruby/openssl/commit/998406d18f2acf73090e9fd9d92a7b4227ac593b +Patch50: ruby-3.1.0-test-openssl-test_pkcs12-fix-test-failures-with-Open.patch +# Fix `OpenSSL::TestPKey#test_s_generate_key` test case. +# https://github.com/ruby/openssl/commit/c732387ee5aaa8c5a9717e8b3ffebb3d7430e99a +Patch51: ruby-3.1.0-test-openssl-test_pkey-use-EC-keys-for-PKey.generate.patch +# Miscellaneous changes for OpenSSL 3.0 support. +# https://github.com/ruby/openssl/pull/468 +Patch52: ruby-3.1.0-Miscellaneous-changes-for-OpenSSL-3.0-support.patch +# Use OSSL_DECODER to load encrypted PEM. +# https://github.com/ruby/openssl/pull/479 +Patch53: ruby-3.1.0-Use-OSSL_DECODER-to-load-encrypted-PEM-on-OpenSSL-3.0.patch +# Allocate EVP_PKEY on #initialize. +# https://github.com/ruby/openssl/pull/478 +Patch54: ruby-3.1.0-Allocate-EVP_PKEY-on-initialize.patch +# Disable `OpenSSL::TestPKeyRSA#test_no_private_exp` test case which is not +# compatible with OpenSSL 3.0. +# https://github.com/ruby/ruby/commit/47975ece4096cdab16b3f200f93ea2377dfb41ac +Patch55: ruby-3.1.0-Disable-test_no_private_exp-on-OpenSSL-3.0.patch +# Deprecate PKey::*#set_* and PKey::{DH,EC}#generate_key! +# https://github.com/ruby/openssl/pull/480 +Patch56: ruby-3.1.0-Deprecate-PKey-set_-and-PKey-DH-EC-generate_key.patch +# Fix `OpenSSL::PKey::PKeyError: pkeys are immutable on OpenSSL 3.0` errors. +# https://github.com/rubygems/rubygems/pull/5196 +Patch57: rubygems-3.3.1-Fix-compatibility-with-OpenSSL3.0.patch +# Miscellaneous changes for OpenSSL 3.0 support. +# https://github.com/ruby/openssl/pull/481 +Patch58: ruby-3.1.0-Miscellaneous-changes-for-OpenSSL-3.0-support-part-2.patch +# C9S/RHEL9 have SHA1 disabled by default, so using the OCSP with +# default arguments on a default C9S/RHEL9 installation will result in an +# OpenSSL error. This patch, when OCSP does not receive a digest explicitly, will +# let OpenSSL decide which digest to use instead of using a default, thus +# preventing usage of disabled digests. +# https://github.com/ruby/openssl/pull/507 +Patch59: ruby-3.1.1-ossl_ocsp-use-null.patch +# Replace SHA1 usage in tests. +# https://github.com/ruby/openssl/pull/511 +Patch60: ruby-3.1.2-ossl-tests-replace-sha1.patch +# Fix tests with Europe/Amsterdam pre-1970 time on tzdata version 2022b. +# https://github.com/ruby/spec/pull/939 +Patch62: ruby-spec-Fix-tests-on-tzdata-2022b.patch +# Fix File.utime test. +# https://github.com/ruby/ruby/commit/8d1109c03bacc952b6218af2e4ae9b74c9855273 +Patch64: ruby-3.3.0-test-file-utime.patch +# Fix OpenSSL.fips_mode in OpenSSL 3 FIPS. +# https://github.com/ruby/openssl/pull/608 +# https://github.com/ruby/ruby/commit/678d41bc51fe31834eec0b653ba0e47de5420aa0 +Patch65: ruby-3.3.0-openssl-3.2.0-fix-fips-get-set-in-openssl-3.patch +# Fix OpenSSL::PKey.read in OpenSSL 3 FIPS. +# The patch is a combination of the following 2 commits to simplify the patch. +# https://github.com/ruby/openssl/pull/615 +# https://github.com/ruby/ruby/commit/2a4834057b30a26c38ece3961b370c0b2ee59380 +# https://github.com/ruby/openssl/pull/669 +# https://github.com/ruby/ruby/commit/b0ec1db8a72c530460abd9462ac75845362886bd +Patch66: ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-read-in-openssl-3.patch +# Enable tests in OpenSSL FIPS. +# https://github.com/ruby/openssl/pull/615 +# https://github.com/ruby/ruby/commit/920bc71284f417f9044b0dc1822b1d29a8fc61e5 +Patch67: ruby-3.3.0-openssl-3.2.0-fips-enable-tests.patch +# ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters +# https://github.com/ruby/openssl/pull/674 +# https://github.com/ruby/ruby/commit/b6d7cdc2bad0eadbca73f3486917f0ec7a475814 +Patch68: ruby-3.3.0-openssl-3.2.0-fips-fix-pkey-dh-require-openssl.patch + +# Fix net-http test errors due to expired certificate +# https://github.com/ruby/ruby/commit/d3933fc753187a055a4904af82f5f3794c88c416 +# https://bugs.ruby-lang.org/issues/20106 +Patch69: ruby-3.4.0-ruby-net-http-Renew-test-certificates.patch +# Fix `TestNetHTTPS#test_session_reuse_but_expire` test failure cause by +# to OpenSSL 3.2 +# https://github.com/ruby/ruby/commit/64b6a018a38f200c957fdbbe7d0cbe0e64781c9f +Patch70: ruby-3.3.1-Fix-test-session-reuse-but-expire.patch +# Tests not included, this Ruby release does not include REXML tests. +# https://github.com/ruby/rexml/commit/ce59f2eb1aeb371fe1643414f06618dbe031979f +Patch71: rubygem-rexml-3.3.9-Fix-ReDoS-CVE-2024-49761.patch +# If GC compaction is not supported on platform, define the +# corresponding GC methods as not implemented. +# https://bugs.ruby-lang.org/issues/18779 +# https://github.com/ruby/ruby/pull/5934 +Patch72: ruby-3.2.0-define-unsupported-gc-compaction-methods-as-rb_f_notimplement.patch +# tar -Jxvf ./ruby-3.0.7.tar.xz +# git clone https://github.com/ruby/ruby.git +# cd ruby && git checkout v3_0_7 +# patch -p1 < ../ruby-3.1.0-Use-mmap-for-allocating-heap-pages-in-the-GC.patch +# patch -p1 < ../ruby-3.2.0-define-unsupported-gc-compaction-methods-as-rb_f_notimplement.patch +# ./autogen.sh && ./configure +# make gc.rbinc miniprelude.c +# cd .. +# diff -u {ruby-3.0.7,ruby}/gc.rbinc > ruby-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch +# diff -u {ruby-3.0.7,ruby}/miniprelude.c >> ruby-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch +Patch73: ruby-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch +# Define the GC compaction support macro at run time. +# https://bugs.ruby-lang.org/issues/18829 +# https://github.com/ruby/ruby/pull/6019 +# https://github.com/ruby/ruby/commit/2c190863239bee3f54cfb74b16bb6ea4cae6ed20 +Patch74: ruby-3.2.0-Detect-compaction-support-during-runtime.patch +# IRB, when used from within ruby code using simple `require 'irb'; binding.irb`, +# a lot of warning messages about already initialized constants, similar to: +# "/usr/share/ruby/irb/ruby-lex.rb:123: warning: already initialized constant RubyLex::ERROR_TOKENS" +# "/usr/share/gems/gems/irb-1.3.5/lib/irb/ruby-lex.rb:123: warning: previous definition of ERROR_TOKENS was here" +# are printed. +# https://github.com/ruby/irb/pull/335 +# https://github.com/ruby/irb/commit/848d339f2e255f4b0dfc68568d818d4c3587b266 +# https://github.com/ruby/irb/pull/336 +# https://github.com/ruby/irb/commit/d5060f76687e3ff355583bfa5f073c67d558e2bd +# https://github.com/ruby/irb/pull/338 +# https://github.com/ruby/irb/commit/99d3aa979dffece1fab06a7d5ebff4ae5da50aae +Patch75: rubygem-irb-1.4.2-Fix-already-initialized-constant-messages-from-require-in-scripts.patch +# Fix Denial of Service in CGI::Cookie.parse. (CVE-2025-27219) +# https://github.com/ruby/cgi/commit/2f8ec73bb3eb71c4cf13e735f2d696603de2f34b +Patch76: rubygem-cgi-0.3.5.1-Fix-DoS-in-CGI-Cookie-parse-CVE-2025-27219.patch +# Fix ReDoS in CGI::Util#escapeElement. (CVE-2025-27220) +# https://github.com/ruby/cgi/commit/bfa69e120df4e0131bb05df6c5e05c1dc982cd37 +Patch77: rubygem-cgi-0.3.5.1-Fix-ReDoS-in-CGI-CVE-2025-27220.patch + +Patch100: Disable-Tmp-Test.patch + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Suggests: rubypick +Recommends: %{name}-ruby(rubygems) >= %{rubygems_version} +Recommends: %{name}-rubygem(bigdecimal) >= %{bigdecimal_version} + +BuildRequires: autoconf +BuildRequires: gdbm-devel +%{?with_gmp:BuildRequires: gmp-devel} +BuildRequires: libffi-devel +BuildRequires: openssl-devel +BuildRequires: libyaml-devel +BuildRequires: readline-devel +# Needed to pass test_set_program_name(TestRubyOptions) +BuildRequires: procps +# RubyGems test suite optional dependencies. +%{?with_git:BuildRequires: git} +%{?with_cmake:BuildRequires: cmake} +# Required to test hardening. +%{?with_hardening_test:BuildRequires: %{_bindir}/checksec} +%{?with_hostname:BuildRequires: hostname} +BuildRequires: chrpath +BuildRequires: multilib-rpm-config +BuildRequires: gcc +BuildRequires: make +BuildRequires: zlib-devel + +# This package provides %%{_bindir}/ruby-mri therefore it is marked by this +# virtual provide. It can be installed as dependency of rubypick. +Provides: %{name}-ruby(runtime_executable) = %{ruby_release} + +%description +Ruby is the interpreted scripting language for quick and easy +object-oriented programming. It has many features to process text +files and to do system management tasks (as in Perl). It is simple, +straight-forward, and extensible. + + +%package devel +Summary: A Ruby development environment +Requires: %{name}%{?_isa} = %{version}-%{release} +# This would not be needed if ~50 packages depending on -devel used +# --disable-gems +Requires: %{name}-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 +Ruby or an application embedding Ruby. + +%package libs +Summary: Libraries necessary to run Ruby +License: Ruby or BSD +Provides: %{name}(release) = %{ruby_release} + +# Virtual provides for CCAN copylibs. +# https://fedorahosted.org/fpc/ticket/364 +Provides: %{name}-bundled(ccan-build_assert) +Provides: %{name}-bundled(ccan-check_type) +Provides: %{name}-bundled(ccan-container_of) +Provides: %{name}-bundled(ccan-list) + +# StdLib default gems. +Provides: %{name}-bundled(rubygem-did_you_mean) = %{did_you_mean_version} +Provides: %{name}-bundled(rubygem-openssl) = %{openssl_version} +Provides: %{name}-bundled(rubygem-racc) = %{racc_version} + +%description libs +This package includes the libruby, necessary to run Ruby. + + +# TODO: Rename or not rename to ruby-rubygems? +%package rubygems +Summary: The Ruby standard for packaging ruby libraries +Version: %{rubygems_version} +License: Ruby or MIT +Requires: %{name}(release) +Recommends: %{name}-rubygem(bundler) >= %{bundler_version} +Recommends: %{name}-rubygem(rdoc) >= %{rdoc_version} +Recommends: %{name}-rubygem(io-console) >= %{io_console_version} +Requires: %{name}-rubygem(psych) >= %{psych_version} +Provides: %{name}-gem = %{version}-%{release} +Provides: %{name}-ruby(rubygems) = %{version}-%{release} +# https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 +Provides: %{name}-bundled(rubygem-molinillo) = %{rubygems_molinillo_version} +BuildArch: noarch + +%description rubygems +RubyGems is the Ruby standard for publishing and managing third party +libraries. + + +%package rubygems-devel +Summary: Macros and development tools for packaging RubyGems +Version: %{rubygems_version} +License: Ruby or MIT +Requires: %{name}-ruby(rubygems) >= %{version}-%{release} +# Needed for RDoc documentation format generation. +Requires: %{name}-rubygem(json) >= %{json_version} +Requires: %{name}-rubygem(rdoc) >= %{rdoc_version} +BuildArch: noarch + +%description rubygems-devel +Macros and development tools for packaging RubyGems. + + +# Default gems +# +# 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: %{name}-ruby(rubygems) >= %{rubygems_version} +Supplements: %{name}-ruby(rubygems) +# Include the io-console dependency for reline. +Requires: %{name}-rubygem(io-console) +# Obsoleted by Ruby 2.7 in F32 timeframe. +Obsoletes: %{name}-rubygem-did_you_mean < 1.4.0-130 +Obsoletes: %{name}-rubygem-racc < 1.4.16-130 +# Obsoleted by Ruby 3.0 in F34 timeframe. +Obsoletes: %{name}-rubygem-openssl < 2.2.0-145 +Provides: %{name}-rubygem(openssl) = %{openssl_version}-%{release} +BuildArch: noarch + +%description default-gems +The .gemspec files and executables of default gems, which are part of Ruby +StdLib. + + +%package rubygem-irb +Summary: The Interactive Ruby +Version: %{irb_version} +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +# ruby-default-gems is required to run irb. +# https://bugs.ruby-lang.org/issues/16951 +Requires: %{name}-default-gems >= %{ruby_version} +Provides: %{name}-irb = %{version}-%{release} +Provides: %{name}-rubygem(irb) = %{version}-%{release} +# Obsoleted by Ruby 2.6 in F30 timeframe. +Provides: %{name}(irb) = %{ruby_version}-%{release} +Provides: %{name}-irb = %{ruby_version}-%{release} +Obsoletes: %{name}-irb < %{ruby_version}-%{release} +BuildArch: noarch + +%description rubygem-irb +The irb is acronym for Interactive Ruby. It evaluates ruby expression +from the terminal. + + +%package rubygem-rdoc +Summary: A tool to generate HTML and command-line documentation for Ruby projects +Version: %{rdoc_version} +# SIL: lib/rdoc/generator/template/darkfish/css/fonts.css +License: GPLv2 and Ruby and MIT and OFL +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Requires: %{name}-rubygem(io-console) >= %{io_console_version} +Requires: %{name}-rubygem(json) >= %{json_version} +Provides: %{name}-rdoc = %{version}-%{release} +Provides: %{name}-ri = %{version}-%{release} +Provides: %{name}-rubygem(rdoc) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-rdoc +RDoc produces HTML and command-line documentation for Ruby projects. RDoc +includes the 'rdoc' and 'ri' tools for generating and displaying online +documentation. + + +%package doc +Summary: Documentation for %{name} +Requires: %{_bindir}/ri +BuildArch: noarch + +%description doc +This package contains documentation for %{name}. + + +%package rubygem-bigdecimal +Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic +Version: %{bigdecimal_version} +License: Ruby or BSD +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(bigdecimal) = %{version}-%{release} + +%description rubygem-bigdecimal +Ruby provides built-in support for arbitrary precision integer arithmetic. +For example: + +42**13 -> 1265437718438866624512 + +BigDecimal provides similar support for very large or very accurate floating +point numbers. Decimal arithmetic is also useful for general calculation, +because it provides the correct answers people expect–whereas normal binary +floating point arithmetic often introduces subtle errors because of the +conversion between base 10 and base 2. + + +%package rubygem-io-console +Summary: IO/Console is a simple console utilizing library +Version: %{io_console_version} +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(io-console) = %{version}-%{release} + +%description rubygem-io-console +IO/Console provides very simple and portable access to console. It doesn't +provide higher layer features, such like curses and readline. + + +%package rubygem-json +Summary: This is a JSON implementation as a Ruby extension in C +Version: %{json_version} +# UCD: ext/json/generator/generator.c +License: (Ruby or GPLv2) and UCD +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(json) = %{version}-%{release} + +%description rubygem-json +This is a implementation of the JSON specification according to RFC 4627. +You can think of it as a low fat alternative to XML, if you want to store +data to disk or transmit it over a network rather than use a verbose +markup language. + + +%package rubygem-psych +Summary: A libyaml wrapper for Ruby +Version: %{psych_version} +License: MIT +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(psych) = %{version}-%{release} + +%description 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 rubygem-bundler +Summary: Library and utilities to manage a Ruby application's gem dependencies +Version: %{bundler_version} +License: MIT +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Requires: %{name}-rubygem(io-console) +Provides: %{name}-rubygem(bundler) = %{version}-%{release} +# https://github.com/bundler/bundler/issues/3647 +Provides: %{name}-bundled(rubygem-connection_pool) = %{bundler_connection_pool_version} +Provides: %{name}-bundled(rubygem-fileutils) = %{bundler_fileutils_version} +Provides: %{name}-bundled(rubygem-molinillo) = %{bundler_molinillo_version} +Provides: %{name}-bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} +Provides: %{name}-bundled(rubygem-thor) = %{bundler_thor_version} +Provides: %{name}-bundled(rubygem-tmpdir) = %{bundler_tmpdir_version} +Provides: %{name}-bundled(rubygem-uri) = %{bundler_uri_version} +BuildArch: noarch + +%description rubygem-bundler +Bundler manages an application's dependencies through its entire life, across +many machines, systematically and repeatably. + + +# Bundled gems +# +# These are regular packages, which might be installed just optionally. Users +# should list them among their dependencies (in Gemfile). + +%package rubygem-minitest +Summary: Minitest provides a complete suite of testing facilities +Version: %{minitest_version} +License: MIT +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(minitest) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-minitest +minitest/unit is a small and incredibly fast unit testing framework. + +minitest/spec is a functionally complete spec engine. + +minitest/benchmark is an awesome way to assert the performance of your +algorithms in a repeatable manner. + +minitest/mock by Steven Baker, is a beautifully tiny mock object +framework. + +minitest/pride shows pride in testing and adds coloring to your test +output. + + +%package rubygem-power_assert +Summary: Power Assert for Ruby +Version: %{power_assert_version} +License: Ruby or BSD +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(power_assert) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-power_assert +Power Assert shows each value of variables and method calls in the expression. +It is useful for testing, providing which value wasn't correct when the +condition is not satisfied. + + +%package rubygem-rake +Summary: Ruby based make-like utility +Version: %{rake_version} +License: MIT +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rake = %{version}-%{release} +Provides: %{name}-rubygem(rake) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-rake +Rake is a Make-like program implemented in Ruby. Tasks and dependencies are +specified in standard Ruby syntax. + + +%package rubygem-rbs +Summary: Type signature for Ruby +Version: %{rbs_version} +License: Ruby or BSD +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(rbs) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-rbs +RBS is the language for type signatures for Ruby and standard library +definitions. + + +%package rubygem-test-unit +Summary: An xUnit family unit testing framework for Ruby +Version: %{test_unit_version} +# lib/test/unit/diff.rb is a double license of the Ruby license and PSF license. +# lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later. +License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Requires: %{name}-rubygem(power_assert) +Provides: %{name}-rubygem(test-unit) = %{version}-%{release} +BuildArch: noarch + +%description rubygem-test-unit +Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit +principles. These were originally designed by Kent Beck, creator of extreme +programming software development methodology, for Smalltalk's SUnit. It allows +writing tests, checking results and automated testing in Ruby. + + +%package rubygem-rexml +Summary: An XML toolkit for Ruby +Version: %{rexml_version} +License: BSD +URL: https://github.com/ruby/rexml +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(rexml) = %{version}-%{release} +BuildArch: noarch + +%description 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 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: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Provides: %{name}-rubygem(rss) = %{version}-%{release} +BuildArch: noarch + +%description 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. + + +%package rubygem-typeprof +Summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation +Version: %{typeprof_version} +License: MIT +URL: https://github.com/ruby/typeprof +Requires: %{name}(release) +Requires: %{name}-ruby(rubygems) >= %{rubygems_version} +Requires: %{name}-rubygem(rbs) >= %{rbs_version} +Provides: %{name}-rubygem(typeprof) = %{version}-%{release} +BuildArch: noarch + +%description 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} + +# Remove bundled libraries to be sure they are not used. +rm -rf ext/psych/yaml +rm -rf ext/fiddle/libffi* + +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch30 -p1 +%patch31 -p1 +%patch40 -p1 +%patch41 -p1 +%patch42 -p1 +%patch43 -p1 +%patch44 -p1 +%patch45 -p1 +%patch46 -p1 +%patch47 -p1 +%patch48 -p1 +%patch49 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 +%patch57 -p1 +%patch58 -p1 +%patch59 +%patch60 -p1 +%patch62 -p1 +%patch64 -p1 +%patch65 -p1 +%patch66 -p1 +%patch67 -p1 +%patch68 -p1 +%patch69 -p1 +%patch70 -p1 +%patch72 -p1 +%patch73 -p1 +%patch74 -p1 +%patch75 -p1 +%patch76 -p1 +%patch77 -p1 + +# Instead of adjusting patch's directory, use the following form where +# we first enter the correct directory, this allows more general application +# accross ruby versions, since we can make use of the %rexml_version macro. +pushd ".bundle/gems/rexml-%{rexml_version}/" +%patch71 -p1 +popd +%patch100 -p1 + +# Provide an example of usage of the tapset: +cp -a %{SOURCE3} . + +%build +autoconf + +%configure \ + --with-rubylibprefix='%{ruby_libdir}' \ + --with-archlibdir='%{_libdir}' \ + --with-rubyarchprefix='%{ruby_libarchdir}' \ + --with-sitedir='%{ruby_sitelibdir}' \ + --with-sitearchdir='%{ruby_sitearchdir}' \ + --with-vendordir='%{ruby_vendorlibdir}' \ + --with-vendorarchdir='%{ruby_vendorarchdir}' \ + --with-rubyhdrdir='%{_includedir}' \ + --with-rubyarchhdrdir='%{_includedir}' \ + --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \ + --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \ + --with-rubygemsdir='%{rubygems_dir}' \ + --with-ruby-pc='%{srcname}.pc' \ + --with-compress-debug-sections=no \ + --enable-shared \ + --with-ruby-version='' \ + --enable-multiarch \ + + +export LDFLAGS="-Wl,-rpath=%{_libdir}" +# Q= makes the build output more verbose and allows to check Fedora +# compiler options. +%make_build COPY="cp -p" Q= + +%install +rm -rf %{buildroot} +%make_install + + +# 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}/ruby/config.h +# TODO: The correct patch should be %%{_includedir}/%%{name}/rb_mjit_min_header-%%{ruby_version}.h +# https://bugs.ruby-lang.org/issues/15425 +%multilib_fix_c_header --file %{_includedir}/rb_mjit_min_header-%{ruby_version}.h + +# Rename the ruby executable. It is replaced by RubyPick. +%{?with_rubypick:mv %{buildroot}%{_bindir}/ruby{,-mri}} + +# Version is empty if --with-ruby-version is specified. +# http://bugs.ruby-lang.org/issues/7807 +sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_libdir}/pkgconfig/%{srcname}.pc + +# fix rpath for socket.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/digest/rmd160.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/digest/bubblebabble.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/io/nonblock.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/io/wait.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/json/ext/generator.so +chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/json/ext/parser.so + +# Kill bundled certificates, as they should be part of ca-certificates. +for cert in \ + rubygems.org/GlobalSignRootCA.pem \ + rubygems.org/GlobalSignRootCA_R3.pem +do + rm %{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)" + +# Move macros file into proper place and replace the %%{name} macro, since it +# would be wrongly evaluated during build of other packages. +#mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d +#install -m 644 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby +#sed -i "s/%%{name}/ruby/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby +#install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems +#sed -i "s/%%{name}/ruby/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems + +# Install dependency generators. +#mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs +#install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs +#install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} +#install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} +#install -m 755 %{SOURCE11} %{buildroot}%{_rpmconfigdir} + +find %{buildroot} -type f -exec sed -i 's|#!/usr/bin/env ruby|#!/opt/brepo/ruby30/bin/ruby|g' {} + + +# Install custom operating_system.rb. +mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults +cp %{SOURCE1} %{buildroot}%{rubygems_dir}/rubygems/defaults + +# Move gems root into common direcotry, out of Ruby directory structure. +mv %{buildroot}%{ruby_libdir}/gems %{buildroot}%{gem_dir} + +# Create folders for gem binary extensions. +# TODO: These folders should go into rubygem-filesystem but how to achieve it, +# since noarch package cannot provide arch dependent subpackages? +# http://rpm.org/ticket/78 +mkdir -p %{buildroot}%{_exec_prefix}/lib{,64}/gems/ruby + +# Move bundled rubygems to %%gem_dir and %%gem_extdir_mri +# make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems +mkdir -p %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib +mv %{buildroot}%{ruby_libdir}/irb* %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib +mv %{buildroot}%{gem_dir}/specifications/default/irb-%{irb_version}.gemspec %{buildroot}%{gem_dir}/specifications +ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb.rb %{buildroot}%{ruby_libdir}/irb.rb +# TODO: This should be possible to replaced by simple directory symlink +# after ~ F31 EOL (rhbz#1691039). +mkdir -p %{buildroot}%{ruby_libdir}/irb +pushd %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib +find irb -type d -mindepth 1 -exec mkdir %{buildroot}%{ruby_libdir}/'{}' \; +find irb -type f -exec ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/'{}' %{buildroot}%{ruby_libdir}/'{}' \; +popd +#ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb %{buildroot}%{ruby_libdir}/irb + +mkdir -p %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib +mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib +mv %{buildroot}%{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %{buildroot}%{gem_dir}/specifications + +mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib +mkdir -p %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/bigdecimal +mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib +mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version} +touch %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/gem.build_complete +mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications +ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal +ln -s %{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so + +# TODO: Put help files into proper location. +# https://bugs.ruby-lang.org/issues/15359 +mkdir -p %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib +mv %{buildroot}%{ruby_libdir}/bundler.rb %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib +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/io-console-%{io_console_version}/lib +mkdir -p %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/io +mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib +mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/io +touch %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/gem.build_complete +mv %{buildroot}%{gem_dir}/specifications/default/io-console-%{io_console_version}.gemspec %{buildroot}%{gem_dir}/specifications +ln -s %{gem_dir}/gems/io-console-%{io_console_version}/lib/io %{buildroot}%{ruby_libdir}/io +ln -s %{_libdir}/gems/ruby/io-console-%{io_console_version}/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so + +mkdir -p %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib +mkdir -p %{buildroot}%{_libdir}/gems/ruby/json-%{json_version} +mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib +mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{_libdir}/gems/ruby/json-%{json_version}/ +touch %{buildroot}%{_libdir}/gems/ruby/json-%{json_version}/gem.build_complete +mv %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %{buildroot}%{gem_dir}/specifications +ln -s %{gem_dir}/gems/json-%{json_version}/lib/json.rb %{buildroot}%{ruby_libdir}/json.rb +ln -s %{gem_dir}/gems/json-%{json_version}/lib/json %{buildroot}%{ruby_libdir}/json +ln -s %{_libdir}/gems/ruby/json-%{json_version}/json/ %{buildroot}%{ruby_libarchdir}/json + +mkdir -p %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib +mkdir -p %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version} +mv %{buildroot}%{ruby_libdir}/psych* %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib +mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version}/ +touch %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version}/gem.build_complete +mv %{buildroot}%{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %{buildroot}%{gem_dir}/specifications +ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir}/psych +ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb +ln -s %{_libdir}/gems/ruby/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.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 \ + -exec mv '{}' %{buildroot}%{_libdir}/gems/ruby/ \; \ + || echo "No gem binary extensions to move." + +# Move man pages into proper location +mkdir -p %{buildroot}%{_mandir}/man{1,5} +mv %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/doc/rake.1 %{buildroot}%{_mandir}/man1 +# https://bugs.ruby-lang.org/issues/17778 +cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.1 %{buildroot}%{_mandir}/man1 +cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.5 %{buildroot}%{_mandir}/man5 + +# Prepare -doc subpackage file lists. +find doc -maxdepth 1 -type f ! -name '.*' ! -name '*.ja*' > .ruby-doc.en +echo 'doc/images' >> .ruby-doc.en +echo 'doc/syntax' >> .ruby-doc.en + +find doc -maxdepth 1 -type f -name '*.ja*' > .ruby-doc.ja +echo 'doc/irb' >> .ruby-doc.ja +echo 'doc/pty' >> .ruby-doc.ja + +sed -i 's/^/%doc /' .ruby-doc.* +sed -i 's/^/%lang(ja) /' .ruby-doc.ja + +# Remove useless .github directory from Rake. +# https://github.com/ruby/rake/pull/333 +rm -rf %{buildroot}%{gem_dir}/gems/rake-%{rake_version}/.github + +%check +%if 0%{?with_hardening_test} +# Check Ruby hardening. +checksec --file=libruby.so.%{ruby_version} | \ + grep "Full RELRO.*Canary found.*NX enabled.*DSO.*No RPATH.*No RUNPATH.*Yes.*\d*.*\d*.*libruby.so.%{ruby_version}" +%endif + +# Check RubyGems version. +[ "`make runruby TESTRUN_SCRIPT='bin/gem -v' | tail -1`" == '%{rubygems_version}' ] + +# Check Rubygems bundled dependencies versions. + +# Molinillo. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Gem; module Resolver; end; end; \ + require 'rubygems/resolver/molinillo/lib/molinillo/gem_metadata'; \ + puts Gem::Resolver::Molinillo::VERSION\\\"\" | tail -1`" \ + == '%{rubygems_molinillo_version}' ] + +# Check Bundler bundled dependencies versions. + +# connection_pool. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/connection_pool/lib/connection_pool/version'; \ + puts Bundler::ConnectionPool::VERSION\\\"\" | tail -1`" \ + == '%{bundler_connection_pool_version}' ] + +# FileUtils. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/fileutils/lib/fileutils'; \ + puts Bundler::FileUtils::VERSION\\\"\" | tail -1`" \ + == '%{bundler_fileutils_version}' ] + +# Molinillo. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/molinillo/lib/molinillo/gem_metadata'; \ + puts Bundler::Molinillo::VERSION\\\"\" | tail -1`" \ + == '%{bundler_molinillo_version}' ] + +# Net::HTTP::Persistent. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; module Persistent; module Net; module HTTP; \ + end; end; end; end; \ + require 'bundler/vendor/net-http-persistent/lib/net/http/persistent'; \ + puts Bundler::Persistent::Net::HTTP::Persistent::VERSION\\\"\" | tail -1`" \ + == '%{bundler_net_http_persistent_version}' ] + +# Thor. +[ "`make runruby TESTRUN_SCRIPT=\"-e \\\" \ + module Bundler; end; \ + require 'bundler/vendor/thor/lib/thor/version'; \ + puts Bundler::Thor::VERSION\\\"\" | tail -1`" \ + == '%{bundler_thor_version}' ] + +# tmpdir. +# TODO: There is no version in bundled tmpdir yet. +#%%{global bundler_tmpdir_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 +# the test suite). +touch abrt.rb + +# Check if abrt hook is required (RubyGems are disabled by default when using +# runruby, so re-enable them). +make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" + + +DISABLE_TESTS="" +MSPECOPTS="" + +# Avoid `hostname' dependency. +%{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} + +# Some infra allows DNS resolution but then does not allow +# connection to proceed, let's ignore it altogether for now. +# Our expectation is that there is no network connectivity outside +# available loopback interface. That is not the reality currently. +# https://issues.redhat.com/browse/CS-1959 +DISABLE_TESTS="$DISABLE_TESTS -n !/TestBundledCA/" + +# Several test broken by libffi-3.4.2. There should be fix in libffi, once +# other components are fixed. +# https://bugzilla.redhat.com/show_bug.cgi?id=2040380 +mv test/fiddle/test_import.rb{,.disable} + +# Part of the RubyGems test suite uses certificates that are using SHA1, +# they fail with default crypty policy, but setting crypto policy to +# LEGACY makes them pass. +# OPENSSL_ENABLE_SHA1_SIGNATURES=1 enables SHA1 for +# OpenSSL in order to enable tests using SHA1 certificates, at least running +# the tests is preferable to not running them at all. +# https://github.com/rubygems/rubygems/issues/5454 +# +# Give an option to increase the timeout in tests. +# https://bugs.ruby-lang.org/issues/16921 +OPENSSL_ENABLE_SHA1_SIGNATURES=1 \ +%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ + make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" + +# Run Ruby OpenSSL tests in OpenSSL FIPS. +make runruby TESTRUN_SCRIPT=" \ + -I%{_builddir}/%{buildsubdir}/tool/lib --enable-gems \ + %{SOURCE15} %{_builddir}/%{buildsubdir} --verbose" + +%post libs -p /sbin/ldconfig + +%postun libs -p /sbin/ldconfig + +%files +%license BSDL +%license COPYING +%lang(ja) %license COPYING.ja +%license GPL +%license LEGAL +%{_bindir}/erb +%{_bindir}/ruby%{?with_rubypick:-mri} +%{_mandir}/man1/erb* +%{_mandir}/man1/ruby* + +%files devel +%license BSDL +%license COPYING +%lang(ja) %license COPYING.ja +%license GPL +%license LEGAL + +#{_rpmconfigdir}/macros.d/macros.ruby + +%{_includedir}/* +%{_libdir}/libruby.so +%{_libdir}/pkgconfig/%{srcname}.pc + +%files libs +%license COPYING +%lang(ja) %license COPYING.ja +%license GPL +%license LEGAL +%doc README.md +%doc NEWS.md +# Exclude /usr/local directory since it is supposed to be managed by +# local system administrator. +%exclude %{ruby_sitelibdir} +%exclude %{ruby_sitearchdir} +%dir %{ruby_vendorlibdir} +%dir %{ruby_vendorarchdir} + +# List all these files explicitly to prevent surprises +# Platform independent libraries. +%dir %{ruby_libdir} +%exclude %{ruby_libdir}/bigdecimal* +%exclude %{ruby_libdir}/irb* +%exclude %{ruby_libdir}/json* +%exclude %{ruby_libdir}/psych* +%{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}/objspace.rb +%{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}/securerandom.rb +%{ruby_libdir}/set* +%{ruby_libdir}/shellwords.rb +%{ruby_libdir}/singleton* +%{ruby_libdir}/socket.rb +%{ruby_libdir}/syslog +%{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}/un.rb +%{ruby_libdir}/uri* +%{ruby_libdir}/weakref* +%{ruby_libdir}/yaml* + +# Platform specific libraries. +%{_libdir}/libruby.so.* +%dir %{ruby_libarchdir} +%dir %{ruby_libarchdir}/cgi +%{ruby_libarchdir}/cgi/escape.so +%{ruby_libarchdir}/continuation.so +%{ruby_libarchdir}/coverage.so +%{ruby_libarchdir}/date_core.so +%{ruby_libarchdir}/dbm.so +%dir %{ruby_libarchdir}/digest +%{ruby_libarchdir}/digest.so +%{ruby_libarchdir}/digest/bubblebabble.so +%{ruby_libarchdir}/digest/md5.so +%{ruby_libarchdir}/digest/rmd160.so +%{ruby_libarchdir}/digest/sha1.so +%{ruby_libarchdir}/digest/sha2.so +%dir %{ruby_libarchdir}/enc +%{ruby_libarchdir}/enc/big5.so +%{ruby_libarchdir}/enc/cesu_8.so +%{ruby_libarchdir}/enc/cp949.so +%{ruby_libarchdir}/enc/emacs_mule.so +%{ruby_libarchdir}/enc/encdb.so +%{ruby_libarchdir}/enc/euc_jp.so +%{ruby_libarchdir}/enc/euc_kr.so +%{ruby_libarchdir}/enc/euc_tw.so +%{ruby_libarchdir}/enc/gb18030.so +%{ruby_libarchdir}/enc/gb2312.so +%{ruby_libarchdir}/enc/gbk.so +%{ruby_libarchdir}/enc/iso_8859_1.so +%{ruby_libarchdir}/enc/iso_8859_10.so +%{ruby_libarchdir}/enc/iso_8859_11.so +%{ruby_libarchdir}/enc/iso_8859_13.so +%{ruby_libarchdir}/enc/iso_8859_14.so +%{ruby_libarchdir}/enc/iso_8859_15.so +%{ruby_libarchdir}/enc/iso_8859_16.so +%{ruby_libarchdir}/enc/iso_8859_2.so +%{ruby_libarchdir}/enc/iso_8859_3.so +%{ruby_libarchdir}/enc/iso_8859_4.so +%{ruby_libarchdir}/enc/iso_8859_5.so +%{ruby_libarchdir}/enc/iso_8859_6.so +%{ruby_libarchdir}/enc/iso_8859_7.so +%{ruby_libarchdir}/enc/iso_8859_8.so +%{ruby_libarchdir}/enc/iso_8859_9.so +%{ruby_libarchdir}/enc/koi8_r.so +%{ruby_libarchdir}/enc/koi8_u.so +%{ruby_libarchdir}/enc/shift_jis.so +%dir %{ruby_libarchdir}/enc/trans +%{ruby_libarchdir}/enc/trans/big5.so +%{ruby_libarchdir}/enc/trans/cesu_8.so +%{ruby_libarchdir}/enc/trans/chinese.so +%{ruby_libarchdir}/enc/trans/ebcdic.so +%{ruby_libarchdir}/enc/trans/emoji.so +%{ruby_libarchdir}/enc/trans/emoji_iso2022_kddi.so +%{ruby_libarchdir}/enc/trans/emoji_sjis_docomo.so +%{ruby_libarchdir}/enc/trans/emoji_sjis_kddi.so +%{ruby_libarchdir}/enc/trans/emoji_sjis_softbank.so +%{ruby_libarchdir}/enc/trans/escape.so +%{ruby_libarchdir}/enc/trans/gb18030.so +%{ruby_libarchdir}/enc/trans/gbk.so +%{ruby_libarchdir}/enc/trans/iso2022.so +%{ruby_libarchdir}/enc/trans/japanese.so +%{ruby_libarchdir}/enc/trans/japanese_euc.so +%{ruby_libarchdir}/enc/trans/japanese_sjis.so +%{ruby_libarchdir}/enc/trans/korean.so +%{ruby_libarchdir}/enc/trans/single_byte.so +%{ruby_libarchdir}/enc/trans/transdb.so +%{ruby_libarchdir}/enc/trans/utf8_mac.so +%{ruby_libarchdir}/enc/trans/utf_16_32.so +%{ruby_libarchdir}/enc/utf_16be.so +%{ruby_libarchdir}/enc/utf_16le.so +%{ruby_libarchdir}/enc/utf_32be.so +%{ruby_libarchdir}/enc/utf_32le.so +%{ruby_libarchdir}/enc/windows_1250.so +%{ruby_libarchdir}/enc/windows_1251.so +%{ruby_libarchdir}/enc/windows_1252.so +%{ruby_libarchdir}/enc/windows_1253.so +%{ruby_libarchdir}/enc/windows_1254.so +%{ruby_libarchdir}/enc/windows_1257.so +%{ruby_libarchdir}/enc/windows_31j.so +%{ruby_libarchdir}/etc.so +%{ruby_libarchdir}/fcntl.so +%{ruby_libarchdir}/fiber.so +%{ruby_libarchdir}/fiddle.so +%{ruby_libarchdir}/gdbm.so +%dir %{ruby_libarchdir}/io +%{ruby_libarchdir}/io/nonblock.so +%{ruby_libarchdir}/io/wait.so +%{ruby_libarchdir}/monitor.so +%{ruby_libarchdir}/nkf.so +%{ruby_libarchdir}/objspace.so +%{ruby_libarchdir}/pathname.so +%{ruby_libarchdir}/pty.so +%dir %{ruby_libarchdir}/rbconfig +%{ruby_libarchdir}/rbconfig.rb +%{ruby_libarchdir}/rbconfig/sizeof.so +%{ruby_libarchdir}/readline.so +%{ruby_libarchdir}/ripper.so +%{ruby_libarchdir}/socket.so +%{ruby_libarchdir}/stringio.so +%{ruby_libarchdir}/strscan.so +%{ruby_libarchdir}/syslog.so +%{ruby_libarchdir}/zlib.so + +# Default gems +%{ruby_libdir}/did_you_mean* +%{ruby_libdir}/openssl* +%{ruby_libarchdir}/openssl.so +%{ruby_libdir}/racc* +%dir %{ruby_libarchdir}/racc +%{ruby_libarchdir}/racc/cparse.so + +%files rubygems +%{_bindir}/gem +%dir %{rubygems_dir} +%{rubygems_dir}/rubygems +%{rubygems_dir}/rubygems.rb + +# Explicitly include only RubyGems directory strucure to avoid accidentally +# packaged content. +%dir %{gem_dir} +%dir %{gem_dir}/build_info +%dir %{gem_dir}/cache +%dir %{gem_dir}/doc +%dir %{gem_dir}/extensions +%dir %{gem_dir}/gems +%dir %{gem_dir}/plugins +%dir %{gem_dir}/specifications +%dir %{gem_dir}/specifications/default +%dir %{_exec_prefix}/lib*/gems +%dir %{_exec_prefix}/lib*/gems/ruby + +%exclude %{gem_dir}/cache/* + +%files 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/abbrev-0.1.0.gemspec +%{gem_dir}/specifications/default/base64-0.1.0.gemspec +%{gem_dir}/specifications/default/benchmark-0.1.1.gemspec +%{gem_dir}/specifications/default/cgi-0.2.2.gemspec +%{gem_dir}/specifications/default/csv-3.1.9.gemspec +%{gem_dir}/specifications/default/date-3.1.3.gemspec +%{gem_dir}/specifications/default/dbm-1.1.0.gemspec +%{gem_dir}/specifications/default/debug-0.2.1.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.5.gemspec +%{gem_dir}/specifications/default/english-0.7.1.gemspec +%{gem_dir}/specifications/default/erb-%{erb_version}.gemspec +%{gem_dir}/specifications/default/etc-1.3.0.gemspec +%{gem_dir}/specifications/default/fcntl-1.0.1.gemspec +%{gem_dir}/specifications/default/fiddle-1.0.8.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 +%{gem_dir}/specifications/default/gdbm-2.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.2.0.gemspec +%{gem_dir}/specifications/default/ipaddr-1.2.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.1.gemspec +%{gem_dir}/specifications/default/net-ftp-0.1.2.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.1.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.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.1.gemspec +%{gem_dir}/specifications/default/openssl-%{openssl_version}.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.2.1.gemspec +%{gem_dir}/specifications/default/prettyprint-0.1.1.gemspec +%{gem_dir}/specifications/default/prime-0.1.2.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.2.5.gemspec +%{gem_dir}/specifications/default/resolv-0.2.1.gemspec +%{gem_dir}/specifications/default/resolv-replace-0.1.0.gemspec +%{gem_dir}/specifications/default/rinda-0.1.1.gemspec +%{gem_dir}/specifications/default/securerandom-0.1.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.1.gemspec +%{gem_dir}/specifications/default/stringio-3.0.1.1.gemspec +%{gem_dir}/specifications/default/strscan-3.0.1.gemspec +%{gem_dir}/specifications/default/syslog-0.1.0.gemspec +%{gem_dir}/specifications/default/tempfile-0.1.1.gemspec +%{gem_dir}/specifications/default/time-0.1.1.gemspec +%{gem_dir}/specifications/default/timeout-0.1.1.gemspec +%{gem_dir}/specifications/default/tmpdir-0.1.2.gemspec +%{gem_dir}/specifications/default/tsort-0.1.0.gemspec +%{gem_dir}/specifications/default/tracer-0.1.1.gemspec +%{gem_dir}/specifications/default/un-0.1.0.gemspec +%{gem_dir}/specifications/default/uri-0.10.3.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.1.gemspec +%{gem_dir}/specifications/default/zlib-2.0.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: +# https://github.com/ruby/ruby/pull/2545 +%exclude %{_bindir}/racc +%exclude %{gem_dir}/gems/racc-%{racc_version}/bin + +%files rubygem-irb +%{_bindir}/irb +%{ruby_libdir}/irb* +%{gem_dir}/gems/irb-%{irb_version} +%{gem_dir}/specifications/irb-%{irb_version}.gemspec +%{_mandir}/man1/irb.1* + +%files rubygem-rdoc +%{_bindir}/rdoc +%{_bindir}/ri +%{gem_dir}/gems/rdoc-%{rdoc_version} +%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec +%{_mandir}/man1/ri* + +%files doc -f .ruby-doc.en -f .ruby-doc.ja +%doc README.md +%doc ChangeLog +%{?with_systemtap:%doc ruby-exercise.stp} +%{_datadir}/ri + +%files rubygem-bigdecimal +%{ruby_libdir}/bigdecimal* +%{ruby_libarchdir}/bigdecimal* +%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version} +%{gem_dir}/gems/bigdecimal-%{bigdecimal_version} +%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec + +%files rubygem-io-console +%{ruby_libdir}/io +%{ruby_libarchdir}/io/console.so +%{_libdir}/gems/ruby/io-console-%{io_console_version} +%{gem_dir}/gems/io-console-%{io_console_version} +%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec + +%files rubygem-json +%{ruby_libdir}/json* +%{ruby_libarchdir}/json* +%{_libdir}/gems/ruby/json-%{json_version} +%{gem_dir}/gems/json-%{json_version} +%{gem_dir}/specifications/json-%{json_version}.gemspec + +%files rubygem-psych +%{ruby_libdir}/psych +%{ruby_libdir}/psych.rb +%{ruby_libarchdir}/psych.so +%{_libdir}/gems/ruby/psych-%{psych_version} +%{gem_dir}/gems/psych-%{psych_version} +%{gem_dir}/specifications/psych-%{psych_version}.gemspec + +%files rubygem-bundler +%{_bindir}/bundle +%{_bindir}/bundler +%{gem_dir}/gems/bundler-%{bundler_version} +%{gem_dir}/specifications/bundler-%{bundler_version}.gemspec +%{_mandir}/man1/bundle*.1* +%{_mandir}/man5/gemfile.5* + +%files rubygem-minitest +%{gem_dir}/gems/minitest-%{minitest_version} +%exclude %{gem_dir}/gems/minitest-%{minitest_version}/.* +%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec + +%files 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 rubygem-rake +%{_bindir}/rake +%{gem_dir}/gems/rake-%{rake_version} +%{gem_dir}/specifications/rake-%{rake_version}.gemspec +%{_mandir}/man1/rake.1* + +%files rubygem-rbs +%{_bindir}/rbs +%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}/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 rubygem-test-unit +%{gem_dir}/gems/test-unit-%{test_unit_version} +%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec + +%files rubygem-rexml +%dir %{gem_dir}/gems/rexml-%{rexml_version} +%license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt +%doc %{gem_dir}/gems/rexml-%{rexml_version}/NEWS.md +%doc %{gem_dir}/gems/rexml-%{rexml_version}/doc +%{gem_dir}/gems/rexml-%{rexml_version}/lib +%{gem_dir}/specifications/rexml-%{rexml_version}.gemspec +%doc %{gem_dir}/gems/rexml-%{rexml_version}/README.md + +%files 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}/test + +%files 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 + + +%changelog +* Sun Nov 23 2025 Alexey Berezhok - 3.0.7-165.brepo.1 +- Make build for alternative path + +* Fri Apr 11 2025 Jarek Prokop - 3.0.7-165 +- Fix Denial of Service in CGI::Cookie.parse. (CVE-2025-27219) + Resolves: RHEL-87183 +- Fix ReDoS in CGI::Util#escapeElement. (CVE-2025-27220) + Resolves: RHEL-87184 + +* Thu Mar 06 2025 Jarek Prokop - 3.0.7-164 +- Undefine GC compaction methods on ppc64le. + Resolves: RHEL-83135 +- Fix printing warnings when using IRB from a script. + Resolves: RHEL-83137 + +* Tue Nov 26 2024 Jarek Prokop - 3.0.7-163 +- Fix REXML ReDoS vulnerability. (CVE-2024-49761) + Resolves: RHEL-68521 + +* Tue Apr 30 2024 Jun Aruga - 3.0.7-162 +- Upgrade to Ruby 3.0.7. + Resolves: RHEL-35740 +- Fix HTTP response splitting in CGI. + Resolves: RHEL-35741 +- Fix ReDoS vulnerability in URI. + Resolves: RHEL-35742 +- Fix ReDoS vulnerability in Time. + Resolves: RHEL-35743 +- Fix buffer overread vulnerability in StringIO. + Resolves: RHEL-35744 +- Fix RCE vulnerability with .rdoc_options in RDoc. + Resolves: RHEL-35746 +- Fix arbitrary memory address read vulnerability with Regex search. + Resolves: RHEL-35747 + +* Mon Oct 09 2023 Jun Aruga - 3.0.4-161 +- Fix OpenSSL.fips_mode and OpenSSL::PKey.read in OpenSSL 3 FIPS. + Resolves: RHEL-12724 +- ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters + Related: RHEL-12724 + +* Wed Jun 28 2023 Jun Aruga - 3.0.4-160 +- Bypass git submodule test failure on Git >= 2.38.1. +- Fix tests with Europe/Amsterdam pre-1970 time on tzdata version 2022b. +- Fix for tzdata-2022g. +- Fix File.utime test. + +* Wed Mar 15 2023 MSVSphere Packaging Team - 3.0.4-160 +- Rebuilt for MSVSphere 9.1. + +* Fri Jul 08 2022 Jarek Prokop - 3.0.4-160 +- Upgrade to Ruby 3.0.4. + Resolves: rhbz#2096347 +- OpenSSL test suite fixes due to disabled SHA1. + Resolves: rbhz#2107696 +- Fix double free in Regexp compilation. + Resolves: CVE-2022-28738 +- Fix buffer overrun in String-to-Float conversion. + Resolves: CVE-2022-28739 + +* Thu Feb 10 2022 Vít Ondruch - 3.0.3-159 +- Prevent segfaults running with SystemTap. + Resolves: rhbz#2015441 + +* Tue Jan 25 2022 Vít Ondruch - 3.0.3-159 +- Update OpenSSL 3 compatibility patches. + Resolves: rhbz#1952925 + +* Thu Jan 20 2022 Vít Ondruch - 3.0.3-157 +- Fix segfault in `TestArray#test_sample` on s390x. + Related: rhbz#2049693 + +* Tue Jan 11 2022 Jun Aruga - 3.0.3-157 +- Remove the patch applied to pass the test/fiddle/test_import.rb on PPC. + Related: rhbz#2049693 + +* Thu Nov 25 2021 Vít Ondruch - 3.0.2-156 +- Upgrade to Ruby 3.0.3. + Resolves: rhbz#2049693 + +* Wed Aug 25 2021 Vít Ondruch - 3.0.2-156 +- Enable LTO. + Resolves: rhbz#1990108 + +* Wed Aug 25 2021 Carlos O'Donell - 3.0.1-155 +- Rebuilt for libffi 3.4.2 SONAME transition (second attempt). + Related: rhbz#1891914 + +* Fri Aug 20 2021 Pavel Valena - 3.0.1-154 +- Upgrade to Ruby 3.0.2. +- Fix command injection vulnerability in RDoc. + Resolves: CVE-2021-31799 +- Fix FTP PASV command response can cause Net::FTP to connect to arbitrary host. + Resolves: CVE-2021-31810 +- Fix StartTLS stripping vulnerability in Net::IMAP + Resolves: CVE-2021-32066 +- Fix dependencies of gems with explicit source installed from a + different source. + Resolves: CVE-2020-36327 +- Pass ldflags to gem install via CONFIGURE_ARGS. + +* Thu Aug 19 2021 Carlos O'Donell - 3.0.1-153 +- Rebuilt for libffi 3.4.2 SONAME transition. + Related: rhbz#1891914 + +* Tue Aug 10 2021 Mohan Boddu +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Aug 6 2021 Florian Weimer - 3.0.1-151 +- Rebuild to pick up new build flags from redhat-rpm-config (#1984652) + +* Wed Jun 16 2021 Mohan Boddu +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Thu Jun 03 2021 Pavel Valena - 3.0.1-149 +- Support OpenSSL 3.0. + Resolves: rhbz#1952925 + +* Fri Apr 16 2021 Vít Ondruch - 3.0.1-148 +- Upgrade to Ruby 3.0.1. + +* Fri Apr 16 2021 Vít Ondruch - 3.0.0-147 +- Remove IRB dependency from rubygem-rdoc. + +* Fri Apr 16 2021 Mohan Boddu - 3.0.0-147 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Mar 02 2021 Vít Ondruch - 3.0.0-146 +- Fix flaky excon test suite. +- Properly support DWARF5 debug information. + Resolves: rhbz#1920533 + +* Mon Jan 25 2021 Vít Ondruch - 3.0.0-145 +- Bundle OpenSSL into StdLib. +- Use proper path for plugin wrappers. + +* Sat Jan 16 2021 Vít Ondruch - 3.0.0-144 +- Fix SEGFAULT in rubygem-shoulda-matchers test suite. + +* Tue Jan 12 2021 Vít Ondruch - 3.0.0-143 +- Provide `gem.build_complete` file for binary gems. + +* Mon Jan 11 2021 Vít Ondruch - 3.0.0-142 +- Re-enable test suite. + +* Fri Jan 8 2021 Vít Ondruch - 3.0.0-141 +- ruby-default-gems have to depend on rubygem(io-console) due to reline. + +* Fri Jan 8 2021 Vít Ondruch - 3.0.0-140 +- Fix SEGFAULT preventing rubygem-unicode to build on armv7hl. + +* Wed Jan 6 2021 Vít Ondruch - 3.0.0-139 +- Add support for reworked RubyGems plugins. + +* Mon Jan 04 2021 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. + +* Tue Dec 15 16:26:46 CET 2020 Pavel Valena - 2.7.2-137 +- Add Recommends: redhat-rpm-config to devel subpackage. + Resolves: rhbz#1905222 + +* Tue Nov 24 18:16:02 CET 2020 Vít Ondruch - 2.7.2-136 +- Add explicit `BR: make`. + +* Tue Oct 13 2020 Vít Ondruch - 2.7.2-135 +- Upgrade to Ruby 2.7.2. + +* Wed Jul 29 2020 Fedora Release Engineering - 2.7.1-134 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* 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. + +* 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 + +* Wed Jun 24 2020 Vít Ondruch - 2.7.1-132 +- Fix `require` behavior allowing to load libraries multiple times. + Resolves: rhbz#1835836 + +* Fri May 15 2020 Vít Ondruch - 2.7.1-131 +- Relax rubygems-devel dependency on rubygems. + +* Wed Apr 08 2020 Vít Ondruch - 2.7.1-130 +- Bundle did_you_mean into StdLib. + Resolves: rhbz#1817178 +- Prevent issues with openssl loading when RubyGems are disabled. + +* Thu Apr 02 2020 Vít Ondruch - 2.7.1-129 +- Add ruby-default-gems subpackage shipping all extra default gem content. +- Bundle Racc into StdLib. + +* Wed Apr 01 2020 Vít Ondruch - 2.7.1-128 +- Upgrade to Ruby 2.7.1. +- Fix FTBFS due to glibc 2.31.9000 implementing lchmod(2). + +* Tue Jan 28 2020 Vít Ondruch - 2.7.0-127 +- Provide StdLib links for Racc and install it by default. + +* Thu Jan 16 2020 Vít Ondruch - 2.7.0-126 +- Make rubygem(did_you_mean) hard dependency. + +* Tue Jan 07 2020 Vít Ondruch - 2.7.0-125 +- Upgrade to Ruby 2.7.0. +- Drop useless %%{rubygems_default_filter}. + +* Tue Oct 08 2019 Slava Kardakov - 2.6.5-124 +- Update to Ruby 2.6.5. + +* Fri Aug 30 2019 Pavel Valena - 2.6.4-123 +- Update to Ruby 2.6.4. +- Fix checksec 2.0+ compatibility. + +* Fri Jul 26 2019 Fedora Release Engineering - 2.6.3-122 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Vít Ondruch - 2.6.3-121 +- Properly support %%prerelease in %%gemspec_ macros. + +* Thu Apr 25 2019 Pavel Valena - 2.6.3-120 +- Update to Ruby 2.6.3. + +* Thu Mar 28 2019 Arjen Heidinga - 2.6.2-119 +- Add zlib-devel explicitly as BuildRequirement. + +* Thu Mar 21 2019 Vít Ondruch - 2.6.2-118 +- Link IRB files instead of directories, which RPM cannot handle + during updates (rhbz#1691039). + +* Tue Mar 19 2019 Vít Ondruch - 2.6.2-117 +- Link IRB back to StdLib. + +* Thu Mar 14 2019 Vít Ondruch - 2.6.2-116 +- Upgrade to Ruby 2.6.2. + +* Tue Mar 05 2019 Vít Ondruch - 2.6.1-115 +- Fix ".include =" support in openssl.cnf (rhbz#1668916). + +* Sun Feb 17 2019 Igor Gnatenko - 2.6.1-114 +- Rebuild for readline 8.0 + +* Thu Feb 07 2019 Vít Ondruch - 2.6.1-113 +- Don't ship .stp files when SystemTap support is disabled. + +* Thu Jan 31 2019 Vít Ondruch - 2.6.1-112 +- Upgrade to Ruby 2.6.1. + +* Thu Jan 24 2019 Vít Ondruch - 2.6.0-111 +- Properly generate versioned ruby(rubygems) dependencies. +- Loosen RDoc dependency. + +* Thu Jan 17 2019 Vít Ondruch - 2.6.0-110 +- Upgrade to Ruby 2.6.0. + +* Mon Jan 14 2019 Björn Esser - 2.5.3-104 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Fri Jan 11 2019 Jun Aruga - 2.5.3-103 +- Refresh expired certificates to fix FTBFS. + +* Tue Nov 13 2018 Vít Ondruch - 2.5.3-102 +- Fix Tokyo TZ tests. + +* Fri Oct 19 2018 Jun Aruga - 2.5.3-101 +- Update to Ruby 2.5.3. + +* Mon Sep 03 2018 Vít Ondruch - 2.5.1-100 +- Properly harden package using -fstack-protector-strong. + +* Wed Aug 29 2018 Vít Ondruch - 2.5.1-99 +- Additional OpenSSL 1.1.1 fixes. +- Add --with-cxxflags configuration for %%gem_install macro. + +* Tue Aug 28 2018 Jun Aruga - 2.5.1-99 +- Fix generated rdoc template issues. + +* Mon Aug 13 2018 Vít Ondruch - 2.5.1-98 +- Properly execute entire test suite. + +* Mon Aug 13 2018 Vít Ondruch - 2.5.1-97 +- Fix TLS 1.3 issues. + +* Tue Jul 31 2018 Florian Weimer - 2.5.1-96 +- Rebuild with fixed binutils + +* Fri Jul 27 2018 Igor Gnatenko - 2.5.1-95 +- Rebuild for new binutils + +* Thu Jul 26 2018 Vít Ondruch - 2.5.1-94 +- Disable some test failing with OpenSSL 1.1.1. + +* Sat Jul 14 2018 Fedora Release Engineering - 2.5.1-94 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu May 10 2018 Pavel Valena - 2.5.1-93 +- Add macros to edit files lists in .gemspec + (gemspec_add_file and gemspec_remove_file). + +* Wed May 02 2018 Vít Ondruch - 2.5.1-93 +- Make %%gemspec_{add,remove}_dep modify .gemspec provided by %%setup macro. + +* Tue Apr 10 2018 Vít Ondruch - 2.5.1-92 +- Conflict requirement needs to generate dependency. +- Stop using --with-setjmp-type=setjmp on aarch64 (rhbz#1545239). + +* Thu Mar 29 2018 Pavel Valena - 2.5.1-92 +- Update to Ruby 2.5.1. + +* Mon Mar 05 2018 Vít Ondruch - 2.5.0-91 +- Don't force libraries used to build Ruby to its dependencies. +- Re-enable GMP dependency. + +* Thu Mar 01 2018 Vít Ondruch - 2.5.0-90 +- Drop GMP dependency. + +* Sat Feb 24 2018 Florian Weimer - 2.5.0-89 +- Rebuild with new LDFLAGS from redhat-rpm-config +- Use --with-setjmp-type=setjmp on aarch64 to work around gcc issue (#1545239) + +* Wed Feb 21 2018 Pavel Valena - 2.5.0-89 +- Fix: Multiple vulnerabilities in RubyGems + https://bugzilla.redhat.com/show_bug.cgi?id=1547431 + https://www.ruby-lang.org/en/news/2018/02/17/multiple-vulnerabilities-in-rubygems/ + +* Tue Feb 13 2018 Vít Ondruch - 2.5.0-89 +- Drop obsolete ldconfig scriptlets. +- Add GMP dependency. +- Use 'with' operator in RPM dependency generator. +- Add conflicts RPM generator. +- Fix thread_safe test suite segfaults. +- Fix invalid licenses. + +* Fri Feb 09 2018 Fedora Release Engineering - 2.5.0-89 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 2.5.0-88 +- Rebuilt for switch to libxcrypt + +* Tue Jan 09 2018 Vít Ondruch - 2.5.0-87 +- Fix segfaults during generating of documentation. + +* Tue Jan 02 2018 Vít Ondruch - 2.5.0-86 +- Upgrade to Ruby 2.5.0. + +* Fri Oct 27 2017 Jun Aruga - 2.4.2-86 +- Add macro to remove rubypick dependency. +- Improve "with" conditional statement as inline. + +* Thu Oct 19 2017 Jun Aruga - 2.4.2-85 +- Add macros to remove systemtap, git and cmake dependencies. + +* Mon Sep 18 2017 Pavel Valena - 2.4.2-84 +- Update to Ruby 2.4.2. + +* Fri Sep 08 2017 Vít Ondruch - 2.4.1-84 +- Drop ruby-devel dependency on rubypick, which is pulled in transtitively. + +* Fri Aug 11 2017 Vít Ondruch - 2.4.1-83 +- Fix "IOError: stream closed" errors affecting Puma. +- Temporary disable checksec on PPC64LE (rhbz#1479302). + +* Thu Aug 03 2017 Fedora Release Engineering - 2.4.1-82 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 2.4.1-81 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Vít Ondruch - 2.4.1-80 +- OpenSSL 1.1.0f-3 disables some weak ciphers. Adjust the package to pass + the tests suite. + +* Mon Apr 03 2017 Vít Ondruch - 2.4.1-79 +- Update to Ruby 2.4.1. + +* Thu Feb 23 2017 Vít Ondruch - 2.4.0-78 +- Fix OpenSSL symlinks. + +* Sat Feb 11 2017 Fedora Release Engineering - 2.4.0-77 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Feb 03 2017 Vít Ondruch - 2.4.0-76 +- Fix GCC 7.x compatibility (rhbz#1417590). +- Use standardized multilib solution (rhbz#1412274). + +* Tue Jan 17 2017 Vít Ondruch - 2.4.0-75 +- Apply patch fixing rubygem-mongo build failures. + +* Fri Jan 13 2017 Mamoru TASAKA - 2.4.0-74 +- Rebuild again for f26-ruby24 sidetag + +* Thu Jan 12 2017 Igor Gnatenko - 2.4.0-73 +- Rebuild for readline 7.x + +* Wed Jan 11 2017 Vít Ondruch - 2.4.0-72 +- Link files into directory to avoid dir => symlink isues. + +* Mon Jan 09 2017 Vít Ondruch - 2.4.0-71 +- Add rubygem-io-console dependency for rubygem-rdoc. + +* Mon Jan 02 2017 Vít Ondruch - 2.4.0-70 +- Upgrade to Ruby 2.4.0. +- Move gemified xmlrpc into subpackage. +- Move gemified openssl into subpackage. +- Tk is removed from stdlib. +- Extend 'gem_' macros for pre-release version support. + +* Tue Nov 22 2016 Vít Ondruch - 2.3.3-61 +- Update to Ruby 2.3.3. +- Exclude json.rb from ruby-libs (rhbz#1397370). + +* Fri Nov 18 2016 Vít Ondruch - 2.3.2-60 +- Update to Ruby 2.3.2. + +* Fri Oct 21 2016 Vít Ondruch - 2.3.1-59 +- Continue to use OpenSSL 1.0 for the moment. +- Add gemspec_add_dep and gemspec_remove_dep macros. +- Harden package. + +* Wed Aug 10 2016 Vít Ondruch - 2.3.1-58 +- Workaround "an invalid stdio handle" error on PPC (rhbz#1361037). + +* Tue Jul 12 2016 Vít Ondruch - 2.3.1-57 +- Make symlinks for json gem. + +* Mon May 23 2016 Vít Ondruch - 2.3.1-56 +- Requires rubygem(json) for rubygem-rdoc (rhbz#1325022). + +* Fri Apr 29 2016 Vít Ondruch - 2.3.1-55 +- Update to Ruby 2.3.1. + +* Wed Feb 3 2016 Peter Robinson 2.3.0-54 +- Add rubypick and rubygems requires to ruby-devel to deal with BuildRequires + +* Fri Jan 15 2016 Mamoru TASAKA - 2.3.0-53 +- Backport trunk@53455 to make ruby-qt build + +* Wed Jan 06 2016 Vít Ondruch - 2.3.0-52 +- Explicitly require RDoc, since weak dependencies are ignored by default. + +* Wed Jan 06 2016 Vít Ondruch - 2.3.0-51 +- Load RubyGems prior ABRT hook to properly rescue RubyGems exceptions. + +* Mon Jan 04 2016 Vít Ondruch - 2.3.0-50 +- Upgrade to Ruby 2.3.0. +- Move gemified net-telnet into subpackage. +- Add did_you_mean subpackage. +- Add virtual provides for CCAN copylibs. +- Use weak dependencies. + +* Tue Dec 22 2015 Pavel Valena - 2.3.0-0.7.preview2 +- Add systemtap tests. + +* Mon Dec 21 2015 Vít Ondruch - 2.2.4-47 +- Update to Ruby 2.2.4. + +* Thu Dec 10 2015 Vít Ondruch - 2.2.3-46 +- Fix ABRT hook autoloading. + +* Fri Sep 04 2015 Michal Toman - 2.2.3-45 +- Add support for MIPS architecture to config.h + +* Tue Sep 01 2015 Vít Ondruch - 2.2.3-44 +- Update to Ruby 2.2.3. + +* Tue Jun 23 2015 Vít Ondruch - 2.2.2-43 +- Fix for "dh key too small" error of OpenSSL 1.0.2+. + +* Thu Jun 18 2015 Fedora Release Engineering - 2.2.2-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Jun 10 2015 Vít Ondruch - 2.2.2-41 +- Fix the git BR following the git package split. + +* Mon May 04 2015 Vít Ondruch - 2.2.2-40 +- Fix upgrade path (rubygem-io-console's version was recently bumped in F21 + and makes the higher release to win). + +* Tue Apr 14 2015 Josef Stribny - 2.2.2-11 +- Bump release because of gems + +* Tue Apr 14 2015 Josef Stribny - 2.2.2-1 +- Update to Ruby 2.2.2 + +* Fri Mar 20 2015 Vít Ondruch - 2.2.1-10 +- Fix libruby.so versions in SystemTap scripts (rhbz#1202232). + +* Wed Mar 04 2015 Vít Ondruch - 2.2.1-9 +- Update to Ruby 2.2.1. + +* Sat Feb 21 2015 Till Maas - 2.2.0-8 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Thu Feb 05 2015 Vít Ondruch - 2.2.0-7 +- Fix directory ownership. + +* Wed Feb 04 2015 Vít Ondruch - 2.2.0-6 +- Initialize all load paths in operating_system.rb. + +* Tue Feb 03 2015 Vít Ondruch - 2.2.0-5 +- Make operating_system.rb more robust. +- Add RubyGems stub headers for bundled gems. + +* Thu Jan 29 2015 Vít Ondruch - 2.2.0-4 +- Add missing rubygem-test-unit dependency on rubygem-power_assert. + +* Thu Jan 15 2015 Mamoru TASAKA - 2.2.0-3 +- Bump release to avoid EVR issue on rubygem-test-unit + +* Fri Jan 02 2015 Vít Ondruch - 2.2.0-1 +- Upgrade to Ruby 2.2.0. +- Explicitly list RubyGems directories to avoid accidentaly packaged content. +- Split test-unit and power_assert gems into separate sub-packages. +- Drop libdb dependency in favor of gdbm. + +* Fri Dec 26 2014 Orion Poplwski - 2.1.5-26 +- Disbable sse2 on i668 (bug #1101811) + +* Thu Nov 20 2014 Vít Ondruch - 2.1.5-25 +- Update to Ruby 2.1.5. + +* Fri Oct 31 2014 Vít Ondruch - 2.1.4-24 +- Update to Ruby 2.1.4. +- Include only vendor directories, not their content (rhbz#1114071). +- Fix "invalid regex" warning for non-rubygem packages (rhbz#1154067). +- Use load macro introduced in RPM 4.12. + +* Mon Aug 18 2014 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Tue Jun 24 2014 Peter Robinson 2.1.2-23 +- Fix FTBFS +- Specify tcl/tk 8.6 +- Add upstream patch to build with libffi 3.1 + +* Sun Jun 08 2014 Fedora Release Engineering +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 21 2014 Jaroslav Škarvada +- Rebuilt for https://fedoraproject.org/wiki/Changes/f21tcl86 + +* Tue May 20 2014 Josef Stribny - 2.1.2-21 +- Update to Ruby 2.1.2 + +* Tue May 06 2014 Vít Ondruch - 2.1.1-20 +- Remove useless exclude (rhbz#1065897). +- Extract load macro into external file and include it. +- Kill bundled certificates. + +* Wed Apr 23 2014 Vít Ondruch - 2.1.1-19 +- Correctly expand $(prefix) in some Makefiles, e.g. eruby. + +* Tue Apr 08 2014 Vít Ondruch - 2.1.1-18 +- Update to Ruby 2.1.1. +- Revert regression of Hash#reject. + +* Mon Mar 03 2014 Vít Ondruch - 2.1.0-19 +- Add RPM dependency generators for RubyGems. + +* Mon Feb 10 2014 Josef Stribny - 2.1.0-19 +- Don't link cert.pem explicitely + +* Wed Jan 15 2014 Vít Ondruch - 2.1.0-18 +- Don't generate documentation on unexpected places. +- Detect if rubygems are running under rpmbuild and install gem binary + extensions into appropriate place. +- Add support for ppc64le arch (rhbz#1053263). +- Re-enable some test cases, which are passing now with Kernel 3.12.8+. +- Backport fix for floating point issues on i686. + +* Thu Jan 02 2014 Vít Ondruch - 2.1.0-17 +- Upgrade to Ruby 2.1.0. +- Move RPM macros into /usr/lib/rpm/macros.d directory. +- Allow MD5 in OpenSSL for tests. + +* Tue Jul 30 2013 Vít Ondruch - 2.0.0.247-15 +- Move Psych symlinks to vendor dir, to prevent F18 -> F19 upgrade issues + (rhbz#988490). + +* Mon Jul 15 2013 Vít Ondruch - 2.0.0.247-14 +- Add forgotten psych.rb link into rubygem-psych to fix "private method `load' + called for Psych:Moduler" error (rhbz#979133). + +* Thu Jul 11 2013 Vít Ondruch - 2.0.0.247-13 +- Fixes multilib conlicts of .gemspec files. +- Make symlinks for psych gem to ruby stdlib dirs (rhbz#979133). +- Use system-wide cert.pem. + +* Thu Jul 04 2013 Vít Ondruch - 2.0.0.247-12 +- Fix RubyGems search paths when building gems with native extension + (rhbz#979133). + +* Tue Jul 02 2013 Vít Ondruch - 2.0.0.247-11 +- Fix RubyGems version. + +* Tue Jul 02 2013 Vít Ondruch - 2.0.0.247-10 +- Better support for build without configuration (rhbz#977941). + +* Mon Jul 01 2013 Vít Ondruch - 2.0.0.247-9 +- Update to Ruby 2.0.0-p247 (rhbz#979605). +- Fix CVE-2013-4073. +- Fix for wrong makefiles created by mkmf (rhbz#921650). +- Add support for ABRT autoloading. + +* Fri May 17 2013 Vít Ondruch - 2.0.0.195-8 +- Update to Ruby 2.0.0-p195 (rhbz#917374). +- Fix object taint bypassing in DL and Fiddle (CVE-2013-2065). +- Fix build against OpenSSL with enabled ECC curves. +- Add aarch64 support (rhbz#926463). + +* Fri Apr 19 2013 Vít Ondruch - 2.0.0.0-7 +- Macro definition moved into macros.ruby and macros.rubygems files. +- Added filtering macros. +- Filter automatically generated provides of private libraries (rhbz#947408). + +* Fri Mar 22 2013 Vít Ondruch - 2.0.0.0-6 +- Fix RbConfig::CONFIG['exec_prefix'] returns empty string (rhbz#924851). + +* Thu Mar 21 2013 Vít Ondruch - 2.0.0.0-5 +- Make Ruby buildable without rubypick. +- Prevent random test failures. + +* Fri Mar 08 2013 Mamoru TASAKA - 2.0.0.0-4 +- Don't mark rpm config file as %%config (fpc#259) + +* Tue Mar 05 2013 Vít Ondruch - 2.0.0.0-3 +- Avoid "method redefined;" warnings due to modified operating_system.rb. +- Fix strange paths created during build of binary gems. + +* Mon Feb 25 2013 Vít Ondruch - 2.0.0.0-2 +- Prevent squash of %%gem_install with following line. + +* Mon Feb 25 2013 Vít Ondruch - 2.0.0.0-1 +- Update to Ruby 2.0.0-p0. +- Change %%{ruby_extdir} to %%{ruby_extdir_mri} in preparation for better + JRuby support. + +* Mon Feb 25 2013 Mamoru TASAKA - 2.0.0.0-0.3.r39387 +- Move test-unit.gemspec to -libs subpackage for now because rubygems + 2.0.0 does not create this + +* Fri Feb 22 2013 Vít Ondruch - 2.0.0.0-0.2.r39387 +- Fix issues with wrong value of Rubygem's shebang introduced in r39267. + +* Fri Feb 22 2013 Vít Ondruch - 2.0.0.0-0.1.r39387 +- Upgrade to Ruby 2.0.0 (r39387). +- Introduce %%gem_install macro. +- Build against libdb instead of libdb4 (rhbz#894022). +- Move native extensions from exts to ruby directory. +- Enable most of the PPC test suite. +- Change ruby(abi) -> ruby(release). +- Rename ruby executable to ruby-mri, to be prepared for RubyPick. +- Add ruby(runtime_executable) virtual provide, which is later used + by RubyPick. +- RDoc now depends on JSON. +- Try to make -doc subpackage noarch again, since the new RDoc should resolve + the arch dependent issues (https://github.com/rdoc/rdoc/issues/71). +- Enable SystemTap support. +- Add TapSet for Ruby. +- Split Psych into rubygem-psych subpackage. + +* Mon Feb 11 2013 Mamoru TASAKA - 1.9.3.385-28 +- Update to 1.9.3 p385 + +* Sat Jan 19 2013 Mamoru TASAKA - 1.9.3.374-27 +- Update to 1.9.3 p374 +- Fix provided variables in pkgconfig (bug 789532: + Vít Ondruch ) + +* Fri Jan 18 2013 Mamoru TASAKA - 1.9.3.362-26 +- Provide non-versioned pkgconfig file (bug 789532) +- Use db5 on F-19 (bug 894022) + +* Wed Jan 16 2013 Mamoru TASAKA - 1.9.3.362-25 +- Backport fix for the upstream PR7629, save the proc made from the given block + (bug 895173) + +* Wed Jan 2 2013 Mamoru TASAKA - 1.9.3.362-24 +- Update to 1.9.3.362 + +* Mon Dec 03 2012 Jaromir Capik - 1.9.3.327-23 +- Skipping test_parse.rb (fails on ARM at line 787) +- http://bugs.ruby-lang.org/issues/6899 + +* Sun Nov 11 2012 Mamoru TASAKA - 1.9.3.327-23 +- Skip test_str_crypt (on rawhide) for now (upstream bug 7312) + +* Sat Nov 10 2012 Mamoru TASAKA - 1.9.3.327-22 +- Ignore some network related tests + +* Sat Nov 10 2012 Mamoru TASAKA - 1.9.3.327-21 +- Update to 1.9.3.327 +- Fix Hash-flooding DoS vulnerability on MurmurHash function + (CVE-2012-5371) + +* Sat Oct 13 2012 Mamoru TASAKA - 1.9.3.286-19 +- Update to 1.9.3 p286 +- Don't create files when NUL-containing path name is passed + (bug 865940, CVE-2012-4522) + +* Thu Oct 04 2012 Mamoru Tasaka - 1.9.3.194-18 +- Patch from trunk for CVE-2012-4464, CVE-2012-4466 + +* Thu Sep 06 2012 Vít Ondruch - 1.9.3.194-17 +- Split documentation into -doc subpackage (rhbz#854418). + +* Tue Aug 14 2012 Vít Ondruch - 1.9.3.194-16 +- Revert the dependency of ruby-libs on rubygems (rhbz#845011, rhbz#847482). + +* Wed Aug 01 2012 Vít Ondruch - 1.9.3.194-15 +- ruby-libs must require rubygems (rhbz#845011). + +* Sat Jul 21 2012 Fedora Release Engineering - 1.9.3.194-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon Jun 11 2012 Bohuslav Kabrda - 1.9.3.194-13 +- Make the bigdecimal gem a runtime dependency of Ruby. + +* Mon Jun 11 2012 Bohuslav Kabrda - 1.9.3.194-12 +- Make symlinks for bigdecimal and io-console gems to ruby stdlib dirs (RHBZ 829209). + +* Tue May 29 2012 Bohuslav Kabrda - 1.9.3.194-11 +- Fix license to contain Public Domain. +- macros.ruby now contains unexpanded macros. + +* Sun Apr 22 2012 Mamoru Tasaka - 1.9.3.194-10.1 +- Bump release + +* Fri Apr 20 2012 Vít Ondruch - 1.9.3.194-1 +- Update to Ruby 1.9.3-p194. + +* Mon Apr 09 2012 Karsten Hopp 1.9.3.125-3 +- disable check on ppc(64), RH bugzilla 803698 + +* Wed Feb 29 2012 Peter Robinson - 1.9.3.125-2 +- Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410 + +* Mon Feb 20 2012 Vít Ondruch - 1.9.3.125-1 +- Upgrade to Ruby 1.9.3-p125. + +* Sun Jan 29 2012 Mamoru Tasaka - 1.9.3.0-7 +- Make mkmf.rb verbose by default + +* Thu Jan 26 2012 Vít Ondruch - 1.9.3.0-6 +- Relax dependencies to allow external updates of bundled gems. + +* Wed Jan 18 2012 Vít Ondruch - 1.9.3.0-5 +- Initial release of Ruby 1.9.3. +- Add rubygems dependency on io-console for user interactions. +- Gems license clarification. + +* Tue Jan 17 2012 Vít Ondruch - 1.9.3.0-4 +- Bundled gems moved into dedicated directories and subpackages. +- Create and own RubyGems directories for binary extensions. +- Fix build with GCC 4.7. + +* Mon Jan 16 2012 Vít Ondruch - 1.9.3.0-3 +- Fix RHEL build. +- Fixed directory ownership. +- Verose build output. + +* Sun Jan 15 2012 Vít Ondruch - 1.9.3.0-2 +- Install RubyGems outside of Ruby directory structure. +- RubyGems has not its own -devel subpackage. +- Enhanced macros.ruby and macros.rubygems. +- All tests are green now (bkabrda). + +* Sat Jan 14 2012 Vít Ondruch - 1.9.3.0-1 +- Initial package + +* Sat Jan 14 2012 Fedora Release Engineering - 1.8.7.357-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Dec 29 2011 Mamoru Tasaka - 1.8.7.357-1 +- Update to 1.8.7p357 +- Randomize hash on process startup (CVE-2011-4815, bug 750564) + +* Fri Dec 23 2011 Dennis Gilmore - 1.8.7.352-2 +- dont normalise arm cpus to arm +- there is something weird about how ruby choses where to put bits + +* Thu Nov 17 2011 Mamoru Tasaka - 1.8.7.352-3 +- F-17: kill gdbm support for now due to licensing compatibility issue + +* Sat Oct 1 2011 Mamoru Tasaka - 1.8.7.352-2 +- F-17: rebuild against new gdbm + +* Sat Jul 16 2011 Mamoru Tasaka - 1.8.7.352-1 +- Update to 1.8.7 p352 +- CVE-2011-2686 is fixed in this version (bug 722415) +- Update ext/tk to the latest git +- Remove duplicate path entry (bug 718695) + +* Thu Jul 14 2011 Mamoru Tasaka - 1.8.7.334-4 +- Once fix FTBFS (bug 716021) + +* Mon Jul 11 2011 Dennis Gilmore - 1.8.7.334-3 +- normalise arm cpus to arm + +* Mon May 30 2011 Mamoru Tasaka - 1.8.7.334-2 +- Own %%{_normalized_cpu}-%%{_target_os} directory (bug 708816) + +* Sat Feb 19 2011 Mamoru Tasaka - 1.8.7.334-1 +- Update to 1.8.7 p334 + +* Wed Feb 09 2011 Fedora Release Engineering - 1.8.7.330-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Jan 02 2011 Dennis Gilmore - 1.8.7.330-2 +- nomalise the 32 bit sparc archs to sparc + +* Sun Dec 26 2010 Mamoru Tasaka - 1.8.7.330-1 +- Update to 1.8.7 p330 +- ext/tk updated to the newest header + +* Thu Nov 4 2010 Mamoru Tasaka - 1.8.7.302-2 +- Avoid multilib conflict on -libs subpackage (bug 649174) + +* Mon Aug 23 2010 Mamoru Tasaka - 1.8.7.302-1 +- Update to 1.8.7.302 +- CVE-2010-0541 (bug 587731) is fixed in this version +- Update ext/tk to the latest head + +* Mon Aug 2 2010 Mamoru Tasaka - 1.8.7.299-5 +- More cleanup of spec file, expecially for rpmlint issue +- build ri files in %%build + +* Mon Jul 26 2010 Mamoru Tasaka - 1.8.7.299-4 +- Cleanup spec file +- Make -irb, -rdoc subpackage noarch +- Make dependencies between arch-dependent subpackages isa specific +- Improve sample documentation gathering + +* Mon Jul 12 2010 Mohammed Morsi - 1.8.7.299-3 +- updated packaged based on feedback (from mtasaka) +- added comments to all patches / sources +- obsoleted ruby-mode, as it's now provided by the emacs package itself +- readded missing documentation +- various small compatability/regression fixes + +* Tue Jul 06 2010 Mohammed Morsi - 1.8.7.299-2 +- readded bits to pull tk package from upstream source branch +- removed unecessary .tk.old dir +- renamed macros which may cause confusion, removed unused ones + +* Thu Jun 24 2010 Mohammed Morsi - 1.8.7.299-1 +- integrate more of jmeyering's and mtaska's feedback +- removed emacs bits that are now shipped with the emacs package +- various patch and spec cleanup +- rebased to ruby 1.8.7 patch 299, removed patches no longer needed: + ruby-1.8.7-openssl-1.0.patch, ruby-1.8.7-rb_gc_guard_ptr-optimization.patch + +* Wed Jun 23 2010 Mohammed Morsi - 1.8.7.249-5 +- Various fixes + +* Wed Jun 23 2010 Mohammed Morsi - 1.8.7.249-4 +- Fixed incorrect paths in 1.8.7 rpm + +* Tue Jun 22 2010 Mohammed Morsi - 1.8.7.249-3 +- Integrated Jim Meyering's feedback and changes in to: +- remove trailing blanks +- placate rpmlint +- ruby_* definitions: do not use trailing slashes in directory names +- _normalized_cpu: simplify definition + +* Mon Jun 21 2010 Mohammed Morsi - 1.8.7.249-2 +- Integrate mtasaka's feedback and changes +- patch101 ruby_1_8_7-rb_gc_guard_ptr-optimization.patch + +* Tue Jun 15 2010 Mohammed Morsi - 1.8.7.249-1 +- Initial Ruby 1.8.7 specfile + +* Wed May 19 2010 Mamoru Tasaka - 1.8.6.399-5 +- Retry for bug 559158, Simplify the OpenSSL::Digest class + pull more change commits from ruby_1_8 branch + +* Mon May 17 2010 Mamoru Tasaka - 1.8.6.399-4 +- Patch36 (ruby-1.8.x-RHASH_SIZE-rb_hash_lookup-def.patch) + also backport rb_hash_lookup definition (bug 592936) + +* Thu May 13 2010 Mamoru Tasaka - 1.8.6.399-3 +- ruby-1.8.x-null-class-must-be-Qnil.patch (bug 530407) +- Recreate some patches using upstream svn when available, and + add some comments for patches + +* Tue May 11 2010 Mamoru Tasaka - 1.8.6.399-2 +- tcltk: Give up using potentially unmaintained ruby_1_8_6 branch + and instead completely replace with ruby_1_8 branch head + (at this time, using rev 27738) + (seems to fix 560053, 590503) +- Fix Japanese encoding strings under ruby-tcltk/ext/tk/sample/ + +* Tue Apr 27 2010 Mamoru Tasaka - 1.8.6.399-1 +- Update to 1.8.6 p 399 (bug 579675) +- Patch to fix gc bug causing open4 crash (bug 580993) + +* Fri Mar 12 2010 Mamoru Tasaka - 1.8.6.388-9 +- F-14: rebuild against new gdbm + +* Thu Jan 28 2010 Mamoru Tasaka +- Once revert the previous change (patch34) + +* Wed Jan 27 2010 Jeroen van Meeuwen - 1.8.6.388-8 +- Backport openssl/digest functions providing digest and hexdigest functions + directly in OpenSSL::Digest.methods +- Make sure that Red Hat people version their changelog entries +- This is actually release #1, but now needs to be release #7 + +* Mon Jan 18 2010 Akira TAGOH - 1.8.6.388-1 +- Add conditional for RHEL. + +* Wed Jan 13 2010 Mamoru Tasaka - 1.8.6.383-6 +- CVE-2009-4492 ruby WEBrick log escape sequence (bug 554485) + +* Wed Dec 9 2009 Mamoru Tasaka - 1.8.6.383-5 +- Change mkmf.rb to use LIBRUBYARG_SHARED so that have_library() works + without libruby-static.a (bug 428384) +- And move libruby-static.a to -static subpackage + +* Thu Oct 29 2009 Mamoru Tasaka - 1.8.6.383-4 +- Use bison to regenerate parse.c to keep the original format of error + messages (bug 530275 comment 4) + +* Sun Oct 25 2009 Mamoru Tasaka - 1.8.6.383-3 +- Patch so that irb saves its history (bug 518584, ruby issue 1556) + +* Sat Oct 24 2009 Mamoru Tasaka - 1.8.6.383-2 +- Update to 1.8.6 patchlevel 383 (bug 520063) + +* Wed Oct 14 2009 Mamoru Tasaka - 1.8.6.369-5 +- Much better idea for Patch31 provided by Akira TAGOH + +* Wed Oct 14 2009 Mamoru Tasaka - 1.8.6.369-4 +- Fix the search path of ri command for ri manuals installed with gem + (bug 528787) + +* Wed Aug 26 2009 Tomas Mraz - 1.8.6.369-3 +- Rebuild against new openssl + +* Thu Jul 23 2009 Mamoru Tasaka - 1.8.6.369-2 +- Make sure that readline.so is linked against readline 5 because + Ruby is under GPLv2 + +* Sat Jun 20 2009 Jeroen van Meeuwen - 1.8.6.369-1 +- New patchlevel fixing CVE-2009-1904 +- Fix directory on ARM (#506233, Kedar Sovani) + +* Sun May 31 2009 Jeroen van Meeuwen - 1.8.6.368-1 +- New upstream release (p368) + +* Sat Apr 11 2009 Mamoru Tasaka - 1.8.6.287-8 +- Merge Review fix (#226381) + +* Wed Mar 18 2009 Jeroen van Meeuwen - 1.8.6.287-7 +- Fix regression in CVE-2008-3790 (#485383) + +* Mon Mar 16 2009 Mamoru Tasaka - 1.8.6.287-6 +- Again use -O2 optimization level +- i586 should search i386-linux directory (on <= F-11) + +* Thu Mar 05 2009 Jeroen van Meeuwen - 1.8.6.287-5 +- Rebuild for gcc4.4 + +* Fri Feb 27 2009 Jeroen van Meeuwen - 1.8.6.287-3 +- CVE-2008-5189: CGI header injection. + +* Wed Oct 8 2008 Akira TAGOH - 1.8.6.287-2 +- CVE-2008-3790: DoS vulnerability in the REXML module. + +* Sat Aug 23 2008 Akira TAGOH - 1.8.6.287-1 +- New upstream release. +- Security fixes. + - CVE-2008-3655: Ruby does not properly restrict access to critical + variables and methods at various safe levels. + - CVE-2008-3656: DoS vulnerability in WEBrick. + - CVE-2008-3657: Lack of taintness check in dl. + - CVE-2008-1447: DNS spoofing vulnerability in resolv.rb. + - CVE-2008-3443: Memory allocation failure in Ruby regex engine. +- Remove the unnecessary backported patches. + +* Thu Jul 10 2008 Tom "spot" Callaway - 1.8.6.230-5 +- rebuild against db4-4.7 + +* Tue Jul 1 2008 Akira TAGOH - 1.8.6.230-4 +- Backported from upstream SVN to fix a segfault issue with Array#fill. + +* Mon Jun 30 2008 Akira TAGOH - 1.8.6.230-3 +- Backported from upstream SVN to fix a segfault issue. (#452825) +- Backported from upstream SVN to fix an integer overflow in rb_ary_fill. + +* Wed Jun 25 2008 Akira TAGOH - 1.8.6.230-2 +- Fix a segfault issue. (#452810) + +* Tue Jun 24 2008 Akira TAGOH - 1.8.6.230-1 +- New upstream release. +- Security fixes. (#452295) + - CVE-2008-1891: WEBrick CGI source disclosure. + - CVE-2008-2662: Integer overflow in rb_str_buf_append(). + - CVE-2008-2663: Integer overflow in rb_ary_store(). + - CVE-2008-2664: Unsafe use of alloca in rb_str_format(). + - CVE-2008-2725: Integer overflow in rb_ary_splice(). + - CVE-2008-2726: Integer overflow in rb_ary_splice(). +- ruby-1.8.6.111-CVE-2007-5162.patch: removed. +- Build ruby-mode package for all archtectures. + +* Tue Mar 4 2008 Akira TAGOH - 1.8.6.114-1 +- Security fix for CVE-2008-1145. +- Improve a spec file. (#226381) + - Correct License tag. + - Fix a timestamp issue. + - Own a arch-specific directory. + +* Tue Feb 19 2008 Fedora Release Engineering - 1.8.6.111-9 +- Autorebuild for GCC 4.3 + +* Tue Feb 19 2008 Akira TAGOH - 1.8.6.111-8 +- Rebuild for gcc-4.3. + +* Tue Jan 15 2008 Akira TAGOH - 1.8.6.111-7 +- Revert the change of libruby-static.a. (#428384) + +* Fri Jan 11 2008 Akira TAGOH - 1.8.6.111-6 +- Fix an unnecessary replacement for shebang. (#426835) + +* Fri Jan 4 2008 Akira TAGOH - 1.8.6.111-5 +- Rebuild. + +* Fri Dec 28 2007 Akira TAGOH - 1.8.6.111-4 +- Clean up again. + +* Fri Dec 21 2007 Akira TAGOH - 1.8.6.111-3 +- Clean up the spec file. +- Remove ruby-man-1.4.6 stuff. this is entirely the out-dated document. + this could be replaced by ri. +- Disable the static library building. + +* Tue Dec 04 2007 Release Engineering - 1.8.6.111-2 +- Rebuild for openssl bump + +* Wed Oct 31 2007 Akira TAGOH +- Fix the dead link. + +* Mon Oct 29 2007 Akira TAGOH - 1.8.6.111-1 +- New upstream release. +- ruby-1.8.6.111-CVE-2007-5162.patch: Update a bit with backporting the changes + at trunk to enable the fix without any modifications on the users' scripts. + Note that Net::HTTP#enable_post_connection_check isn't available anymore. + If you want to disable this post-check, you should give OpenSSL::SSL::VERIFY_NONE + to Net::HTTP#verify_mode= instead of. + +* Mon Oct 15 2007 Akira TAGOH - 1.8.6.110-2 +- Enable pthread support for ppc too. (#201452) +- Fix unexpected dependencies appears in ruby-libs. (#253325) + +* Wed Oct 10 2007 Akira TAGOH - 1.8.6.110-1 +- New upstream release. + - ruby-r12567.patch: removed. +- ruby-1.8.6-CVE-2007-5162.patch: security fix for Net::HTTP that is + insufficient verification of SSL certificate. + +* Thu Aug 23 2007 Akira TAGOH - 1.8.6.36-4 +- Rebuild + +* Fri Aug 10 2007 Akira TAGOH +- Update License tag. + +* Mon Jun 25 2007 Akira TAGOH - 1.8.6.36-3 +- ruby-r12567.patch: backport patch from upstream svn to get rid of + the unnecessary declarations. (#245446) + +* Wed Jun 20 2007 Akira TAGOH - 1.8.6.36-2 +- New upstream release. + - Fix Etc::getgrgid to get the correct gid as requested. (#236647) + +* Wed Mar 28 2007 Akira TAGOH - 1.8.6-2 +- Fix search path breakage. (#234029) + +* Thu Mar 15 2007 Akira TAGOH - 1.8.6-1 +- New upstream release. +- clean up a spec file. + +* Tue Feb 13 2007 Akira TAGOH - 1.8.5.12-2 +- Rebuild + +* Mon Feb 5 2007 Akira TAGOH - 1.8.5.12-1 +- New upstream release. + +* Mon Dec 11 2006 Akira TAGOH - 1.8.5.2-1 +- security fix release. + +* Fri Oct 27 2006 Akira TAGOH - 1.8.5-4 +- security fix release. +- ruby-1.8.5-cgi-CVE-2006-5467.patch: fix a CGI multipart parsing bug that + causes the denial of service. (#212396) + +* Sun Oct 01 2006 Jesse Keating - 1.8.5-3 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Tue Sep 26 2006 Akira TAGOH - 1.8.5-2 +- fixed rbconfig.rb to refer to DESTDIR for sitearchdir. (#207311) + +* Mon Aug 28 2006 Akira TAGOH - 1.8.5-1 +- New upstream release. +- removed the unnecessary patches: + - ruby-1.8.4-no-eaccess.patch + - ruby-1.8.4-64bit-pack.patch + - ruby-1.8.4-fix-insecure-dir-operation.patch + - ruby-1.8.4-fix-insecure-regexp-modification.patch + - ruby-1.8.4-fix-alias-safe-level.patch +- build with --enable-pthread except on ppc. +- ruby-1.8.5-hash-memory-leak.patch: backported from CVS to fix a memory leak + on Hash. [ruby-talk:211233] + +* Mon Aug 7 2006 Akira TAGOH - 1.8.4-12 +- owns sitearchdir. (#201208) + +* Thu Jul 20 2006 Akira TAGOH - 1.8.4-11 +- security fixes [CVE-2006-3694] + - ruby-1.8.4-fix-insecure-dir-operation.patch: + - ruby-1.8.4-fix-insecure-regexp-modification.patch: fixed the insecure + operations in the certain safe-level restrictions. (#199538) + - ruby-1.8.4-fix-alias-safe-level.patch: fixed to not bypass the certain + safe-level restrictions. (#199543) + +* Wed Jul 12 2006 Jesse Keating - 1.8.4-10.fc6.1 +- rebuild + +* Mon Jun 19 2006 Akira TAGOH - 1.8.4-10 +- fixed the wrong file list again. moved tcltk library into ruby-tcltk. + (#195872) + +* Thu Jun 8 2006 Akira TAGOH - 1.8.4-8 +- ruby-deprecated-sitelib-search-path.patch: correct the order of search path. + +* Wed Jun 7 2006 Akira TAGOH - 1.8.4-7 +- exclude ppc64 to make ruby-mode package. right now emacs.ppc64 isn't provided + and buildsys became much stricter. +- ruby-deprecated-sitelib-search-path.patch: applied to add more search path + for backward compatiblity. +- added byacc to BuildReq. (#194161) + +* Wed May 17 2006 Akira TAGOH - 1.8.4-6 +- ruby-deprecated-search-path.patch: added the deprecated installation paths + to the search path for the backward compatibility. +- added a Provides: ruby(abi) to ruby-libs. +- ruby-1.8.4-64bit-pack.patch: backport patch from upstream to fix unpack("l") + not working on 64bit arch and integer overflow on template "w". (#189350) +- updated License tag to be more comfortable, and with a pointer to get more + details, like Python package does. (#179933) +- clean up. + +* Wed Apr 19 2006 Akira TAGOH +- ruby-rubyprefix.patch: moved all arch-independent modules under /usr/lib/ruby + and keep arch-dependent modules under /usr/lib64/ruby for 64bit archs. + so 'rubylibdir', 'sitelibdir' and 'sitedir' in Config::CONFIG points to + the kind of /usr/lib/ruby now. (#184199) + +* Mon Apr 17 2006 Akira TAGOH - 1.8.4-4 +- correct sitelibdir. (#184198) + +* Fri Feb 10 2006 Jesse Keating - 1.8.4-3.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.8.4-3.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Mon Feb 6 2006 Akira TAGOH - 1.8.4-3 +- ruby-1.8.4-no-eaccess.patch: backported from ruby CVS to avoid conflict + between newer glibc. (#179835) + +* Wed Jan 4 2006 Akira TAGOH - 1.8.4-2 +- ruby-tcltk-multilib.patch: fixed a typo. + +* Tue Dec 27 2005 Akira TAGOH - 1.8.4-1 +- New upstream release. + - fixed a missing return statement. (#140833) + - fixed an use of uninitialized variable. (#144890) + +* Fri Dec 16 2005 Akira TAGOH - 1.8.4-0.4.preview2 +- updates to 1.8.4-preview2. +- renamed the packages to ruby-* (#175765) + - irb -> ruby-irb + - rdoc -> ruby-rdoc + - ri -> ruby-ri +- added tcl-devel and tk-devel into BuildRequires. + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Nov 10 2005 Akira TAGOH - 1.8.4-0.3.preview1 +- rebuilt against the latest openssl. + +* Tue Nov 1 2005 Akira TAGOH - 1.8.4-0.2.preview1 +- build-deps libX11-devel instead of xorg-x11-devel. + +* Mon Oct 31 2005 Akira TAGOH - 1.8.4-0.1.preview1 +- New upstream release. +- ruby-1.8.2-strscan-memset.patch: removed because it's no longer needed. + +* Tue Oct 4 2005 Akira TAGOH - 1.8.3-4 +- moved the documents from ruby-libs to ruby-docs, which contains the arch + specific thing and to be multilib support. (#168826) + +* Mon Oct 3 2005 Akira TAGOH - 1.8.3-3 +- fixed the wrong file list. the external library for tcl/tk was included + in ruby-libs unexpectedly. + +* Mon Sep 26 2005 Akira TAGOH - 1.8.3-2 +- ruby-multilib.patch: added another chunk for multilib. (#169127) + +* Wed Sep 21 2005 Akira TAGOH - 1.8.3-1 +- New upstream release. +- Build-Requires xorg-x11-devel instead of XFree86-devel. +- ruby-multilib.patch: applied for only 64-bit archs. +- ruby-1.8.2-xmlrpc-CAN-2005-1992.patch: removed. it has already been in upstream. + +* Tue Jun 21 2005 Akira TAGOH - 1.8.2-9 +- ruby-1.8.2-xmlrpc-CAN-2005-1992.patch: fixed the arbitrary command execution + on XMLRPC server. (#161096) + +* Thu Jun 16 2005 Akira TAGOH - 1.8.2-8 +- ruby-1.8.2-tcltk-multilib.patch: applied to get tcltklib.so built. (#160194) + +* Thu Apr 7 2005 Akira TAGOH - 1.8.2-7 +- ruby-1.8.2-deadcode.patch: removed the dead code from the source. (#146108) +- make sure that all documentation files in ruby-docs are the world- + readable. (#147279) + +* Tue Mar 22 2005 Akira TAGOH - 1.8.2-6 +- ruby-1.8.2-strscan-memset.patch: fixed an wrong usage of memset(3). + +* Tue Mar 15 2005 Akira TAGOH - 1.8.2-5 +- rebuilt + +* Tue Jan 25 2005 Akira TAGOH - 1.8.2-4 +- fixed the wrong generation of file manifest. (#146055) +- spec file clean up. + +* Mon Jan 24 2005 Akira TAGOH - 1.8.2-3 +- separated out to rdoc package. +- make the dependency of irb for rdoc. (#144708) + +* Wed Jan 12 2005 Tim Waugh - 1.8.2-2 +- Rebuilt for new readline. + +* Wed Jan 5 2005 Akira TAGOH - 1.8.2-1 +- New upstream release. +- ruby-1.8.1-ia64-stack-limit.patch: removed - it's no longer needed. +- ruby-1.8.1-cgi_session_perms.patch: likewise. +- ruby-1.8.1-cgi-dos.patch: likewise. +- generated Ruby interactive documentation - senarated package. + it's now provided as ri package. (#141806) + +* Thu Nov 11 2004 Jeff Johnson 1.8.1-10 +- rebuild against db-4.3.21. + +* Wed Nov 10 2004 Akira TAGOH - 1.8.1-9 +- ruby-1.8.1-cgi-dos.patch: security fix [CAN-2004-0983] +- ruby-1.8.1-cgi_session_perms.patch: security fix [CAN-2004-0755] + +* Fri Oct 29 2004 Akira TAGOH - 1.8.1-8 +- added openssl-devel and db4-devel into BuildRequires (#137479) + +* Wed Oct 6 2004 Akira TAGOH - 1.8.1-7 +- require emacs-common instead of emacs. + +* Wed Jun 23 2004 Akira TAGOH 1.8.1-4 +- updated the documentation. + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Feb 04 2004 Akira TAGOH 1.8.1-1 +- New upstream release. +- don't use any optimization for ia64 to avoid the build failure. +- ruby-1.8.1-ia64-stack-limit.patch: applied to fix SystemStackError when the optimization is disabled. + +* Sat Dec 13 2003 Jeff Johnson 1.8.0-3 +- rebuild against db-4.2.52. + +* Thu Sep 25 2003 Jeff Johnson 1.8.0-2 +- rebuild against db-4.2.42. + +* Tue Aug 5 2003 Akira TAGOH 1.8.0-1 +- New upstream release. + +* Thu Jul 24 2003 Akira TAGOH 1.6.8-9.1 +- rebuilt + +* Thu Jul 24 2003 Akira TAGOH 1.6.8-9 +- ruby-1.6.8-castnode.patch: handling the nodes with correct cast. + use this patch now instead of ruby-1.6.8-fix-x86_64.patch. + +* Fri Jul 04 2003 Akira TAGOH 1.6.8-8 +- rebuilt + +* Fri Jul 04 2003 Akira TAGOH 1.6.8-7 +- fix the gcc warnings. (#82192) +- ruby-1.6.8-fix-x86_64.patch: correct a patch. + NOTE: DON'T USE THIS PATCH FOR BIG ENDIAN ARCHITECTURE. +- ruby-1.6.7-long2int.patch: removed. + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Fri Feb 7 2003 Jens Petersen - 1.6.8-5 +- rebuild against ucs4 tcltk + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Wed Jan 22 2003 Akira TAGOH 1.6.8-3 +- ruby-1.6.8-multilib.patch: applied to fix the search path issue on x86_64 + +* Tue Jan 21 2003 Akira TAGOH 1.6.8-2 +- ruby-1.6.8-require.patch: applied to fix the search bug in require. +- don't apply long2int patch to s390 and s390x. it doesn't work. + +* Wed Jan 15 2003 Akira TAGOH 1.6.8-1 +- New upstream release. +- removed some patches. it's no longer needed. + - ruby-1.6.7-100.patch + - ruby-1.6.7-101.patch + - ruby-1.6.7-102.patch + - ruby-1.6.7-103.patch + - 801_extmk.rb-shellwords.patch + - 801_mkmf.rb-shellwords.patch + - 804_parse.y-new-bison.patch + - 805_uri-bugfix.patch + - ruby-1.6.6-900_XXX_strtod.patch + - ruby-1.6.7-sux0rs.patch + - ruby-1.6.7-libobj.patch + +* Wed Jan 15 2003 Jens Petersen 1.6.7-14 +- rebuild to update tcltk deps + +* Mon Dec 16 2002 Elliot Lee 1.6.7-13 +- Remove ExcludeArch: x86_64 +- Fix x86_64 ruby with long2int.patch (ruby was assuming that sizeof(long) + == sizeof(int). The patch does not fix the source of the problem, just + makes it a non-issue.) +- _smp_mflags + +* Tue Dec 10 2002 Tim Powers 1.6.7-12 +- rebuild to fix broken tcltk deps + +* Tue Oct 22 2002 Akira TAGOH 1.6.7-11 +- use %%configure macro instead of configure script. +- use the latest config.{sub,guess}. +- get archname from rbconfig.rb for %%dir +- applied some patches from Debian: + - 801_extmk.rb-shellwords.patch: use Shellwords + - 801_mkmf.rb-shellwords.patch: mkmf.rb creates bad Makefile. the Makefile + links libruby.a to the target. + - 803_sample-fix-shbang.patch: all sample codes should be + s|/usr/local/bin|/usr/bin|g + - 804_parse.y-new-bison.patch: fix syntax warning. + - 805_uri-bugfix.patch: uri.rb could not handle correctly broken mailto-uri. +- add ExcludeArch x86_64 temporarily to fix Bug#74581. Right now ruby can't be + built on x86_64. + +* Tue Aug 27 2002 Akira TAGOH 1.6.7-10 +- moved sitedir to /usr/lib/ruby/site_ruby again according as our perl and + python. +- ruby-1.6.7-resolv1.patch, ruby-1.6.7-resolv2.patch: applied to fix 'Too many + open files - "/etc/resolv.conf"' issue. (Bug#64830) + +* Thu Jul 18 2002 Akira TAGOH 1.6.7-9 +- add the owned directory. + +* Fri Jul 12 2002 Akira TAGOH 1.6.7-8 +- fix typo. + +* Thu Jul 04 2002 Akira TAGOH 1.6.7-7 +- removed the ruby-mode-xemacs because it's merged to the xemacs sumo. + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Wed Jun 19 2002 Akira TAGOH 1.6.7-5 +- fix the stripped binary. +- use the appropriate macros. + +* Sun May 26 2002 Tim Powers +- automated rebuild + +* Thu May 23 2002 Akira TAGOH 1.6.7-3 +- ruby-1.6.7-libobj.patch: applied to fix autoconf2.53 error. + +* Mon Mar 18 2002 Akira TAGOH 1.6.7-2 +- ruby-man-1.4.6-jp.tar.bz2: removed. +- ruby-refm-rdp-1.4.7-ja-html.tar.bz2: uses it instead of. +- ruby-1.6.7-500-marshal-proc.patch, ruby-1.6.7-501-class-var.patch: + removed. +- ruby-1.6.7-100.patch: applied a bug fix patch. + (ruby-dev#16274: patch for 'wm state') + (PR#206ja: SEGV handle EXIT) +- ruby-1.6.7-101.patch: applied a bug fix patch. + (ruby-list#34313: singleton should not be Marshal.dump'ed) + (ruby-dev#16411: block local var) +- ruby-1.6.7-102.patch: applied a bug fix patch. + (handling multibyte chars is partially broken) +- ruby-1.6.7-103.patch: applied a bug fix patch. + (ruby-dev#16462: preserve reference for GC, but link should be cut) + +* Fri Mar 8 2002 Akira TAGOH 1.6.7-1 +- New upstream release. +- ruby-1.6.6-100.patch, ruby-1.6.6-501-ruby-mode.patch: + removed. these patches no longer should be needed. +- ruby-1.6.7-500-marshal-proc.patch: applied a fix patch. + (ruby-dev#16178: Marshal::dump should call Proc#call.) +- ruby-1.6.7-501-class-var.patch: applied a fix patch. + (ruby-talk#35157: class vars broken in 1.6.7) + +* Wed Feb 27 2002 Akira TAGOH 1.6.6-5 +- Disable alpha because nothing is xemacs for alpha now. + +* Tue Feb 5 2002 Akira TAGOH 1.6.6-3 +- Fixed the duplicate files. + +* Tue Feb 5 2002 Akira TAGOH 1.6.6-2 +- Fixed the missing %%defattr + +* Fri Feb 1 2002 Akira TAGOH 1.6.6-1 +- New upstream release. +- Applied bug fix patches: + - ruby-1.6.6-501-ruby-mode.patch: ruby-talk#30479: disables font-lock + coloring. + - ruby-1.6.6-100.patch: ruby-talk#30203: Ruby 1.6.6 bug and fix + ruby-list#33047: regex bug + PR#230: problem with -d in 1.6.6 +- Added ruby-mode and ruby-mode-xemacs packages. +- Ruby works fine for ia64. so re-enable to build with ia64. + (probably it should be worked for alpha) + +* Wed Jan 09 2002 Tim Powers +- automated rebuild + +* Thu Jul 19 2001 Bernhard Rosenkraenzer 1.6.4-2 +- Remove Japanese description and summaries; they belong in specspo and + break rpm +- Clean up specfile +- Mark language specific files (README.jp) as such +- bzip2 sources +- rename the libruby package to ruby-libs for consistency +- Exclude ia64 (doesn't build - the code doesn't seem to be 64-bit clean + [has been excluded on alpha forever]) + +* Tue Jul 17 2001 Akira TAGOH 1.6.4-1 +- rebuild for Red Hat 7.2 + +* Mon Jun 04 2001 akira yamada +- upgrade to nwe upstream version 1.6.4. + +* Mon Apr 02 2001 akira yamada +- applied patch: + - fixed method cache bug. etc. (Patch103, Patch104) + +* Tue Mar 27 2001 akira yamada +- applied patch: + - fixed marshal for bignum bug. + - fixed scope of constant variables bug. + +* Tue Mar 20 2001 akira yamada +- upgraded to new upstream version 1.6.3. + +* Fri Feb 09 2001 akira yamada +- fixed bad group for libruby. +- Applied patch: upgraded to cvs version (2001-02-08): + fixed minor bugs. + +* Thu Jan 18 2001 akira yamada +- Applied patch: upgraded to cvs version (2001-01-15): + fixed minor bugs(e.g. ruby makes extention librares too large...). + +* Wed Jan 10 2001 akira yamada +- Applied patch: upgraded to cvs version (2001-01-09): + fixed minor bugs. + +* Sat Dec 30 2000 akira yamada +- Applied bug fix patch. + +* Mon Dec 25 2000 akira yamada +- Updated to new upstream version 1.6.2. + +* Fri Dec 22 2000 akira yamada +- Removed ruby_cvs.2000122019.patch, added ruby_cvs.2000122215.patch + (upgraded ruby to latest cvs version, 1.6.2-preview4). + +* Wed Dec 20 2000 akira yamada +- Removed ruby_cvs.2000121413.patch, added ruby_cvs.2000122019.patch + (upgraded ruby to latest cvs version). +- new package: libruby + +* Thu Dec 14 2000 akira yamada +- Removed ruby_cvs.2000101901.patch, added ruby_cvs.2000121413.patch + (upgraded ruby to latest cvs version). +- Removed ruby-dev.11262.patch, ruby-dev.11265.patch, + and ruby-dev.11268.patch (included into above patch). + +* Sun Nov 12 2000 MACHINO, Satoshi 1.6.1-0vl9 +- build on gcc-2.95.3 + +* Thu Oct 19 2000 akira yamada +- Added ruby-dev.11268.patch. + +* Thu Oct 19 2000 akira yamada +- Removed ruby_cvs.2000101117.patch and added ruby_cvs.2000101901.patch + (upgraded ruby to latest cvs version). +- Added ruby-dev.11262.patch. +- Added ruby-dev.11265.patch. + +* Wed Oct 11 2000 akira yamada +- Removed ruby_cvs.2000100313.patch and added ruby_cvs.2000101117.patch + (upgraded ruby to latest cvs version). + +* Mon Oct 09 2000 akira yamada +- Removed ruby_cvs.2000100313.patch and added ruby_cvs.2000100313.patch + (upgraded ruby to latest cvs version). + +* Tue Oct 03 2000 akira yamada +- Removed ruby_cvs.2000100218.patch and added ruby_cvs.2000100313.patch + (upgraded ruby to latest cvs version). + +* Mon Oct 02 2000 akira yamada +- Removed ruby_cvs.2000092718.patch and added ruby_cvs.2000100218.patch + (upgraded ruby to latest cvs version). + +* Wed Sep 27 2000 akira yamada +- Updated to upstream version 1.6.1. +- Removed ruby_cvs.2000082901.patch and added ruby_cvs.2000092718.patch + (upgraded ruby to latest cvs version). + +* Tue Aug 29 2000 akira yamada +- Updated to version 1.4.6. +- removed ruby-dev.10123.patch(included into ruby-1.4.6). +- Added ruby_cvs.2000082901.patch(upgraded ruby to latest cvs version). + +* Tue Jun 27 2000 akira yamada +- Updated manuals to version 1.4.5. + +* Sun Jun 25 2000 akira yamada +- Added ruby-dev.10123.patch. + +* Sat Jun 24 2000 akira yamada +- Updated to version 1.4.5. +- Removed ruby_cvs.2000062401.patch(included into ruby-1.4.5). + +* Thu Jun 22 2000 akira yamada +- Updated to version 1.4.4(06/22/2000 CVS). +- Removed ruby-dev.10054.patch(included into ruby_cvs.patch). + +* Thu Jun 22 2000 akira yamada +- Renamed to ruby_cvs20000620.patch from ruby_cvs.patch. + +* Tue Jun 20 2000 akira yamada +- Updated to version 1.4.4(06/20/2000 CVS). +- Removed ruby-list.23190.patch(included into ruby_cvs.patch). +- Added ruby-dev.10054.patch. + +* Thu Jun 15 2000 akira yamada +- Updated to version 1.4.4(06/12/2000 CVS). +- Added manuals and FAQs. +- Split into ruby, ruby-devel, ruby-tcltk, ruby-docs, irb. + +* Tue Jun 13 2000 Mitsuo Hamada +- Updated to version 1.4.4 + +* Wed Dec 08 1999 Atsushi Yamagata +- Updated to version 1.4.3 + +* Mon Sep 20 1999 Atsushi Yamagata +- Updated to version 1.4.2 (Sep 18) + +* Fri Sep 17 1999 Atsushi Yamagata +- Updated to version 1.4.2 + +* Tue Aug 17 1999 Atsushi Yamagata +- Updated to version 1.4.0 + +* Fri Jul 23 1999 Atsushi Yamagata +- 2nd release +- Updated to version 1.2.6(15 Jul 1999) +- striped %%{prefix}/bin/ruby + +* Mon Jun 28 1999 Atsushi Yamagata +- Updated to version 1.2.6(21 Jun 1999) + +* Wed Apr 14 1999 Atsushi Yamagata +- Updated to version 1.2.5 + +* Fri Apr 09 1999 Atsushi Yamagata +- Updated to version 1.2.4 + +* Fri Dec 25 1998 Toru Hoshina +- Version up to 1.2 stable. + +* Fri Nov 27 1998 Toru Hoshina +- Version up to 1.1c9. + +* Thu Nov 19 1998 Toru Hoshina +- Version up to 1.1c8, however it appear short life :-P + +* Fri Nov 13 1998 Toru Hoshina +- Version up. + +* Tue Sep 22 1998 Toru Hoshina +- To make a libruby.so. + +* Mon Sep 21 1998 Toru Hoshina +- Modified SPEC in order to install libruby.a so that it should be used by + another ruby entention. +- 2nd release. + +* Mon Mar 9 1998 Shoichi OZAWA +- Added a powerPC arch part. Thanks, MURATA Nobuhiro diff --git a/alt-brepo-ruby30/alt-brepo-ruby30.spec.patch b/alt-brepo-ruby30/alt-brepo-ruby30.spec.patch new file mode 100644 index 0000000..8156b5f --- /dev/null +++ b/alt-brepo-ruby30/alt-brepo-ruby30.spec.patch @@ -0,0 +1,959 @@ +--- ruby.spec 2025-05-07 09:04:18.000000000 +0300 ++++ alt-brepo-ruby30.spec 2025-11-28 15:23:50.346532488 +0300 +@@ -1,3 +1,15 @@ ++%global _prefix /opt/brepo/ruby30 ++ ++%define __brp_check_rpaths %{nil} ++%define __arch_install_post %{nil} ++%if 0%{?rhel} == 8 ++%global __os_install_post /usr/lib/rpm/redhat/brp-mangle-shebangs %{nil} ++%endif ++%global srcname ruby ++%global _libdir %{_prefix}/%{_lib} ++%global _includedir %{_prefix}/include ++%global _mandir %{_prefix}/share/man ++ + %global major_version 3 + %global minor_version 0 + %global teeny_version 7 +@@ -12,7 +24,7 @@ + # Keep the revision enabled for pre-releases from GIT. + #%%global revision 684649ea05 + +-%global ruby_archive %{name}-%{ruby_version} ++%global ruby_archive ruby-%{ruby_version} + + # If revision and milestone are removed/commented out, the official release build is expected. + %if 0%{?milestone:1}%{?revision:1} != 0 +@@ -80,10 +92,12 @@ + %bcond_without hardening_test + %endif + ++%undefine _package_note_flags ++ + Summary: An interpreter of object-oriented scripting language +-Name: ruby ++Name: alt-brepo-ruby30 + Version: %{ruby_version} +-Release: %{release_string} ++Release: %{release_string}%{?dist}.brepo + # Public Domain for example for: include/ruby/st.h, strftime.c, missing/*, ... + # MIT and CCO: ccan/* + # zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c +@@ -340,10 +354,12 @@ Patch76: rubygem-cgi-0.3.5.1-Fix-DoS-in- + # https://github.com/ruby/cgi/commit/bfa69e120df4e0131bb05df6c5e05c1dc982cd37 + Patch77: rubygem-cgi-0.3.5.1-Fix-ReDoS-in-CGI-CVE-2025-27220.patch + ++Patch100: Disable-Tmp-Test.patch ++ + Requires: %{name}-libs%{?_isa} = %{version}-%{release} + Suggests: rubypick +-Recommends: ruby(rubygems) >= %{rubygems_version} +-Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} ++Recommends: %{name}-ruby(rubygems) >= %{rubygems_version} ++Recommends: %{name}-rubygem(bigdecimal) >= %{bigdecimal_version} + + BuildRequires: autoconf + BuildRequires: gdbm-devel +@@ -354,13 +370,13 @@ BuildRequires: libyaml-devel + BuildRequires: readline-devel + # Needed to pass test_set_program_name(TestRubyOptions) + BuildRequires: procps +-%{?with_systemtap:BuildRequires: %{_bindir}/dtrace} + # RubyGems test suite optional dependencies. + %{?with_git:BuildRequires: git} +-%{?with_cmake:BuildRequires: %{_bindir}/cmake} ++%{?with_cmake:BuildRequires: cmake} + # Required to test hardening. + %{?with_hardening_test:BuildRequires: %{_bindir}/checksec} +-%{?with_hostname:BuildRequires: %{_bindir}/hostname} ++%{?with_hostname:BuildRequires: hostname} ++BuildRequires: chrpath + BuildRequires: multilib-rpm-config + BuildRequires: gcc + BuildRequires: make +@@ -368,7 +384,7 @@ BuildRequires: zlib-devel + + # This package provides %%{_bindir}/ruby-mri therefore it is marked by this + # virtual provide. It can be installed as dependency of rubypick. +-Provides: ruby(runtime_executable) = %{ruby_release} ++Provides: %{name}-ruby(runtime_executable) = %{ruby_release} + + %description + Ruby is the interpreted scripting language for quick and easy +@@ -382,7 +398,7 @@ Summary: A Ruby development environme + Requires: %{name}%{?_isa} = %{version}-%{release} + # This would not be needed if ~50 packages depending on -devel used + # --disable-gems +-Requires: rubygems ++Requires: %{name}-rubygems + # Users need CFLAGS from /usr/lib/rpm/redhat/redhat-hardened-cc1 + # for building gems with binary extensions (rhbz#1905222). + Recommends: redhat-rpm-config +@@ -394,56 +410,56 @@ Ruby or an application embedding Ruby. + %package libs + Summary: Libraries necessary to run Ruby + License: Ruby or BSD +-Provides: ruby(release) = %{ruby_release} ++Provides: %{name}(release) = %{ruby_release} + + # Virtual provides for CCAN copylibs. + # https://fedorahosted.org/fpc/ticket/364 +-Provides: bundled(ccan-build_assert) +-Provides: bundled(ccan-check_type) +-Provides: bundled(ccan-container_of) +-Provides: bundled(ccan-list) ++Provides: %{name}-bundled(ccan-build_assert) ++Provides: %{name}-bundled(ccan-check_type) ++Provides: %{name}-bundled(ccan-container_of) ++Provides: %{name}-bundled(ccan-list) + + # StdLib default gems. +-Provides: bundled(rubygem-did_you_mean) = %{did_you_mean_version} +-Provides: bundled(rubygem-openssl) = %{openssl_version} +-Provides: bundled(rubygem-racc) = %{racc_version} ++Provides: %{name}-bundled(rubygem-did_you_mean) = %{did_you_mean_version} ++Provides: %{name}-bundled(rubygem-openssl) = %{openssl_version} ++Provides: %{name}-bundled(rubygem-racc) = %{racc_version} + + %description libs + This package includes the libruby, necessary to run Ruby. + + + # TODO: Rename or not rename to ruby-rubygems? +-%package -n rubygems ++%package rubygems + Summary: The Ruby standard for packaging ruby libraries + Version: %{rubygems_version} + License: Ruby or MIT +-Requires: ruby(release) +-Recommends: rubygem(bundler) >= %{bundler_version} +-Recommends: rubygem(rdoc) >= %{rdoc_version} +-Recommends: rubygem(io-console) >= %{io_console_version} +-Requires: rubygem(psych) >= %{psych_version} +-Provides: gem = %{version}-%{release} +-Provides: ruby(rubygems) = %{version}-%{release} ++Requires: %{name}(release) ++Recommends: %{name}-rubygem(bundler) >= %{bundler_version} ++Recommends: %{name}-rubygem(rdoc) >= %{rdoc_version} ++Recommends: %{name}-rubygem(io-console) >= %{io_console_version} ++Requires: %{name}-rubygem(psych) >= %{psych_version} ++Provides: %{name}-gem = %{version}-%{release} ++Provides: %{name}-ruby(rubygems) = %{version}-%{release} + # https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 +-Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} ++Provides: %{name}-bundled(rubygem-molinillo) = %{rubygems_molinillo_version} + BuildArch: noarch + +-%description -n rubygems ++%description rubygems + RubyGems is the Ruby standard for publishing and managing third party + libraries. + + +-%package -n rubygems-devel ++%package rubygems-devel + Summary: Macros and development tools for packaging RubyGems + Version: %{rubygems_version} + License: Ruby or MIT +-Requires: ruby(rubygems) >= %{version}-%{release} ++Requires: %{name}-ruby(rubygems) >= %{version}-%{release} + # Needed for RDoc documentation format generation. +-Requires: rubygem(json) >= %{json_version} +-Requires: rubygem(rdoc) >= %{rdoc_version} ++Requires: %{name}-rubygem(json) >= %{json_version} ++Requires: %{name}-rubygem(rdoc) >= %{rdoc_version} + BuildArch: noarch + +-%description -n rubygems-devel ++%description rubygems-devel + Macros and development tools for packaging RubyGems. + + +@@ -454,16 +470,16 @@ Macros and development tools for packagi + + %package default-gems + Summary: Default gems which are part of Ruby StdLib +-Requires: ruby(rubygems) >= %{rubygems_version} +-Supplements: ruby(rubygems) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Supplements: %{name}-ruby(rubygems) + # Include the io-console dependency for reline. +-Requires: rubygem(io-console) ++Requires: %{name}-rubygem(io-console) + # Obsoleted by Ruby 2.7 in F32 timeframe. +-Obsoletes: rubygem-did_you_mean < 1.4.0-130 +-Obsoletes: rubygem-racc < 1.4.16-130 ++Obsoletes: %{name}-rubygem-did_you_mean < 1.4.0-130 ++Obsoletes: %{name}-rubygem-racc < 1.4.16-130 + # Obsoleted by Ruby 3.0 in F34 timeframe. +-Obsoletes: rubygem-openssl < 2.2.0-145 +-Provides: rubygem(openssl) = %{openssl_version}-%{release} ++Obsoletes: %{name}-rubygem-openssl < 2.2.0-145 ++Provides: %{name}-rubygem(openssl) = %{openssl_version}-%{release} + BuildArch: noarch + + %description default-gems +@@ -471,42 +487,42 @@ The .gemspec files and executables of de + StdLib. + + +-%package -n rubygem-irb ++%package rubygem-irb + Summary: The Interactive Ruby + Version: %{irb_version} +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} ++Requires: %{name}(release) ++Requires: %{name}-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} ++Requires: %{name}-default-gems >= %{ruby_version} ++Provides: %{name}-irb = %{version}-%{release} ++Provides: %{name}-rubygem(irb) = %{version}-%{release} + # Obsoleted by Ruby 2.6 in F30 timeframe. +-Provides: ruby(irb) = %{ruby_version}-%{release} +-Provides: ruby-irb = %{ruby_version}-%{release} +-Obsoletes: ruby-irb < %{ruby_version}-%{release} ++Provides: %{name}(irb) = %{ruby_version}-%{release} ++Provides: %{name}-irb = %{ruby_version}-%{release} ++Obsoletes: %{name}-irb < %{ruby_version}-%{release} + BuildArch: noarch + +-%description -n rubygem-irb ++%description rubygem-irb + The irb is acronym for Interactive Ruby. It evaluates ruby expression + from the terminal. + + +-%package -n rubygem-rdoc ++%package rubygem-rdoc + Summary: A tool to generate HTML and command-line documentation for Ruby projects + Version: %{rdoc_version} + # SIL: lib/rdoc/generator/template/darkfish/css/fonts.css + License: GPLv2 and Ruby and MIT and OFL +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Requires: rubygem(io-console) >= %{io_console_version} +-Requires: rubygem(json) >= %{json_version} +-Provides: rdoc = %{version}-%{release} +-Provides: ri = %{version}-%{release} +-Provides: rubygem(rdoc) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Requires: %{name}-rubygem(io-console) >= %{io_console_version} ++Requires: %{name}-rubygem(json) >= %{json_version} ++Provides: %{name}-rdoc = %{version}-%{release} ++Provides: %{name}-ri = %{version}-%{release} ++Provides: %{name}-rubygem(rdoc) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-rdoc ++%description rubygem-rdoc + RDoc produces HTML and command-line documentation for Ruby projects. RDoc + includes the 'rdoc' and 'ri' tools for generating and displaying online + documentation. +@@ -521,15 +537,15 @@ BuildArch: noarch + This package contains documentation for %{name}. + + +-%package -n rubygem-bigdecimal ++%package rubygem-bigdecimal + Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic + Version: %{bigdecimal_version} + License: Ruby or BSD +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Provides: rubygem(bigdecimal) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(bigdecimal) = %{version}-%{release} + +-%description -n rubygem-bigdecimal ++%description rubygem-bigdecimal + Ruby provides built-in support for arbitrary precision integer arithmetic. + For example: + +@@ -542,68 +558,68 @@ floating point arithmetic often introduc + conversion between base 10 and base 2. + + +-%package -n rubygem-io-console ++%package rubygem-io-console + Summary: IO/Console is a simple console utilizing library + Version: %{io_console_version} +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Provides: rubygem(io-console) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(io-console) = %{version}-%{release} + +-%description -n rubygem-io-console ++%description rubygem-io-console + IO/Console provides very simple and portable access to console. It doesn't + provide higher layer features, such like curses and readline. + + +-%package -n rubygem-json ++%package rubygem-json + Summary: This is a JSON implementation as a Ruby extension in C + Version: %{json_version} + # UCD: ext/json/generator/generator.c + License: (Ruby or GPLv2) and UCD +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Provides: rubygem(json) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(json) = %{version}-%{release} + +-%description -n rubygem-json ++%description rubygem-json + This is a implementation of the JSON specification according to RFC 4627. + You can think of it as a low fat alternative to XML, if you want to store + data to disk or transmit it over a network rather than use a verbose + markup language. + + +-%package -n rubygem-psych ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(psych) = %{version}-%{release} + +-%description -n rubygem-psych ++%description 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 ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Requires: %{name}-rubygem(io-console) ++Provides: %{name}-rubygem(bundler) = %{version}-%{release} + # https://github.com/bundler/bundler/issues/3647 +-Provides: bundled(rubygem-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} +-Provides: bundled(rubygem-tmpdir) = %{bundler_tmpdir_version} +-Provides: bundled(rubygem-uri) = %{bundler_uri_version} ++Provides: %{name}-bundled(rubygem-connection_pool) = %{bundler_connection_pool_version} ++Provides: %{name}-bundled(rubygem-fileutils) = %{bundler_fileutils_version} ++Provides: %{name}-bundled(rubygem-molinillo) = %{bundler_molinillo_version} ++Provides: %{name}-bundled(rubygem-net-http-persisntent) = %{bundler_net_http_persistent_version} ++Provides: %{name}-bundled(rubygem-thor) = %{bundler_thor_version} ++Provides: %{name}-bundled(rubygem-tmpdir) = %{bundler_tmpdir_version} ++Provides: %{name}-bundled(rubygem-uri) = %{bundler_uri_version} + BuildArch: noarch + +-%description -n rubygem-bundler ++%description rubygem-bundler + Bundler manages an application's dependencies through its entire life, across + many machines, systematically and repeatably. + +@@ -613,16 +629,16 @@ many machines, systematically and repeat + # These are regular packages, which might be installed just optionally. Users + # should list them among their dependencies (in Gemfile). + +-%package -n rubygem-minitest ++%package rubygem-minitest + Summary: Minitest provides a complete suite of testing facilities + Version: %{minitest_version} + License: MIT +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Provides: rubygem(minitest) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(minitest) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-minitest ++%description rubygem-minitest + minitest/unit is a small and incredibly fast unit testing framework. + + minitest/spec is a functionally complete spec engine. +@@ -637,80 +653,80 @@ minitest/pride shows pride in testing an + output. + + +-%package -n rubygem-power_assert ++%package rubygem-power_assert + Summary: Power Assert for Ruby + Version: %{power_assert_version} + License: Ruby or BSD +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Provides: rubygem(power_assert) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(power_assert) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-power_assert ++%description rubygem-power_assert + Power Assert shows each value of variables and method calls in the expression. + It is useful for testing, providing which value wasn't correct when the + condition is not satisfied. + + +-%package -n rubygem-rake ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rake = %{version}-%{release} ++Provides: %{name}-rubygem(rake) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-rake ++%description rubygem-rake + Rake is a Make-like program implemented in Ruby. Tasks and dependencies are + specified in standard Ruby syntax. + + +-%package -n rubygem-rbs ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(rbs) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-rbs ++%description rubygem-rbs + RBS is the language for type signatures for Ruby and standard library + definitions. + + +-%package -n rubygem-test-unit ++%package rubygem-test-unit + Summary: An xUnit family unit testing framework for Ruby + Version: %{test_unit_version} + # lib/test/unit/diff.rb is a double license of the Ruby license and PSF license. + # lib/test-unit.rb is a dual license of the Ruby license and LGPLv2.1 or later. + License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +-Requires: ruby(release) +-Requires: ruby(rubygems) >= %{rubygems_version} +-Requires: rubygem(power_assert) +-Provides: rubygem(test-unit) = %{version}-%{release} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Requires: %{name}-rubygem(power_assert) ++Provides: %{name}-rubygem(test-unit) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-test-unit ++%description rubygem-test-unit + Test::Unit (test-unit) is unit testing framework for Ruby, based on xUnit + principles. These were originally designed by Kent Beck, creator of extreme + programming software development methodology, for Smalltalk's SUnit. It allows + writing tests, checking results and automated testing in Ruby. + + +-%package -n rubygem-rexml ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(rexml) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-rexml ++%description 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 +@@ -722,35 +738,35 @@ REXML supports both tree and stream docu + features such as XPath. + + +-%package -n rubygem-rss ++%package 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Provides: %{name}-rubygem(rss) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-rss ++%description 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. + + +-%package -n rubygem-typeprof ++%package rubygem-typeprof + Summary: TypeProf is a type analysis tool for Ruby code based on abstract interpretation + Version: %{typeprof_version} + 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} ++Requires: %{name}(release) ++Requires: %{name}-ruby(rubygems) >= %{rubygems_version} ++Requires: %{name}-rubygem(rbs) >= %{rbs_version} ++Provides: %{name}-rubygem(typeprof) = %{version}-%{release} + BuildArch: noarch + +-%description -n rubygem-typeprof ++%description 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 +@@ -825,6 +841,7 @@ rm -rf ext/fiddle/libffi* + pushd ".bundle/gems/rexml-%{rexml_version}/" + %patch71 -p1 + popd ++%patch100 -p1 + + # Provide an example of usage of the tapset: + cp -a %{SOURCE3} . +@@ -845,13 +862,14 @@ autoconf + --with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \ + --with-vendorarchhdrdir='$(vendorhdrdir)/$(arch)' \ + --with-rubygemsdir='%{rubygems_dir}' \ +- --with-ruby-pc='%{name}.pc' \ ++ --with-ruby-pc='%{srcname}.pc' \ + --with-compress-debug-sections=no \ +- --disable-rpath \ + --enable-shared \ + --with-ruby-version='' \ + --enable-multiarch \ + ++ ++export LDFLAGS="-Wl,-rpath=%{_libdir}" + # Q= makes the build output more verbose and allows to check Fedora + # compiler options. + %make_build COPY="cp -p" Q= +@@ -860,21 +878,30 @@ autoconf + rm -rf %{buildroot} + %make_install + ++ + # 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 ++%multilib_fix_c_header --file %{_includedir}/ruby/config.h + # TODO: The correct patch should be %%{_includedir}/%%{name}/rb_mjit_min_header-%%{ruby_version}.h + # https://bugs.ruby-lang.org/issues/15425 + %multilib_fix_c_header --file %{_includedir}/rb_mjit_min_header-%{ruby_version}.h + + # Rename the ruby executable. It is replaced by RubyPick. +-%{?with_rubypick:mv %{buildroot}%{_bindir}/%{name}{,-mri}} ++%{?with_rubypick:mv %{buildroot}%{_bindir}/ruby{,-mri}} + + # Version is empty if --with-ruby-version is specified. + # http://bugs.ruby-lang.org/issues/7807 +-sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_libdir}/pkgconfig/%{name}.pc ++sed -i 's/Version: \${ruby_version}/Version: %{ruby_version}/' %{buildroot}%{_libdir}/pkgconfig/%{srcname}.pc ++ ++# fix rpath for socket.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/digest/rmd160.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/digest/bubblebabble.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/io/nonblock.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/io/wait.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/json/ext/generator.so ++chrpath --replace %{_libdir} %{buildroot}%{ruby_libarchdir}/json/ext/parser.so + + # Kill bundled certificates, as they should be part of ca-certificates. + for cert in \ +@@ -889,18 +916,20 @@ test ! "$(ls -A %{buildroot}%{rubygems_d + + # Move macros file into proper place and replace the %%{name} macro, since it + # would be wrongly evaluated during build of other packages. +-mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d +-install -m 644 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby +-sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby +-install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems +-sed -i "s/%%{name}/%{name}/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems ++#mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d ++#install -m 644 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby ++#sed -i "s/%%{name}/ruby/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.ruby ++#install -m 644 %{SOURCE5} %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems ++#sed -i "s/%%{name}/ruby/" %{buildroot}%{_rpmconfigdir}/macros.d/macros.rubygems + + # Install dependency generators. +-mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs +-install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs +-install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} +-install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} +-install -m 755 %{SOURCE11} %{buildroot}%{_rpmconfigdir} ++#mkdir -p %{buildroot}%{_rpmconfigdir}/fileattrs ++#install -m 644 %{SOURCE8} %{buildroot}%{_rpmconfigdir}/fileattrs ++#install -m 755 %{SOURCE9} %{buildroot}%{_rpmconfigdir} ++#install -m 755 %{SOURCE10} %{buildroot}%{_rpmconfigdir} ++#install -m 755 %{SOURCE11} %{buildroot}%{_rpmconfigdir} ++ ++find %{buildroot} -type f -exec sed -i 's|#!/usr/bin/env ruby|#!/opt/brepo/ruby30/bin/ruby|g' {} + + + # Install custom operating_system.rb. + mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults +@@ -913,7 +942,7 @@ mv %{buildroot}%{ruby_libdir}/gems %{bui + # TODO: These folders should go into rubygem-filesystem but how to achieve it, + # since noarch package cannot provide arch dependent subpackages? + # http://rpm.org/ticket/78 +-mkdir -p %{buildroot}%{_exec_prefix}/lib{,64}/gems/%{name} ++mkdir -p %{buildroot}%{_exec_prefix}/lib{,64}/gems/ruby + + # Move bundled rubygems to %%gem_dir and %%gem_extdir_mri + # make symlinks for io-console and bigdecimal, which are considered to be part of stdlib by other Gems +@@ -921,20 +950,27 @@ mkdir -p %{buildroot}%{gem_dir}/gems/irb + mv %{buildroot}%{ruby_libdir}/irb* %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib + mv %{buildroot}%{gem_dir}/specifications/default/irb-%{irb_version}.gemspec %{buildroot}%{gem_dir}/specifications + ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb.rb %{buildroot}%{ruby_libdir}/irb.rb +-ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb %{buildroot}%{ruby_libdir}/irb ++# TODO: This should be possible to replaced by simple directory symlink ++# after ~ F31 EOL (rhbz#1691039). ++mkdir -p %{buildroot}%{ruby_libdir}/irb ++pushd %{buildroot}%{gem_dir}/gems/irb-%{irb_version}/lib ++find irb -type d -mindepth 1 -exec mkdir %{buildroot}%{ruby_libdir}/'{}' \; ++find irb -type f -exec ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/'{}' %{buildroot}%{ruby_libdir}/'{}' \; ++popd ++#ln -s %{gem_dir}/gems/irb-%{irb_version}/lib/irb %{buildroot}%{ruby_libdir}/irb + + mkdir -p %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib + mv %{buildroot}%{ruby_libdir}/rdoc* %{buildroot}%{gem_dir}/gems/rdoc-%{rdoc_version}/lib + mv %{buildroot}%{gem_dir}/specifications/default/rdoc-%{rdoc_version}.gemspec %{buildroot}%{gem_dir}/specifications + + mkdir -p %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib +-mkdir -p %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal ++mkdir -p %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/bigdecimal + mv %{buildroot}%{ruby_libdir}/bigdecimal %{buildroot}%{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib +-mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} +-touch %{buildroot}%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/gem.build_complete ++mv %{buildroot}%{ruby_libarchdir}/bigdecimal.so %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version} ++touch %{buildroot}%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/gem.build_complete + mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version}.gemspec %{buildroot}%{gem_dir}/specifications + ln -s %{gem_dir}/gems/bigdecimal-%{bigdecimal_version}/lib/bigdecimal %{buildroot}%{ruby_libdir}/bigdecimal +-ln -s %{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so ++ln -s %{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version}/bigdecimal.so %{buildroot}%{ruby_libarchdir}/bigdecimal.so + + # TODO: Put help files into proper location. + # https://bugs.ruby-lang.org/issues/15359 +@@ -944,38 +980,38 @@ mv %{buildroot}%{ruby_libdir}/bundler %{ + mv %{buildroot}%{gem_dir}/specifications/default/bundler-%{bundler_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 ++mkdir -p %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/io + mv %{buildroot}%{ruby_libdir}/io %{buildroot}%{gem_dir}/gems/io-console-%{io_console_version}/lib +-mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/io +-touch %{buildroot}%{_libdir}/gems/%{name}/io-console-%{io_console_version}/gem.build_complete ++mv %{buildroot}%{ruby_libarchdir}/io/console.so %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/io ++touch %{buildroot}%{_libdir}/gems/ruby/io-console-%{io_console_version}/gem.build_complete + mv %{buildroot}%{gem_dir}/specifications/default/io-console-%{io_console_version}.gemspec %{buildroot}%{gem_dir}/specifications + ln -s %{gem_dir}/gems/io-console-%{io_console_version}/lib/io %{buildroot}%{ruby_libdir}/io +-ln -s %{_libdir}/gems/%{name}/io-console-%{io_console_version}/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so ++ln -s %{_libdir}/gems/ruby/io-console-%{io_console_version}/io/console.so %{buildroot}%{ruby_libarchdir}/io/console.so + + mkdir -p %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib +-mkdir -p %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version} ++mkdir -p %{buildroot}%{_libdir}/gems/ruby/json-%{json_version} + mv %{buildroot}%{ruby_libdir}/json* %{buildroot}%{gem_dir}/gems/json-%{json_version}/lib +-mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/ +-touch %{buildroot}%{_libdir}/gems/%{name}/json-%{json_version}/gem.build_complete ++mv %{buildroot}%{ruby_libarchdir}/json/ %{buildroot}%{_libdir}/gems/ruby/json-%{json_version}/ ++touch %{buildroot}%{_libdir}/gems/ruby/json-%{json_version}/gem.build_complete + mv %{buildroot}%{gem_dir}/specifications/default/json-%{json_version}.gemspec %{buildroot}%{gem_dir}/specifications + ln -s %{gem_dir}/gems/json-%{json_version}/lib/json.rb %{buildroot}%{ruby_libdir}/json.rb + ln -s %{gem_dir}/gems/json-%{json_version}/lib/json %{buildroot}%{ruby_libdir}/json +-ln -s %{_libdir}/gems/%{name}/json-%{json_version}/json/ %{buildroot}%{ruby_libarchdir}/json ++ln -s %{_libdir}/gems/ruby/json-%{json_version}/json/ %{buildroot}%{ruby_libarchdir}/json + + mkdir -p %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib +-mkdir -p %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version} ++mkdir -p %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version} + mv %{buildroot}%{ruby_libdir}/psych* %{buildroot}%{gem_dir}/gems/psych-%{psych_version}/lib +-mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version}/ +-touch %{buildroot}%{_libdir}/gems/%{name}/psych-%{psych_version}/gem.build_complete ++mv %{buildroot}%{ruby_libarchdir}/psych.so %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version}/ ++touch %{buildroot}%{_libdir}/gems/ruby/psych-%{psych_version}/gem.build_complete + mv %{buildroot}%{gem_dir}/specifications/default/psych-%{psych_version}.gemspec %{buildroot}%{gem_dir}/specifications + ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir}/psych + 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 ++ln -s %{_libdir}/gems/ruby/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.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 \ +- -exec mv '{}' %{buildroot}%{_libdir}/gems/%{name}/ \; \ ++ -exec mv '{}' %{buildroot}%{_libdir}/gems/ruby/ \; \ + || echo "No gem binary extensions to move." + + # Move man pages into proper location +@@ -985,15 +1021,6 @@ mv %{buildroot}%{gem_dir}/gems/rake-%{ra + cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.1 %{buildroot}%{_mandir}/man1 + cp -a %{buildroot}%{gem_dir}/gems/bundler-%{bundler_version}/lib/bundler/man/*.5 %{buildroot}%{_mandir}/man5 + +-%if %{with systemtap} +-# Install a tapset and fix up the path to the library. +-mkdir -p %{buildroot}%{_systemtap_tapsetdir} +-sed -e "s|@LIBRARY_PATH@|%{tapset_libdir}/libruby.so.%{major_minor_version}|" \ +- %{SOURCE2} > %{buildroot}%{_systemtap_tapsetdir}/libruby.so.%{major_minor_version}.stp +-# Escape '*/' in comment. +-sed -i -r "s|( \*.*\*)\/(.*)|\1\\\/\2|" %{buildroot}%{_systemtap_tapsetdir}/libruby.so.%{major_minor_version}.stp +-%endif +- + # Prepare -doc subpackage file lists. + find doc -maxdepth 1 -type f ! -name '.*' ! -name '*.ja*' > .ruby-doc.en + echo 'doc/images' >> .ruby-doc.en +@@ -1088,8 +1115,6 @@ touch abrt.rb + # runruby, so re-enable them). + make runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE13}" + +-# Check if systemtap is supported. +-%{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} + + DISABLE_TESTS="" + MSPECOPTS="" +@@ -1128,6 +1153,10 @@ make runruby TESTRUN_SCRIPT=" \ + -I%{_builddir}/%{buildsubdir}/tool/lib --enable-gems \ + %{SOURCE15} %{_builddir}/%{buildsubdir} --verbose" + ++%post libs -p /sbin/ldconfig ++ ++%postun libs -p /sbin/ldconfig ++ + %files + %license BSDL + %license COPYING +@@ -1135,7 +1164,7 @@ make runruby TESTRUN_SCRIPT=" \ + %license GPL + %license LEGAL + %{_bindir}/erb +-%{_bindir}/%{name}%{?with_rubypick:-mri} ++%{_bindir}/ruby%{?with_rubypick:-mri} + %{_mandir}/man1/erb* + %{_mandir}/man1/ruby* + +@@ -1146,11 +1175,11 @@ make runruby TESTRUN_SCRIPT=" \ + %license GPL + %license LEGAL + +-%{_rpmconfigdir}/macros.d/macros.ruby ++#{_rpmconfigdir}/macros.d/macros.ruby + + %{_includedir}/* + %{_libdir}/libruby.so +-%{_libdir}/pkgconfig/%{name}.pc ++%{_libdir}/pkgconfig/%{srcname}.pc + + %files libs + %license COPYING +@@ -1348,9 +1377,7 @@ make runruby TESTRUN_SCRIPT=" \ + %dir %{ruby_libarchdir}/racc + %{ruby_libarchdir}/racc/cparse.so + +-%{?with_systemtap:%{_systemtap_datadir}} +- +-%files -n rubygems ++%files rubygems + %{_bindir}/gem + %dir %{rubygems_dir} + %{rubygems_dir}/rubygems +@@ -1372,12 +1399,12 @@ make runruby TESTRUN_SCRIPT=" \ + + %exclude %{gem_dir}/cache/* + +-%files -n rubygems-devel +-%{_rpmconfigdir}/macros.d/macros.rubygems +-%{_rpmconfigdir}/fileattrs/rubygems.attr +-%{_rpmconfigdir}/rubygems.req +-%{_rpmconfigdir}/rubygems.prov +-%{_rpmconfigdir}/rubygems.con ++%files 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/abbrev-0.1.0.gemspec +@@ -1461,14 +1488,14 @@ make runruby TESTRUN_SCRIPT=" \ + %exclude %{_bindir}/racc + %exclude %{gem_dir}/gems/racc-%{racc_version}/bin + +-%files -n rubygem-irb ++%files rubygem-irb + %{_bindir}/irb + %{ruby_libdir}/irb* + %{gem_dir}/gems/irb-%{irb_version} + %{gem_dir}/specifications/irb-%{irb_version}.gemspec + %{_mandir}/man1/irb.1* + +-%files -n rubygem-rdoc ++%files rubygem-rdoc + %{_bindir}/rdoc + %{_bindir}/ri + %{gem_dir}/gems/rdoc-%{rdoc_version} +@@ -1481,36 +1508,36 @@ make runruby TESTRUN_SCRIPT=" \ + %{?with_systemtap:%doc ruby-exercise.stp} + %{_datadir}/ri + +-%files -n rubygem-bigdecimal ++%files rubygem-bigdecimal + %{ruby_libdir}/bigdecimal* + %{ruby_libarchdir}/bigdecimal* +-%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} ++%{_libdir}/gems/ruby/bigdecimal-%{bigdecimal_version} + %{gem_dir}/gems/bigdecimal-%{bigdecimal_version} + %{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec + +-%files -n rubygem-io-console ++%files rubygem-io-console + %{ruby_libdir}/io + %{ruby_libarchdir}/io/console.so +-%{_libdir}/gems/%{name}/io-console-%{io_console_version} ++%{_libdir}/gems/ruby/io-console-%{io_console_version} + %{gem_dir}/gems/io-console-%{io_console_version} + %{gem_dir}/specifications/io-console-%{io_console_version}.gemspec + +-%files -n rubygem-json ++%files rubygem-json + %{ruby_libdir}/json* + %{ruby_libarchdir}/json* +-%{_libdir}/gems/%{name}/json-%{json_version} ++%{_libdir}/gems/ruby/json-%{json_version} + %{gem_dir}/gems/json-%{json_version} + %{gem_dir}/specifications/json-%{json_version}.gemspec + +-%files -n rubygem-psych ++%files rubygem-psych + %{ruby_libdir}/psych + %{ruby_libdir}/psych.rb + %{ruby_libarchdir}/psych.so +-%{_libdir}/gems/%{name}/psych-%{psych_version} ++%{_libdir}/gems/ruby/psych-%{psych_version} + %{gem_dir}/gems/psych-%{psych_version} + %{gem_dir}/specifications/psych-%{psych_version}.gemspec + +-%files -n rubygem-bundler ++%files rubygem-bundler + %{_bindir}/bundle + %{_bindir}/bundler + %{gem_dir}/gems/bundler-%{bundler_version} +@@ -1518,23 +1545,23 @@ make runruby TESTRUN_SCRIPT=" \ + %{_mandir}/man1/bundle*.1* + %{_mandir}/man5/gemfile.5* + +-%files -n rubygem-minitest ++%files 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 ++%files 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 ++%files rubygem-rake + %{_bindir}/rake + %{gem_dir}/gems/rake-%{rake_version} + %{gem_dir}/specifications/rake-%{rake_version}.gemspec + %{_mandir}/man1/rake.1* + +-%files -n rubygem-rbs ++%files rubygem-rbs + %{_bindir}/rbs + %dir %{gem_dir}/gems/rbs-%{rbs_version} + %exclude %{gem_dir}/gems/rbs-%{rbs_version}/.* +@@ -1556,11 +1583,11 @@ make runruby TESTRUN_SCRIPT=" \ + %{gem_dir}/gems/rbs-%{rbs_version}/steep + %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec + +-%files -n rubygem-test-unit ++%files rubygem-test-unit + %{gem_dir}/gems/test-unit-%{test_unit_version} + %{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec + +-%files -n rubygem-rexml ++%files rubygem-rexml + %dir %{gem_dir}/gems/rexml-%{rexml_version} + %license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt + %doc %{gem_dir}/gems/rexml-%{rexml_version}/NEWS.md +@@ -1569,7 +1596,7 @@ make runruby TESTRUN_SCRIPT=" \ + %{gem_dir}/specifications/rexml-%{rexml_version}.gemspec + %doc %{gem_dir}/gems/rexml-%{rexml_version}/README.md + +-%files -n rubygem-rss ++%files 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 +@@ -1581,7 +1608,7 @@ make runruby TESTRUN_SCRIPT=" \ + %doc %{gem_dir}/gems/rss-%{rss_version}/Rakefile + %doc %{gem_dir}/gems/rss-%{rss_version}/test + +-%files -n rubygem-typeprof ++%files rubygem-typeprof + %dir %{gem_dir}/gems/typeprof-%{typeprof_version} + %{_bindir}/typeprof + %exclude %{gem_dir}/gems/typeprof-%{typeprof_version}/.* +@@ -1600,6 +1627,9 @@ make runruby TESTRUN_SCRIPT=" \ + + + %changelog ++* Sun Nov 23 2025 Alexey Berezhok - 3.0.7-165.brepo.1 ++- Make build for alternative path ++ + * Fri Apr 11 2025 Jarek Prokop - 3.0.7-165 + - Fix Denial of Service in CGI::Cookie.parse. (CVE-2025-27219) + Resolves: RHEL-87183