%global major_version 4
%global minor_version 0
%global teeny_version 1
%global major_minor_version %{major_version}.%{minor_version}
%global ruby_version %{major_minor_version}.%{teeny_version}
%global ruby_release %{ruby_version}
%global pkgname ruby
%global name_version %{pkgname}%{major_minor_version}
# Specify the named version. It has precedense to revision.
%dnl %global milestone preview2
# Keep the revision enabled for pre-releases from GIT.
%dnl %global revision d428d086c2
%global ruby_archive %{pkgname}-%{ruby_version}
# If revision and milestone are removed/commented out, the official release build is expected.
%if 0%{?milestone:1} != 0
%global ruby_archive %{ruby_archive}-%{?milestone}
%endif
%if 0%{?revision:1} != 0
%global ruby_archive %{ruby_archive}-%{?revision}
%define ruby_archive_timestamp %(stat --printf='@%Y' %{_sourcedir}/%{ruby_archive}.tar.xz | date -f - +"%Y%m%d")
%endif
%if 0%{?milestone:1}%{?revision:1} != 0
%define development_release ~%{?ruby_archive_timestamp}%{?milestone}%{?!milestone:%{?revision:git%{revision}}}
%endif
%global rubygems_dir %{_datadir}/%{name_version}/rubygems
## BUNDLED_GEMS_VERSIONS
# Bundled libraries versions
%global rubygems_version 4.0.3
%global rubygems_molinillo_version 0.8.0
%global rubygems_net_http_version 0.7.0
%global rubygems_net_protocol_version 0.2.2
%global rubygems_optparse_version 0.8.0
%global rubygems_resolv_version 0.6.2
%global rubygems_securerandom_version 0.4.1
%global rubygems_timeout_version 0.4.4
%global rubygems_tsort_version 0.2.0
%global rubygems_uri_version 1.1.1
# Default gems.
%global bundler_version 4.0.3
%global bundler_connection_pool_version 2.5.4
%global bundler_fileutils_version 1.8.0
%global bundler_net_http_persistent_version 4.0.6
%global bundler_pub_grub_version 0.5.0
%global bundler_securerandom_version 0.4.1
%global bundler_thor_version 1.4.0
%global bundler_tsort_version 0.2.0
%global bundler_uri_version 1.1.1
%global date_version 3.5.1
%global delegate_version 0.6.1
%global did_you_mean_version 2.0.0
%global digest_version 3.2.1
%global english_version 0.8.1
%global erb_version 6.0.1
%global error_highlight_version 0.7.1
%global etc_version 1.4.6
%global fcntl_version 1.3.0
%global fileutils_version 1.8.0
%global find_version 0.2.0
%global forwardable_version 1.4.0
%global io_console_version 0.8.2
%global io_nonblock_version 0.3.2
%global io_wait_version 0.4.0
%global ipaddr_version 1.2.8
%global json_version 2.18.0
%global net_http_version 0.9.1
%global net_protocol_version 0.2.2
%global open_uri_version 0.5.0
%global open3_version 0.2.1
%global openssl_version 4.0.0
%global optparse_version 0.8.1
%global pp_version 0.6.3
%global prettyprint_version 0.2.0
%global prism_version 1.8.0
%global psych_version 5.3.1
%global resolv_version 0.7.0
%global ruby2_keywords_version 0.0.5
%global securerandom_version 0.4.1
%global shellwords_version 0.2.2
%global singleton_version 0.3.0
%global stringio_version 3.2.0
%global strscan_version 3.1.6
%global syntax_suggest_version 2.0.2
%global tempfile_version 0.3.1
%global time_version 0.4.2
%global timeout_version 0.6.0
%global tmpdir_version 0.3.1
%global tsort_version 0.2.0
%global un_version 0.3.0
%global uri_version 1.1.1
%global weakref_version 0.1.4
%global win32_registry_version 0.1.2
%global yaml_version 0.4.0
%global zlib_version 3.2.2
# Bundled gems.
%global abbrev_version 0.1.2
%global base64_version 0.3.0
%global benchmark_version 0.5.0
%global bigdecimal_version 4.0.1
%global csv_version 3.3.5
%global debug_version 1.11.1
%global drb_version 2.2.3
%global fiddle_version 1.1.8
%global getoptlong_version 0.2.1
%global irb_version 1.16.0
%global logger_version 1.7.0
%global matrix_version 0.4.3
%global minitest_version 6.0.0
%global mutex_m_version 0.3.0
%global net_ftp_version 0.3.9
%global net_imap_version 0.6.2
%global net_pop_version 0.1.2
%global net_smtp_version 0.5.1
%global nkf_version 0.2.0
%global observer_version 0.1.2
%global ostruct_version 0.6.3
%global power_assert_version 3.0.1
%global prime_version 0.1.4
%global pstore_version 0.2.0
%global racc_version 1.8.1
%global rake_version 13.3.1
%global rbs_version 3.10.0
%global rdoc_version 7.0.3
%global readline_version 0.0.4
%global reline_version 0.6.3
%global repl_type_completor_version 0.1.12
%global resolv_replace_version 0.1.1
%global rexml_version 3.4.4
%global rinda_version 0.2.0
%global rss_version 0.3.2
%global syslog_version 0.3.0
%global test_unit_version 3.7.5
%global typeprof_version 0.31.1
%global win32ole_version 1.9.2
## END_BUNDLED_GEMS_VERSIONS
# Vendored gems
%global mysql2_version 0.5.7
%global pg_version 1.6.3
# Bundled nkf version
%global bundled_nkf_version 2.1.5
%global tapset_libdir %(echo %{_libdir} | sed 's/64//')*
%if 0%{?fedora} >= 19
%bcond_with rubypick
%endif
%bcond_without cmake
%bcond_without git
%bcond_without gmp
%bcond_without hostname
%bcond_without systemtap
%bcond_without rust
# Don't build rust parts if we are not building with rust bits.
%if 0%{?with_rust}
# YJIT and ZJIT is supported on x86_64 and aarch64.
# https://github.com/ruby/ruby/blob/master/doc/jit/yjit.md
# https://github.com/ruby/ruby/blob/master/doc/jit/zjit.md
%ifarch x86_64 aarch64
%bcond_without yjit
%bcond_without zjit
%endif
%endif
# Enable test when building on local.
%bcond_with bundler_tests
%bcond_without parallel_tests
%if 0%{?fedora}
%bcond_without hardening_test
%endif
# The additional linker flags break binary rubygem- packages.
# https://bugzilla.redhat.com/show_bug.cgi?id=2043092
%undefine _package_note_flags
# executables coming from gems, such as irb, carry shebang with /usr/bin/ruby.
# This is interpreted as a require for /usr/bin/ruby, however there are
# generated binstubs in actual %%{_bindir} that carry the correct ruby path.
# For alternative streams, we can deduce any /usr/bin/ruby requires present
# are invalid.
%global __requires_exclude ^/usr/bin/ruby$
Summary: An interpreter of object-oriented scripting language
Name: ruby4.0
Version: %{ruby_version}%{?development_release}
Release: 33%{?dist}
# Licenses, which are likely not included in binary RPMs:
# Apache-2.0:
# benchmark/gc/redblack.rb
# But this file might be BSD-2-Clause licensed after all:
# https://bugs.ruby-lang.org/issues/20420
# GPL-1.0-or-later: ext/win32/lib/win32/sspi.rb
# GPL-1.0-or-later OR Artistic-1.0-Perl: win32/win32.c, include/ruby/win32.h,
# ext/win32ole/win32ole.c
# IETF (this is not official SPDX identifier)
# .bundle/gems/net-imap-0.4.9/LICENSE.txt
# Licenses in this file covers fair use and don't need to be listed:
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/506
#
# BSD-3-Clause: missing/{crypt,mt19937,setproctitle}.c, addr2line.c:2652
# CC0: ccan/{build_assert/build_assert.h,check_type/check_type.h,
# container_of/container_of.h,str/str.h}
# Allowed based on 'grandfather clause':
# https://gitlab.com/fedora/legal/fedora-license-data/-/blob/7d9720b2cfd8ccb98d1975312942d99588a0da7c/data/CC0-1.0.toml#L11-14
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/499
# dtoa: missing/dtoa.c
# GPL-3.0-or-later WITH Bison-exception-2.2: parse.{c,h}, ext/ripper/ripper.c
# HPND-Markus-Kuhn: missing/langinfo.c
# ISC: missing/strl{cat,cpy}.c
# LicenseRef-Fedora-Public-Domain: include/ruby/st.h, strftime.c, missing/*, ...
# https://gitlab.com/fedora/legal/fedora-license-data/-/merge_requests/145
# MIT: ccan/list/list.h
# Ruby OR BSD-2-Clause OR GPL-1.0-or-later: lib/net/protocol.rb
# Ruby-pty: ext/pty/pty.c
# Unicode-DFS-2015: some of enc/trans/**/*.src
# There is also license review ticket here:
# https://gitlab.com/fedora/legal/fedora-license-data/-/issues/500
# zlib: ext/digest/md5/md5.*, ext/nkf/nkf-utf8/nkf.c
# Ruby OR BSD-2-Clause OR Python-2.0.1: lib/test/unit/diff.rb
# Apache-2.0 OR BSL-1.0: ext/json/vendor/ryu.h
# MIT: ext/json/vendor/jeaiii-ltoa.h
# BSL-1.0: ext/json/vendor/fpconv.c
# BSD-3-Clause: lib/rdoc/generator/darkfish.rb
# CC-BY-2.5: lib/rdoc/generator/template/darkfish/images/loadingAnimation.gif
# OFL-1.1-RFN: lib/rdoc/generator/template/darkfish/css/fonts.css
# MIT: lib/rdoc/generator/aliki.rb
# MIT: lib/rdoc/generator/template/aliki/*
# BSD-2-Clause OR Ruby:
# lib/rubygems/net-http/
# lib/rubygems/net-protocol/
# lib/rubygems/optparse/
# lib/rubygems/resolv/
# lib/rubygems/timeout/
# lib/rubygems/tsort/
# MIT: lib/rubygems/resolver/molinillo
# BSD-2-Clause OR Ruby:
# lib/bundler/vendor/fileutils
# lib/bundler/vendor/tsort
# lib/bundler/vendor/uri
# MIT:
# lib/bundler/vendor/connection_pool
# lib/bundler/vendor/net-http-persistent
# lib/bundler/vendor/pub_brub
# lib/bundler/vendor/thor
# lib/rubygems/resolver/molinillo
# License: MIT AND (Ruby OR BSD-2-Clause)
License: (Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR GPL-1.0-or-later) AND BSD-3-Clause AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND ISC AND LicenseRef-Fedora-Public-Domain AND MIT AND CC0-1.0 AND zlib AND Unicode-DFS-2015 AND HPND-Markus-Kuhn AND Ruby-pty AND (Ruby OR BSD-2-Clause OR Python-2.0.1) AND BSD-2-Clause AND (Apache-2.0 OR BSL-1.0) AND GPL-2.0-only AND CC-BY-2.5 AND OFL-1.1-RFN AND BSL-1.0
URL: https://www.ruby-lang.org/
Source0: https://cache.ruby-lang.org/pub/%{pkgname}/%{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.
Source6: rubygems.prov
# SystemTap tests.
Source11: test_systemtap.rb
# Ruby OpenSSL FIPS tests.
Source12: test_openssl_fips.rb
# RPM gem Requires dependency generator tests.
Source13: rpm_test_helper.rb
Source14: test_rubygems_prov.rb
Source17: https://rubygems.org/gems/mysql2-%{mysql2_version}.gem
Source18: https://rubygems.org/gems/pg-%{pg_version}.gem
# The load directive is supported since RPM 4.12, i.e. F21+. The build process
# fails on older Fedoras.
%{load:%{SOURCE4}}
%{load:%{SOURCE5}}
%define __local_generator_provides make -C %{_builddir}/%{buildsubdir}/%{_vpath_builddir} -s runruby TESTRUN_SCRIPT="--enable-gems %{SOURCE6}"
%define __local_generator_path ^%{gem_dir}/specifications/.*\.gemspec$
# Fix ruby_version abuse.
# https://bugs.ruby-lang.org/issues/11002
Patch0: ruby-2.3.0-ruby_version.patch
# Fix ruby_version abuse for rdoc.
# Since rdoc is bundled gem, the patch is split from ruby-2.3.0-ruby_version.patch
# re-made in ruby/rdoc git source and will be applied in correct path in the
# specfile where we have the exact rdoc version that is part of the path.
Patch1: ruby-2.3.0-ruby_version-Add-ruby_version_dir_name-support-for-RDoc.patch
# http://bugs.ruby-lang.org/issues/7807
Patch2: 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
Patch3: 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.
Patch4: 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
Patch5: ruby-2.1.0-custom-rubygems-location.patch
# Disable RPATH.
# https://github.com/ged/ruby-pg/issues/183
Patch6: rubygem-pg-1.3.0-remove-rpath.patch
# Disable syntax_suggest test suite, which tries to download its dependencies.
# https://bugs.ruby-lang.org/issues/19297
Patch7: ruby-3.3.0-Disable-syntax-suggest-test-case.patch
# Add a way to provide %%build_rustflags to JIT's rustc.
# https://github.com/ruby/ruby/pull/15695
Patch8: ruby-4.0.1-Support-customizable-rustc_flags-for-rustc-builds.patch
# https://github.com/ruby/rdoc/pull/1531
# Fix error with `gem install --document=rdoc,ri`
Patch9: rdoc-pr1531-fix-mutilple-document-installation.patch
# Fix test failure of Ruby::Box, where it matches "ruby" instead of current
# program name.
# https://github.com/ruby/ruby/commit/099da884fe95ccf6c684a1563ed1c4b0fd8e1196
Patch10: ruby-4.0.1-test_box-avoid-failure-with-program-suffix.patch
# Disable branch that sets RPATH for rubygem-mysql2.
# Fedora uses env variable:
# https://src.fedoraproject.org/rpms/rubygem-mysql2/blob/c532e20446e6a05ed3846d06a79217a26fcb5d5a/f/rubygem-mysql2.spec#_61
# there is not currently a good way to set that configure
# option in Ruby's main build.
# https://github.com/brianmario/mysql2/issues/1201
Patch11: rubygem-mysql2-0.5.7-Disable-RPATH-completely-in-extconf.rb.patch
%{?with_rubypick:Suggests: rubypick}
BuildRequires: rpm-local-generator-support
# Build dependencies
BuildRequires: autoconf
BuildRequires: gcc
BuildRequires: make
BuildRequires: libffi-devel
BuildRequires: libxcrypt-devel
BuildRequires: libyaml-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel
%{?with_gmp:BuildRequires: gmp-devel}
%{?with_systemtap:BuildRequires: %{_bindir}/dtrace}
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
%if 0%{?with_rust}
BuildRequires: %{_bindir}/rustc
# We need the %%{build_rustflags}, EL needs different package than Fedora.
%if 0%{?fedora}
BuildRequires: rust-srpm-macros
%else
Buildrequires: rust-toolset
%endif
%endif
# Check dependencies
# Required to test hardening.
%{?with_hardening_test:BuildRequires: %{_bindir}/checksec}
# Needed to pass test_set_program_name(TestRubyOptions)
BuildRequires: procps
# Neede by `Socket.gethostname returns the host name ERROR`
%{?with_hostname:BuildRequires: %{_bindir}/hostname}
# RubyGems test suite optional dependencies.
%{?with_git:BuildRequires: git}
# `cmake` is required for test/rubygems/test_gem_ext_cmake_builder.rb.
%{?with_cmake:BuildRequires: %{_bindir}/cmake}
# The bundler/spec/runtime/setup_spec.rb requires the command `man`.
%{?with_bundler_tests:BuildRequires: %{_bindir}/man}
# 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: ruby(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 for rubygem-json vendored libraries.
# https://github.com/ulfjack/ryu
Provides: bundled(ryu)
# jeaiii-ltoa.h
# https://github.com/jeaiii/itoa
Provides: bundled(itoa)
# https://github.com/night-shift/fpconv
Provides: bundled(fpconv)
# Bundled provides for rubygem's vendored libraries
Provides: bundled(rubygems) = %{rubygems_version}
# https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910
Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version}
Provides: bundled(rubygem-net-http) = %{rubygems_net_http_version}
Provides: bundled(rubygem-net-protocol) = %{rubygems_net_protocol_version}
Provides: bundled(rubygem-optparse) = %{rubygems_optparse_version}
Provides: bundled(rubygem-resolv) = %{rubygems_resolv_version}
Provides: bundled(rubygem-securerandom) = %{rubygems_securerandom_version}
Provides: bundled(rubygem-timeout) = %{rubygems_timeout_version}
Provides: bundled(rubygem-tsort) = %{rubygems_tsort_version}
Provides: bundled(rubygem-uri) = %{rubygems_uri_version}
# Bundled provides for bundler's vendored libraries
# 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-net-http-persistent) = %{bundler_net_http_persistent_version}
Provides: bundled(rubygem-pub_grub) = %{bundler_pub_grub_version}
Provides: bundled(rubygem-securerandom) = %{bundler_securerandom_version}
Provides: bundled(rubygem-thor) = %{bundler_thor_version}
Provides: bundled(rubygem-tsort) = %{bundler_tsort_version}
Provides: bundled(rubygem-uri) = %{bundler_uri_version}
%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}
# 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 doc
Summary: Documentation for %{name}
Requires: %{_bindir}/ri%{major_minor_version}
BuildArch: noarch
%description doc
This package contains documentation for %{name}.
%package rubygem-mysql2
Summary: A simple, fast Mysql library for Ruby, binding to libmysql
Version: %{mysql2_version}
License: MIT
URL: https://github.com/brianmario/mysql2
BuildRequires: mariadb-connector-c-devel
%description rubygem-mysql2
The Mysql2 gem is meant to serve the extremely common use-case of
connecting, querying and iterating on results. Some database libraries
out there serve as direct 1:1 mappings of the already complex C API\'s
available. This one is not.
%package rubygem-pg
Summary: Pg is the Ruby interface to the PostgreSQL RDBMS
Version: %{pg_version}
License: (BSD-2-Clause OR Ruby) AND PostgreSQL
URL: https://github.com/ged/ruby-pg
BuildRequires: libpq-devel
%description rubygem-pg
Pg is the Ruby interface to the PostgreSQL RDBMS. It works with PostgreSQL 10
and later.
%prep
%setup -q -n %{ruby_archive}
%patch 0 -p1
pushd .bundle/gems/rdoc-%{rdoc_version}
%patch 1 -p1
%patch 9 -p1
popd
%patch 2 -p1
%patch 3 -p1
%patch 4 -p1
%patch 5 -p1
%patch 7 -p1
%patch 8 -p1
%patch 10 -p1
# Provide an example of usage of the tapset:
cp -a %{SOURCE3} .
%build
autoconf
%global _configure %{_builddir}/%{buildsubdir}/configure
mkdir -p %{_vpath_builddir}
pushd %{_vpath_builddir}
%configure \
--with-rubylibprefix='%{ruby_root}' \
--with-archlibdir='%{_libdir}' \
--with-rubyarchprefix='%{_libdir}' \
--with-rubyhdrdir='%{_includedir}/%{name_version}' \
--with-rubyarchhdrdir='$(rubyhdrdir)/$(arch)' \
--with-sitedir='%{ruby_sitelibdir}' \
--with-sitearchdir='%{ruby_sitearchdir}' \
--with-sitearchhdrdir='$(sitehdrdir)/$(arch)' \
--with-vendordir=no \
--with-compress-debug-sections=no \
--disable-rpath \
--enable-mkmf-verbose \
--enable-shared \
--with-ruby-version='%{name_version}' \
--enable-multiarch \
--with-soname='%{name_version}' \
--program-suffix='%{major_minor_version}' \
--with-rubygemsdir='%{rubygems_dir}' \
%{?with_yjit: --enable-yjit} \
%{?with_zjit: --enable-zjit} \
%{?with_rust: rustc_flags='%{build_rustflags}'} \
popd
# V=1 in %%make_build outputs the compiler options more verbosely.
# https://bugs.ruby-lang.org/issues/18756
%make_build COPY="cp -p" -C %{_vpath_builddir}
cp -p %{SOURCE17} gems/
cp -p %{SOURCE18} gems/
# Use standardized script to unpack the gems.
# Inspired by extract-gems step in common.mk:
# https://github.com/ruby/ruby/blob/e515fa7ab1981df439a3a6b3635a0389f4216cce/common.mk#L1506
# Cannot be done earlier due to requirement of a Ruby runtime.
make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \
-I%{_builddir}/%{buildsubdir}/tool/lib \
-rfileutils -rbundled_gem -e \" \
BundledGem.unpack( \
'%{_builddir}/%{buildsubdir}/gems/mysql2-%{mysql2_version}.gem', \
'%{_builddir}/%{buildsubdir}/.bundle') \
\""
make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \
-I%{_builddir}/%{buildsubdir}/tool/lib \
-rfileutils -rbundled_gem -e \" \
BundledGem.unpack( \
'%{_builddir}/%{buildsubdir}/gems/pg-%{pg_version}.gem', \
'%{_builddir}/%{buildsubdir}/.bundle') \
\""
# We cannot patch it before this point, because the files are not available.
pushd .bundle/gems/pg-%{pg_version}
cat %{PATCH6} | patch -p1
popd
pushd .bundle/gems/mysql2-%{mysql2_version}
cat %{PATCH11} | patch -p1
popd
# We also have to append the gems/bundled_gems list.
echo 'mysql2 %{mysql2_version} https://github.com/brianmario/mysql2' >> gems/bundled_gems
echo 'pg %{pg_version} https://github.com/ged/ruby-pg' >> gems/bundled_gems
# 2nd make_build to build the unpacked gems.
%make_build COPY="cp -p" -C %{_vpath_builddir}
%install
rm -rf %{buildroot}
%make_install -C %{_vpath_builddir}
# PG defines additional file due to Windows
# https://github.com/ged/ruby-pg/commit/f6ccdae9db2375716d0d0dfd55e9cc54ca1cf141
# We can just remove it. We undefine RPATH in Patch6 anyway.
# It is not present in upstream released gem.
rm -rf %{buildroot}%{ruby_libdir}/pg
# `ruby` executable is placed in some strange directory for some unknown
# reasons.
# https://bugs.ruby-lang.org/issues/20800
# https://github.com/ruby/ruby/pull/12043
CONFIG_TARGET_DIR=%{buildroot}%{_exec_prefix}/$( \
%{_vpath_builddir}/miniruby -I%{_vpath_builddir} -rrbconfig -e 'puts RbConfig::CONFIG["config_target"]'
)
mv ${CONFIG_TARGET_DIR}/bin/ruby%{major_minor_version} %{buildroot}%{_bindir}
rm -rd ${CONFIG_TARGET_DIR}
# TODO: Regenerate RBS parser in lib/rbs/parser.rb
# Rename the ruby executable. It is replaced by RubyPick.
%{?with_rubypick:mv %{buildroot}%{_bindir}/%{name_version}{,-mri}}
# Kill bundled certificates, as they should be part of ca-certificates.
for cert in \
rubygems.org/GlobalSign.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)"
# Install custom operating_system.rb.
mkdir -p %{buildroot}%{rubygems_dir}/rubygems/defaults
cp %{SOURCE1} %{buildroot}%{rubygems_dir}/rubygems/defaults
# 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/%{name_version}
# Move the binary extensions into proper place (if no gem has binary extension,
# the extensions directory might be empty).
# TODO: Get information about extension form .gemspec files.
find %{buildroot}%{gem_dir}/extensions/*-%{_target_os}/%{major_minor_version}.*/* -maxdepth 0 \
-exec mv '{}' %{buildroot}%{_libdir}/gems/%{name_version}/ \; \
|| echo "No gem binary extensions to move."
# Remove the extension sources and library copies from `lib` dir.
find %{buildroot}%{gem_dir}/gems/*/ext -maxdepth 0 -exec rm -rf '{}' +
find %{buildroot}%{gem_dir}/gems/*/lib -name \*.so -delete
# Move man pages into proper location
mkdir -p %{buildroot}%{_mandir}/man{1,5}
mv %{buildroot}%{gem_instdir irb}/man/irb.1 %{buildroot}%{_mandir}/man1/irb%{major_minor_version}.1
mv %{buildroot}%{gem_instdir rake}/doc/rake.1 %{buildroot}%{_mandir}/man1/rake%{major_minor_version}.1
mv %{buildroot}%{gem_instdir rdoc}/man/ri.1 %{buildroot}%{_mandir}/man1/ri%{major_minor_version}.1
# https://bugs.ruby-lang.org/issues/17778
find %{buildroot}%{ruby_libdir}/bundler/man -name '*.1' -exec basename '{}' .1 \; \
| xargs -I{} cp -a %{buildroot}%{ruby_libdir}/bundler/man/{}.1 %{buildroot}%{_mandir}/man1/{}%{major_minor_version}.1
find %{buildroot}%{ruby_libdir}/bundler/man -name '*.5' -exec basename '{}' .5 \; \
| xargs -I{} cp -a %{buildroot}%{ruby_libdir}/bundler/man/{}.5 %{buildroot}%{_mandir}/man5/{}%{major_minor_version}.5
%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}/lib%{name_version}.so.%{major_minor_version}|" \
%{SOURCE2} > %{buildroot}%{_systemtap_tapsetdir}/lib%{name_version}.so.%{major_minor_version}.stp
# Escape '*/' in comment.
sed -i -r "s|( \*.*\*)\/(.*)|\1\\\/\2|" %{buildroot}%{_systemtap_tapsetdir}/lib%{name_version}.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
echo 'doc/syntax' >> .ruby-doc.en
find doc -maxdepth 1 -type f -name '*.ja*' > .ruby-doc.ja
echo 'doc/pty' >> .ruby-doc.ja
sed -i 's/^/%doc /' .ruby-doc.*
sed -i 's/^/%lang(ja) /' .ruby-doc.ja
%check
%if 0%{?with_hardening_test}
# Check Ruby hardening.
%define fortification_x86_64 fortified="10" fortify-able="26"
%define fortification_i686 fortified="10" fortify-able="26"
%define fortification_aarch64 fortified="11" fortify-able="28"
%define fortification_ppc64le fortified="7" fortify-able="24"
%define fortification_s390x fortified="10" fortify-able="24"
%define fortification_riscv64 fortified="10" fortify-able="26"
# https://unix.stackexchange.com/questions/366/convince-grep-to-output-all-lines-not-just-those-with-matches
checksec --format=xml --file=%{_vpath_builddir}/lib%{name_version}.so.%{ruby_version} | \
sed -r "s//\1/" | \
sed -nr $'/relro="full" canary="yes" nx="yes" pie="dso" rpath="no" runpath="no" symbols="yes" fortify_source="partial" %{expand:%{fortification_%{_target_cpu}}} filename='\''redhat-linux-build\/lib%{name_version}.so.%{ruby_version}'\''/h; ${p;x;/./Q0;Q1}'
%endif
# Check RubyGems version.
[ "`make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT='%{_builddir}/%{buildsubdir}/bin/gem -v' | tail -1`" == '%{rubygems_version}' ]
# Check Rubygems bundled dependencies versions.
# Molinillo.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; module Resolver; end; end; \
require 'rubygems/vendor/molinillo/lib/molinillo/gem_metadata'; \
puts '%%{rubygems_molinillo_version}: %{rubygems_molinillo_version}'; \
puts %Q[Gem::Molinillo::VERSION: #{Gem::Molinillo::VERSION}]; \
exit 1 if Gem::Molinillo::VERSION != '%{rubygems_molinillo_version}'; \
\""
# Net::HTTP.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; module Net; end; end; \
require 'rbconfig'; \
require 'rubygems/vendor/net-http/lib/net/http'; \
puts '%%{rubygems_net_http_version}: %{rubygems_net_http_version}'; \
puts %Q[Gem::Net::HTTP::VERSION: #{Gem::Net::HTTP::VERSION}]; \
exit 1 if Gem::Net::HTTP::VERSION != '%{rubygems_net_http_version}'; \
\""
# Net::Protocol.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; module Net; end; end; \
require 'rubygems/vendor/net-protocol/lib/net/protocol'; \
puts '%%{rubygems_net_protocol_version}: %{rubygems_net_protocol_version}'; \
puts %Q[Gem::Net::Protocol::VERSION: #{Gem::Net::Protocol::VERSION}]; \
exit 1 if Gem::Net::Protocol::VERSION != '%{rubygems_net_protocol_version}'; \
\""
# OptParse.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
require 'rubygems/vendor/optparse/lib/optparse'; \
puts '%%{rubygems_optparse_version}: %{rubygems_optparse_version}'; \
puts %Q[Gem::OptionParser::Version: #{Gem::OptionParser::Version}]; \
exit 1 if Gem::OptionParser::Version != '%{rubygems_optparse_version}'; \
\""
# Resolv.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
require 'rbconfig'; \
require 'rubygems/vendor/resolv/lib/resolv'; \
puts '%%{rubygems_resolv_version}: %{rubygems_resolv_version}'; \
puts %Q[Gem::Resolv::VERSION: #{Gem::Resolv::VERSION}]; \
exit 1 if Gem::Resolv::VERSION != '%{rubygems_resolv_version}'; \
\""
# SecureRandom.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; module Random; end; end; \
require 'rubygems/vendor/securerandom/lib/securerandom'; \
puts '%%{rubygems_securerandom_version}: %{rubygems_securerandom_version}'; \
puts %Q[Gem::SecureRandom::VERSION: #{Gem::SecureRandom::VERSION}]; \
exit 1 if Gem::SecureRandom::VERSION != '%{rubygems_securerandom_version}'; \
\""
# Timeout.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
require 'rubygems/vendor/timeout/lib/timeout'; \
puts '%%{rubygems_timeout_version}: %{rubygems_timeout_version}'; \
puts %Q[Gem::Timeout::VERSION: #{Gem::Timeout::VERSION}]; \
exit 1 if Gem::Timeout::VERSION != '%{rubygems_timeout_version}'; \
\""
# TSort
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
require 'rubygems/vendor/tsort/lib/tsort'; \
puts '%%{rubygems_tsort_version}: %{rubygems_tsort_version}'; \
puts %Q[Gem::TSort::VERSION: #{Gem::TSort::VERSION}]; \
exit 1 if Gem::TSort::VERSION != '%{rubygems_tsort_version}'; \
\""
# URI.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
require 'rubygems/vendor/uri/lib/uri/version'; \
puts '%%{rubygems_uri_version}: %{rubygems_uri_version}'; \
puts %Q[Gem::URI::VERSION: #{Gem::URI::VERSION}]; \
exit 1 if Gem::URI::VERSION != '%{rubygems_uri_version}'; \
\""
# Check Bundler bundled dependencies versions.
# connection_pool.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/connection_pool/lib/connection_pool/version'; \
puts '%%{bundler_connection_pool_version}; %{bundler_connection_pool_version}'; \
puts %Q[Bundler::ConnectionPool::VERSION: #{Bundler::ConnectionPool::VERSION}]; \
exit 1 if Bundler::ConnectionPool::VERSION != '%{bundler_connection_pool_version}'; \
\""
# FileUtils.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/fileutils/lib/fileutils'; \
puts '%%{bundler_fileutils_version}: %{bundler_fileutils_version}'; \
puts %Q[Bundler::FileUtils::VERSION: #{Bundler::FileUtils::VERSION}]; \
exit 1 if Bundler::FileUtils::VERSION != '%{bundler_fileutils_version}'; \
\""
# PubGrub
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/pub_grub/lib/pub_grub/version'; \
puts '%%{bundler_pub_grub_version}: %{bundler_pub_grub_version}'; \
puts %Q[Bundler::PubGrub::VERSION: #{Bundler::PubGrub::VERSION}]; \
exit 1 if Bundler::PubGrub::VERSION != '%{bundler_pub_grub_version}'; \
\""
# Net::HTTP::Persistent.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Gem; end; \
module Bundler; end; \
require 'rbconfig'; \
require 'bundler/vendor/net-http-persistent/lib/net/http/persistent'; \
puts '%%{bundler_net_http_persistent_version}: %{bundler_net_http_persistent_version}'; \
puts %Q[Gem::Net::HTTP::Persistent::VERSION: #{Gem::Net::HTTP::Persistent::VERSION}]; \
exit 1 if Gem::Net::HTTP::Persistent::VERSION != '%{bundler_net_http_persistent_version}'; \
\""
# SecureRandom.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; module Random; end; end; \
require 'bundler/vendor/securerandom/lib/securerandom'; \
puts '%%{bundler_securerandom_version}: %{bundler_securerandom_version}'; \
puts %Q[Bundler::SecureRandom::VERSION: #{Bundler::SecureRandom::VERSION}]; \
exit 1 if Bundler::SecureRandom::VERSION != '%{bundler_securerandom_version}'; \
\""
# Thor.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/thor/lib/thor/version'; \
puts '%%{bundler_thor_version}: %{bundler_thor_version}'; \
puts %Q[Bundler::Thor::VERSION: #{Bundler::Thor::VERSION}]; \
exit 1 if Bundler::Thor::VERSION != '%{bundler_thor_version}'; \
\""
# TSort
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/tsort/lib/tsort'; \
puts '%%{bundler_tsort_version}: %{bundler_tsort_version}'; \
puts %Q[Bundler::TSort::VERSION: #{Bundler::TSort::VERSION}]; \
exit 1 if Bundler::TSort::VERSION != '%{bundler_tsort_version}'; \
\""
# URI.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
module Bundler; end; \
require 'bundler/vendor/uri/lib/uri/version'; \
puts '%%{bundler_uri_version}: %{bundler_uri_version}'; \
puts %Q[Bundler::URI::VERSION: #{Bundler::URI::VERSION}]; \
exit 1 if Bundler::URI::VERSION != '%{bundler_uri_version}'; \
\""
# Check bundled libraries versions.
# Nkf.
make -C %{_vpath_builddir} -s runruby TESTRUN_SCRIPT="-e \" \
require 'rubygems'; \
require 'nkf'; \
puts '%%{bundled_nkf_version}: %{bundled_nkf_version}'; \
puts %Q[NKF::NKF_VERSION: #{NKF::NKF_VERSION}]; \
exit 1 if NKF::NKF_VERSION != '%{bundled_nkf_version}'; \
\""
# Check if systemtap is supported.
%if %{with systemtap}
ln -sfr probes.d %{_vpath_builddir}/
LIBRUBY_SO=lib%{name_version}.so make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=%{SOURCE11}
%endif
# Test dependency generators for RPM
GENERATOR_SCRIPT="%{SOURCE6}" \
make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \
-I%{_builddir}/%{buildsubdir}/tool/lib -I%{_sourcedir} --enable-gems \
%{SOURCE14} --verbose"
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 !/TestGemBundledCA/"
# Several tests failures. RubyGems are not well prepared to handle
# `--with-{site,vendor}dir=no` Ruby configuration options properly.
# https://github.com/rubygems/rubygems/issues/7414
mv test/rubygems/test_gem_commands_setup_command.rb{,.disabled}
DISABLE_TESTS="$DISABLE_TESTS -n !/TestGemInstallUpdateOptions#test_add_install_update_options/"
# Give an option to increase the timeout in tests.
# https://bugs.ruby-lang.org/issues/16921
%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \
make -C %{_vpath_builddir} %{?with_parallel_tests:%{?_smp_mflags}} check TESTS="-v --show-skip $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS"
# Run Ruby OpenSSL tests in OpenSSL FIPS.
make -C %{_vpath_builddir} runruby TESTRUN_SCRIPT=" \
-I%{_builddir}/%{buildsubdir}/tool/lib --enable-gems \
%{SOURCE12} %{_builddir}/%{buildsubdir} --verbose"
%{?with_bundler_tests:make -C %{_vpath_builddir} test-bundler-parallel}
%files
%license BSDL
%license COPYING
%lang(ja) %license COPYING.ja
%license GPL
%license LEGAL
%{_bindir}/%{name_version}%{?with_rubypick:-mri}
%{_mandir}/man1/ruby%{major_minor_version}*
%doc README.md
%doc NEWS.md
# List all these files explicitly to prevent surprises
# Platform independent libraries.
%dir %{ruby_root}
%dir %{ruby_libdir}
%dnl %exclude %{ruby_libdir}/irb*
%dnl %exclude %{ruby_libdir}/json*
%dnl %exclude %{ruby_libdir}/psych*
%{ruby_libdir}/bundled_gems.rb
%{ruby_libdir}/cgi*
%{ruby_libdir}/coverage.rb
%{ruby_libdir}/date.rb
%{ruby_libdir}/delegate*
%{ruby_libdir}/digest*
%{ruby_libdir}/English.rb
%{ruby_libdir}/erb*
%{ruby_libdir}/error_highlight*
%{ruby_libdir}/expect.rb
%{ruby_libdir}/fileutils.rb
%{ruby_libdir}/find.rb
%{ruby_libdir}/forwardable*
%{ruby_libdir}/ipaddr.rb
%{ruby_libdir}/mkmf.rb
%{ruby_libdir}/monitor.rb
%{ruby_libdir}/net
%{ruby_libdir}/objspace*
%{ruby_libdir}/open-uri.rb
%{ruby_libdir}/open3*
%{ruby_libdir}/optionparser.rb
%{ruby_libdir}/optparse*
%{ruby_libdir}/pathname.rb
%{ruby_libdir}/pp.rb
%{ruby_libdir}/prettyprint.rb
%{ruby_libdir}/random
%{ruby_libdir}/resolv.rb
%{ruby_libdir}/ripper*
%{ruby_libdir}/securerandom.rb
%{ruby_libdir}/set/subclass_compatible.rb
%{ruby_libdir}/shellwords.rb
%{ruby_libdir}/singleton*
%{ruby_libdir}/socket.rb
%{ruby_libdir}/strscan
%{ruby_libdir}/syntax_suggest*
%{ruby_libdir}/tempfile.rb
%{ruby_libdir}/timeout*
%{ruby_libdir}/time.rb
%{ruby_libdir}/tmpdir.rb
%{ruby_libdir}/tsort.rb
%{ruby_libdir}/unicode_normalize
%{ruby_libdir}/un.rb
%{ruby_libdir}/uri*
%{ruby_libdir}/weakref*
%{ruby_libdir}/yaml*
%{ruby_libdir}/prism*
# Platform specific libraries.
%{_libdir}/lib%{name_version}.so.{%{major_minor_version},%{ruby_version}}
%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
%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}/erb/escape.so
%{ruby_libarchdir}/etc.so
%{ruby_libarchdir}/fcntl.so
%dir %{ruby_libarchdir}/io
%{ruby_libarchdir}/io/nonblock.so
%{ruby_libarchdir}/io/wait.so
%{ruby_libarchdir}/monitor.so
%{ruby_libarchdir}/objspace.so
%{ruby_libarchdir}/pty.so
%dir %{ruby_libarchdir}/rbconfig
%{ruby_libarchdir}/rbconfig.rb
%{ruby_libarchdir}/rbconfig/sizeof.so
%{ruby_libarchdir}/ripper.so
%{ruby_libarchdir}/socket.so
%{ruby_libarchdir}/stringio.so
%{ruby_libarchdir}/strscan.so
%{ruby_libarchdir}/zlib.so
# Default gems
%{ruby_libdir}/did_you_mean*
%{ruby_libdir}/openssl*
%{ruby_libarchdir}/openssl.so
%{?with_systemtap:%{_systemtap_datadir}}
# rubygems
%{_bindir}/gem%{major_minor_version}
%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_archdir}
%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
%exclude %{gem_dir}/cache/*
# default-gems
%gem_spec -d date
%gem_spec -d delegate
%gem_spec -d did_you_mean
%gem_spec -d digest
%gem_spec -d english
%gem_spec -d erb
%gem_instdir erb
%{_bindir}/erb%{major_minor_version}
%{_mandir}/man1/erb%{major_minor_version}*
%gem_spec -d error_highlight
%gem_spec -d etc
%gem_spec -d fcntl
%gem_spec -d fileutils
%gem_spec -d find
%gem_spec -d forwardable
%gem_spec -d io-nonblock
%gem_spec -d io-wait
%gem_spec -d ipaddr
%gem_spec -d net-http
%gem_spec -d net-protocol
%gem_spec -d open3
%gem_spec -d open-uri
%gem_spec -d optparse
%gem_spec -d openssl
%gem_spec -d pp
%gem_spec -d prettyprint
%gem_spec -d resolv
%gem_spec -d ruby2_keywords
%gem_spec -d securerandom
%gem_spec -d shellwords
%gem_spec -d singleton
%gem_spec -d stringio
%gem_spec -d strscan
%gem_spec -d syntax_suggest
%{_bindir}/syntax_suggest%{major_minor_version}
%gem_instdir syntax_suggest
%gem_spec -d tempfile
%gem_spec -d time
%gem_spec -d timeout
%gem_spec -d tmpdir
%gem_spec -d tsort
%gem_spec -d un
%gem_spec -d uri
%gem_spec -d weakref
#%%gem_spec -d win32ole
#%%gem_spec -d win32-registry
%gem_spec -d yaml
%gem_spec -d prism
%gem_spec -d zlib
# irb
%{_bindir}/irb%{major_minor_version}
%dir %{gem_instdir irb}
%{gem_libdir irb}
%{gem_spec irb}
%{gem_instdir irb}/exe
%{_mandir}/man1/irb%{major_minor_version}.1*
%{gem_instdir irb}/Gemfile
%license %{gem_instdir irb}/LICENSE.txt
%doc %{gem_instdir irb}/doc
%doc %{gem_instdir irb}/README.md
%doc %{gem_instdir irb}/CONTRIBUTING.md
%doc %{gem_instdir irb}/EXTEND_IRB.md
# rdoc
%{_bindir}/rdoc%{major_minor_version}
%{_bindir}/ri%{major_minor_version}
%{gem_instdir rdoc}
%{gem_spec rdoc}
%{gem_plugin rdoc}
%{_mandir}/man1/ri%{major_minor_version}*
# bigdecimal
%dir %{gem_extdir_mri bigdecimal}
%{gem_extdir_mri bigdecimal}/bigdecimal.so
%{gem_extdir_mri bigdecimal}/gem.build_complete
%{gem_instdir bigdecimal}
%{gem_spec bigdecimal}
# io-console
%{ruby_libdir}/io
%{ruby_libarchdir}/io/console.so
%{gem_instdir io-console}
%{gem_spec -d io-console}
# json
%{ruby_libdir}/json*
%{ruby_libarchdir}/json
%{gem_instdir json}
%{gem_spec -d json}
# psych
%{ruby_libdir}/psych
%{ruby_libdir}/psych.rb
%{ruby_libarchdir}/psych.so
%{gem_spec -d psych}
# bundler
%{_bindir}/bundle%{major_minor_version}
%{_bindir}/bundler%{major_minor_version}
%{ruby_libdir}/bundler.rb
%{ruby_libdir}/bundler
%{gem_instdir bundler}
%{gem_spec -d bundler}
%{_mandir}/man1/bundle*%{major_minor_version}.1*
%{_mandir}/man5/gemfile%{major_minor_version}.5*
# bundled-gems
# abbrev
%dir %{gem_instdir abbrev}
%license %{gem_instdir abbrev}/LICENSE.txt
%{gem_instdir abbrev}/bin
%{gem_libdir abbrev}
%{gem_spec abbrev}
%{gem_instdir abbrev}/Gemfile
%doc %{gem_instdir abbrev}/README.md
%{gem_instdir abbrev}/Rakefile
# base64
%dir %{gem_instdir base64}
%license %{gem_instdir base64}/BSDL
%license %{gem_instdir base64}/COPYING
%license %{gem_instdir base64}/LEGAL
%{gem_instdir base64}/sig
%{gem_libdir base64}
%{gem_spec base64}
%doc %{gem_instdir base64}/README.md
# benchmark
%dir %{gem_instdir benchmark}
%license %{gem_instdir benchmark}/BSDL
%license %{gem_instdir benchmark}/COPYING
%doc %{gem_instdir benchmark}/README.md
%{gem_instdir benchmark}/Gemfile
%{gem_instdir benchmark}/Rakefile
%{gem_instdir benchmark}/bin
%{gem_libdir benchmark}
%{gem_spec benchmark}
# csv
%dir %{gem_instdir csv}
%license %{gem_instdir csv}/LICENSE.txt
%doc %{gem_instdir csv}/NEWS.md
%{gem_libdir csv}
%{gem_spec csv}
%doc %{gem_instdir csv}/README.md
%doc %{gem_instdir csv}/doc
# drb
%dir %{gem_instdir drb}
%license %{gem_instdir drb}/LICENSE.txt
%{gem_libdir drb}
%{gem_instdir drb}/drb.gemspec
%{gem_spec drb}
# getoptlong
%dir %{gem_instdir getoptlong}
%license %{gem_instdir getoptlong}/LICENSE.txt
%{gem_instdir getoptlong}/bin
%{gem_libdir getoptlong}
%{gem_instdir getoptlong}/sample
%{gem_spec getoptlong}
%{gem_instdir getoptlong}/Gemfile
%doc %{gem_instdir getoptlong}/README.md
%{gem_instdir getoptlong}/Rakefile
# fiddle
%dir %{gem_instdir fiddle}
%license %{gem_instdir fiddle}/LICENSE.txt
%doc %{gem_instdir fiddle}/README.md
%{gem_instdir fiddle}/Rakefile
%{gem_libdir fiddle}
%dir %{gem_extdir_mri fiddle}
%{gem_extdir_mri fiddle}/fiddle.so
%{gem_extdir_mri fiddle}/gem.build_complete
%{gem_instdir fiddle}/fiddle.gemspec
%{gem_spec fiddle}
# logger
%dir %{gem_instdir logger}
%license %{gem_instdir logger}/BSDL
%license %{gem_instdir logger}/COPYING
%doc %{gem_instdir logger}/README.md
%{gem_libdir logger}
%{gem_spec logger}
# matrix
%dir %{gem_instdir matrix}
%license %{gem_instdir matrix}/BSDL
%license %{gem_instdir matrix}/COPYING
%{gem_libdir matrix}
%{gem_instdir matrix}/matrix.gemspec
%{gem_spec matrix}
# mutex_m
%dir %{gem_instdir mutex_m}
%license %{gem_instdir mutex_m}/BSDL
%license %{gem_instdir mutex_m}/COPYING
%{gem_libdir mutex_m}
%{gem_instdir mutex_m}/sig
%{gem_spec mutex_m}
%doc %{gem_instdir mutex_m}/README.md
# net-ftp
%dir %{gem_instdir net-ftp}
%license %{gem_instdir net-ftp}/BSDL
%license %{gem_instdir net-ftp}/COPYING
%{gem_instdir net-ftp}/Gemfile
%license %{gem_instdir net-ftp}/LICENSE.txt
%doc %{gem_instdir net-ftp}/README.md
%{gem_instdir net-ftp}/Rakefile
%{gem_libdir net-ftp}
%{gem_spec net-ftp}
# net-imap
%dir %{gem_instdir net-imap}
%license %{gem_instdir net-imap}/BSDL
%license %{gem_instdir net-imap}/COPYING
%{gem_instdir net-imap}/Gemfile
%license %{gem_instdir net-imap}/LICENSE.txt
%doc %{gem_instdir net-imap}/README.md
%{gem_instdir net-imap}/Rakefile
%{gem_instdir net-imap}/docs
%{gem_libdir net-imap}
%{gem_instdir net-imap}/rakelib
%{gem_instdir net-imap}/sample
%{gem_spec net-imap}
# net-pop
%dir %{gem_instdir net-pop}
%{gem_instdir net-pop}/Gemfile
%license %{gem_instdir net-pop}/LICENSE.txt
%doc %{gem_instdir net-pop}/README.md
%{gem_instdir net-pop}/Rakefile
%{gem_libdir net-pop}
%{gem_spec net-pop}
# net-smtp
%dir %{gem_instdir net-smtp}
%doc %{gem_instdir net-smtp}/NEWS.md
%doc %{gem_instdir net-smtp}/README.md
%license %{gem_instdir net-smtp}/LICENSE.txt
%{gem_libdir net-smtp}
%{gem_spec net-smtp}
# nkf
%dir %{gem_instdir nkf}
%{gem_extdir_mri nkf}
%license %{gem_instdir nkf}/LICENSE.txt
%{gem_instdir nkf}/bin
%{gem_libdir nkf}
%{gem_spec nkf}
%{gem_instdir nkf}/Gemfile
%doc %{gem_instdir nkf}/README.md
%{gem_instdir nkf}/Rakefile
# observer
%dir %{gem_instdir observer}
%license %{gem_instdir observer}/LICENSE.txt
%{gem_instdir observer}/bin
%{gem_libdir observer}
%exclude %{gem_cache observer}
%{gem_spec observer}
%{gem_instdir observer}/Gemfile
%doc %{gem_instdir observer}/README.md
%{gem_instdir observer}/Rakefile
# ostruct
%dir %{gem_instdir ostruct}
%license %{gem_instdir ostruct}/BSDL
%license %{gem_instdir ostruct}/COPYING
%doc %{gem_instdir ostruct}/README.md
%{gem_instdir ostruct}/Gemfile
%{gem_instdir ostruct}/Rakefile
%{gem_instdir ostruct}/bin
%{gem_libdir ostruct}
%{gem_instdir ostruct}/ostruct.gemspec
%{gem_spec ostruct}
# prime
%dir %{gem_instdir prime}
%license %{gem_instdir prime}/BSDL
%license %{gem_instdir prime}/COPYING
%doc %{gem_instdir prime}/README.md
%{gem_instdir prime}/Rakefile
%{gem_libdir prime}
%{gem_instdir prime}/sig
%{gem_instdir prime}/prime.gemspec
%{gem_spec prime}
# pstore
%dir %{gem_instdir pstore}
%license %{gem_instdir pstore}/BSDL
%license %{gem_instdir pstore}/COPYING
%doc %{gem_instdir pstore}/README.md
%{gem_instdir pstore}/Gemfile
%{gem_instdir pstore}/Rakefile
%{gem_instdir pstore}/bin
%{gem_libdir pstore}
%{gem_spec pstore}
# rdbg
%{_bindir}/rdbg%{major_minor_version}
%dir %{gem_extdir_mri debug}
%{gem_extdir_mri debug}/gem.build_complete
%dir %{gem_extdir_mri debug}/debug
%{gem_extdir_mri debug}/debug/debug.so
%dir %{gem_instdir debug}
%exclude %{gem_instdir debug}/.*
%doc %{gem_instdir debug}/CONTRIBUTING.md
%{gem_instdir debug}/Gemfile
%license %{gem_instdir debug}/LICENSE.txt
%doc %{gem_instdir debug}/README.md
%{gem_instdir debug}/Rakefile
%doc %{gem_instdir debug}/TODO.md
%{gem_instdir debug}/exe
%{gem_libdir debug}
%{gem_instdir debug}/misc
%{gem_spec debug}
# readline
%dir %{gem_instdir readline}
%license %{gem_instdir readline}/BSDL
%license %{gem_instdir readline}/COPYING
%doc %{gem_instdir readline}/README.md
%{gem_libdir readline}
%{gem_spec readline}
# reline
%dir %{gem_instdir reline}
%license %{gem_instdir reline}/BSDL
%license %{gem_instdir reline}/COPYING
%license %{gem_instdir reline}/license_of_rb-readline
%doc %{gem_instdir reline}/README.md
%{gem_libdir reline}
%{gem_spec reline}
# repl_type_completor
%dir %{gem_instdir repl_type_completor}
%license %{gem_instdir repl_type_completor}/LICENSE.txt
%{gem_libdir repl_type_completor}
%{gem_instdir repl_type_completor}/sig
%exclude %{gem_cache repl_type_completor}
%{gem_spec repl_type_completor}
%{gem_instdir repl_type_completor}/Gemfile
%doc %{gem_instdir repl_type_completor}/README.md
%{gem_instdir repl_type_completor}/Rakefile
# rinda
%dir %{gem_instdir rinda}
%license %{gem_instdir rinda}/LICENSE.txt
%{gem_instdir rinda}/bin
%{gem_libdir rinda}
%{gem_spec rinda}
%{gem_instdir rinda}/Gemfile
%doc %{gem_instdir rinda}/README.md
%{gem_instdir rinda}/Rakefile
# resolv-replace
%dir %{gem_instdir resolv-replace}
%license %{gem_instdir resolv-replace}/LICENSE.txt
%{gem_instdir resolv-replace}/bin
%{gem_libdir resolv-replace}
%{gem_spec resolv-replace}
%{gem_instdir resolv-replace}/Gemfile
%doc %{gem_instdir resolv-replace}/README.md
%{gem_instdir resolv-replace}/Rakefile
# syslog
%dir %{gem_instdir syslog}
%{gem_extdir_mri syslog}
%license %{gem_instdir syslog}/BSDL
%license %{gem_instdir syslog}/COPYING
%{gem_instdir syslog}/bin
%{gem_libdir syslog}
%exclude %{gem_cache syslog}
%{gem_spec syslog}
%{gem_instdir syslog}/Gemfile
%doc %{gem_instdir syslog}/README.md
%{gem_instdir syslog}/Rakefile
# minitest
%{_bindir}/minitest%{major_minor_version}
%dir %{gem_instdir minitest}
%exclude %{gem_instdir minitest}/.*
%{gem_instdir minitest}/Manifest.txt
%{gem_instdir minitest}/design_rationale.rb
%{gem_instdir minitest}/bin
%{gem_libdir minitest}
%{gem_spec minitest}
%doc %{gem_instdir minitest}/History.rdoc
%doc %{gem_instdir minitest}/README.rdoc
%{gem_instdir minitest}/Rakefile
%{gem_instdir minitest}/test
# power_assert
%dir %{gem_instdir power_assert}
%exclude %{gem_instdir power_assert}/.*
%license %{gem_instdir power_assert}/BSDL
%license %{gem_instdir power_assert}/COPYING
%license %{gem_instdir power_assert}/LEGAL
%{gem_libdir power_assert}
%{gem_spec power_assert}
%{gem_instdir power_assert}/Gemfile
%doc %{gem_instdir power_assert}/README.md
%{gem_instdir power_assert}/Rakefile
# rake
%{_bindir}/rake%{major_minor_version}
%{gem_instdir rake}
%{gem_spec rake}
%{_mandir}/man1/rake%{major_minor_version}.1*
# rbs
%{_bindir}/rbs%{major_minor_version}
%dir %{gem_extdir_mri rbs}
%{gem_extdir_mri rbs}/gem.build_complete
%{gem_extdir_mri rbs}/rbs_extension.so
%dir %{gem_instdir rbs}
%license %{gem_instdir rbs}/BSDL
%doc %{gem_instdir rbs}/CHANGELOG.md
%license %{gem_instdir rbs}/COPYING
%doc %{gem_instdir rbs}/README.md
%{gem_instdir rbs}/Rakefile
%{gem_instdir rbs}/Steepfile
%{gem_instdir rbs}/config.yml
%{gem_instdir rbs}/core
%doc %{gem_instdir rbs}/docs
%{gem_instdir rbs}/exe
%{gem_instdir rbs}/goodcheck.yml
%{gem_instdir rbs}/include
%{gem_libdir rbs}
%{gem_instdir rbs}/schema
%{gem_instdir rbs}/sig
%{gem_instdir rbs}/src
%{gem_instdir rbs}/stdlib
%{gem_spec rbs}
# test-unit
%{_bindir}/test-unit%{major_minor_version}
%dir %{gem_instdir test-unit}
%license %{gem_instdir test-unit}/BSDL
%license %{gem_instdir test-unit}/COPYING
%license %{gem_instdir test-unit}/PSFL
%{gem_libdir test-unit}
%{gem_instdir test-unit}/sample
%{gem_instdir test-unit}/bin
%{gem_spec test-unit}
%doc %{gem_instdir test-unit}/README.md
%{gem_instdir test-unit}/Rakefile
%doc %{gem_instdir test-unit}/doc
# racc
%dir %{gem_instdir racc}
%{_bindir}/racc%{major_minor_version}
%{gem_extdir_mri racc}
%license %{gem_instdir racc}/BSDL
%license %{gem_instdir racc}/COPYING
%doc %{gem_instdir racc}/ChangeLog
%lang(ja) %doc %{gem_instdir racc}/README.ja.rdoc
%doc %{gem_instdir racc}/README.rdoc
%doc %{gem_instdir racc}/TODO
%{gem_instdir racc}/bin
%doc %{gem_instdir racc}/doc
%{gem_libdir racc}
%{gem_spec racc}
# rexml
%dir %{gem_instdir rexml}
%license %{gem_instdir rexml}/LICENSE.txt
%doc %{gem_instdir rexml}/NEWS.md
%doc %{gem_instdir rexml}/doc
%{gem_libdir rexml}
%{gem_spec rexml}
%doc %{gem_instdir rexml}/README.md
# rss
%dir %{gem_instdir rss}
%exclude %{gem_instdir rss}/.*
%license %{gem_instdir rss}/LICENSE.txt
%doc %{gem_instdir rss}/NEWS.md
%{gem_libdir rss}
%{gem_spec rss}
%doc %{gem_instdir rss}/README.md
# typeprof
%dir %{gem_instdir typeprof}
%{_bindir}/typeprof%{major_minor_version}
%exclude %{gem_instdir typeprof}/.*
%license %{gem_instdir typeprof}/LICENSE
%{gem_instdir typeprof}/bin
%{gem_instdir typeprof}/typeprof.conf.jsonc
%doc %{gem_instdir typeprof}/doc
%{gem_libdir typeprof}
%{gem_spec typeprof}
%doc %{gem_instdir typeprof}/README.md
%files rubygem-mysql2
%dir %{gem_instdir mysql2}
%{gem_extdir_mri mysql2}
%license %{gem_instdir mysql2}/LICENSE
%doc %{gem_instdir mysql2}/README.md
%doc %{gem_instdir mysql2}/CHANGELOG.md
%{gem_libdir mysql2}
%{gem_spec mysql2}
%exclude %{gem_instdir mysql2}/support
%files rubygem-pg
%dir %{gem_instdir pg}
%{gem_extdir_mri pg}
%{gem_libdir pg}
%{gem_spec pg}
%exclude %{gem_instdir pg}/ports
%license %{gem_instdir pg}/LICENSE
%license %{gem_instdir pg}/BSDL
%license %{gem_instdir pg}/POSTGRES
%doc %{gem_instdir pg}/CHANGELOG.md
%doc %{gem_instdir pg}/README.md
%lang(ja) %doc %{gem_instdir pg}/README.ja.md
%doc %{gem_instdir pg}/README-OS_X.rdoc
%doc %{gem_instdir pg}/README-Windows.rdoc
%doc %{gem_instdir pg}/Contributors.rdoc
%{gem_instdir pg}/Gemfile
%{gem_instdir pg}/Rakefile
%{gem_instdir pg}/certs
%{gem_instdir pg}/misc
%{gem_instdir pg}/rakelib
%{gem_instdir pg}/sample
%files doc -f .ruby-doc.en -f .ruby-doc.ja
%doc README.md
%doc ChangeLog
%{?with_systemtap:%doc ruby-exercise.stp}
%{_datadir}/ri
%files devel
%license BSDL
%license COPYING
%lang(ja) %license COPYING.ja
%license GPL
%license LEGAL
%{_includedir}/*
%{_libdir}/lib%{name_version}.so
%{_libdir}/pkgconfig/%{pkgname}-%{major_minor_version}.pc
%changelog
* Thu Feb 05 2026 Jarek Prokop - 4.0.1-33
- Initial package.
Resolves: RHEL-133550
* Sat Jan 17 2026 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Tue Jan 13 2026 Vít Ondruch - 4.0.1-31
- Upgrade to Ruby 4.0.1.
Resolves: rhbz#2428861
* Fri Jan 02 2026 Jarek Prokop - 4.0.0-30
- Upgrade to Ruby 4.0.0.
Resolves: rhbz#2425358
* Wed Dec 17 2025 Vít Ondruch - 3.4.8-29
- Update to Ruby 3.4.8.
Resolves: rhbz#2422963
Resolves: rhbz#2412227
* Tue Oct 21 2025 Jun Aruga - 3.4.7-28
- Upgrade to Ruby 3.4.7.
Resolves: rhbz#2402422
- Fix URI Credential Leakage Bypass previous fixes.
Resolves: CVE-2025-61594
- Fix REXML denial of service.
Resolves: CVE-2025-58767
* Mon Aug 18 2025 Jarek Prokop - 3.4.5-27
- Upgrade to Ruby 3.4.5.
Resolves: rhbz#2380246
* Fri Jul 25 2025 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 11 2025 Jarek Prokop - 3.4.4-25
- Upgrade to Ruby 3.4.4.
Resolves: rhbz#2359563
* Tue Apr 08 2025 Jun Aruga - 3.4.2-24
- Fix the tests using SHA-1 Probabilistic Signature Scheme (PSS) parameters.
Resolves: rhbz#2358256
* Wed Feb 19 2025 Vít Ondruch - 3.4.2-23
- Upgrade to Ruby 3.4.2.
Resolves: rhbz#2345875
* Sat Feb 01 2025 Björn Esser - 3.4.1-23
- Add explicit BR: libxcrypt-devel
* Fri Jan 24 2025 Jarek Prokop - 3.4.1-22
- Stop including C++ header, it is deprecated since C++17.
Resolves: rhbz#2336567
* Sat Jan 18 2025 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Jan 08 2025 Vít Ondruch - 3.4.1-20
- Re-enable FIPS test cases.
* Thu Jan 02 2025 Vít Ondruch - 3.4.1-19
- Upgrade to Ruby 3.4.1.
Resolves: rhbz#2334047
* Mon Dec 16 2024 Jun Aruga - 3.3.6-18
- Fix Ruby OpenSSL to respect crypto-policies TLS minimal version.
* Wed Nov 20 2024 David Abdurachmanov - 3.3.6-17
- Add riscv64 information for checksec
* Mon Nov 11 2024 Vít Ondruch - 3.3.6-16
- Upgrade to Ruby 3.3.6.
* Fri Sep 13 2024 Vít Ondruch - 3.3.5-15
- Fix Bundler `--local` option
Resolves: rhbz#2311898
* Tue Sep 03 2024 Vít Ondruch - 3.3.5-14
- Upgrade to Ruby 3.3.5.
Resolves: rhbz#2309364
* Mon Jul 29 2024 Jun Aruga - 3.3.4-13
- Add systemtap-sdt-devel to build Ruby with systemtap sdt header files.
Co-authored-by: Lumír Balhar
* Fri Jul 19 2024 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jul 10 2024 Vít Ondruch - 3.3.4-11
- Upgrade to Ruby 3.3.4.
Resolves: rhbz#2292052
* Tue Jun 18 2024 Vít Ondruch - 3.3.2-10
- Make sure hardening configuration flags are correctly applied.
* Thu Jun 06 2024 Vít Ondruch - 3.3.2-9
- Upgrade to Ruby 3.3.2.
Resolves: rhbz#2284020
* Tue May 28 2024 Vít Ondruch - 3.3.1-8
- Adjust the test to updated `checksec` output.
Resolves: rhbz#2282953
- Make sure fortification flags are applied.
* Tue Apr 23 2024 Vít Ondruch - 3.3.1-7
- Upgrade to Ruby 3.3.1.
Resolves: rhbz#2276680
* Fri Apr 12 2024 Vít Ondruch - 3.3.0-6
- Add `bundled` provide for NKF.
- License review and fixes of SPDX syntax.
* Wed Mar 06 2024 Vít Ondruch - 3.3.0-5
- Fix FTBFS caused by OpenSSL 3.2.1 update.
* Fri Jan 26 2024 Jarek Prokop - 3.3.0-4
- Do not set AI_ADDRCONFIG by default when calling getaddrinfo(3).
* Mon Jan 22 2024 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Jan 15 2024 Jarek Prokop - 3.3.0-2
- Fix compiling coroutines with aarch64's branch protection.
* Tue Jan 02 2024 Vít Ondruch - 3.3.0-1
- Upgrade to Ruby 3.3.0.
Resolves: rhbz#2255918
* Thu Nov 09 2023 Jun Aruga - 3.2.2-183
- ssl: use ffdhe2048 from RFC 7919 as the default DH group parameters
* Thu Nov 02 2023 Jarek Prokop - 3.2.2-183
- Fix typo in bundled provide of rubygem-bundler for rubygem-net-http-persistent.
* Wed Sep 20 2023 Jun Aruga - 3.2.2-182
- Fix OpenSSL.fips_mode and OpenSSL::PKey.read in OpenSSL 3 FIPS.
* Fri Jul 21 2023 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Fri Mar 31 2023 Vít Ondruch - 3.2.2-180
- Upgrade to Ruby 3.2.2.
Resolves: rhbz#2183284
* Thu Feb 09 2023 Vít Ondruch - 3.2.1-179
- Upgrade to Ruby 3.2.1.
Resolves: rhbz#2168292
* Fri Jan 20 2023 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jan 05 2023 Vít Ondruch - 3.2.0-177
- Fix ELN FTBFS due to stronger crypto settings.
* Mon Jan 02 2023 Vít Ondruch - 3.2.0-176
- Upgrade to Ruby 3.2.0.
* Thu Dec 22 2022 Yaakov Selkowitz - 3.1.3-175
- Use SHA256 instead of SHA1 where needed in Openssl tests
- Let OpenSSL choose the digest if digest for Openssl::OCSP::BasicResponse#sign is nil
* Wed Dec 21 2022 Vít Ondruch - 3.1.3-174
- Fix for tzdata-2022g.
* Thu Dec 08 2022 Vít Ondruch - 3.1.3-173
- Disable MJIT test cases on i686 due to issues with PCH.
- Fix CGI causing issue with leading '.' in domain names.
* Thu Nov 24 2022 Vít Ondruch - 3.1.3-172
- Upgrade to Ruby 3.1.3.
* Tue Nov 22 2022 Vít Ondruch - 3.1.2-171
- Re-disable package notes. It causes additional issues with installing binary
gems.
* Thu Sep 29 2022 Vít Ondruch - 3.1.2-170
- Re-enable package notes.
* Fri Sep 02 2022 Jarek Prokop - 3.1.2-169
- Disable fiddle tests that use FFI closures.
Related: rhbz#2040380
* Mon Aug 29 2022 Jun Aruga - 3.1.2-168
- Make RDoc soft dependnecy in IRB.
Resolves: rhbz#2119964
- Add IRB to ruby-bundled-gems recommends.
Resolves: rhbz#2120562
* Wed Aug 24 2022 Jun Aruga - 3.1.2-168
- Fix tests with Europe/Amsterdam pre-1970 time on tzdata version 2022b.
Resolves: rhbz#2120354
* Mon Jul 25 2022 Jarek Prokop - 3.1.2-167
- Fix directory permissions in one of the rubygems tests.
* Sat Jul 23 2022 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jun 16 2022 Jarek Prokop - 3.1.2-166
- Detect compaction support during run time.
* Tue Jun 07 2022 Jarek Prokop - 3.1.2-165
- Define GC compaction methods as rb_f_notimplement on unsupported platforms.
* Thu Apr 14 2022 Vít Ondruch - 3.1.2-164
- Upgrade to Ruby 3.1.2.
- Use upstream patch for correct build of gem extensions.
* Mon Apr 04 2022 Vít Ondruch - 3.1.1-163
- Properly build binary gem extensions.
* Mon Mar 14 2022 Vít Ondruch - 3.1.1-162
- Upgrade to Ruby 3.1.1.
* Thu Feb 10 2022 Vít Ondruch - 3.1.0-161
- Prevent segfaults running with SystemTap.
* Wed Jan 26 2022 Vít Ondruch - 3.1.0-160
- Upgrade to Ruby 3.1.0.
* Tue Jan 25 2022 Vít Ondruch - 3.0.3-159
- Update OpenSSL 3 compatibility patches.
* Thu Jan 20 2022 Vít Ondruch - 3.0.3-158
- Disable package notes to prevent rubygem- build breakage.
* Thu Jan 20 2022 Vít Ondruch - 3.0.3-157
- Fix segfault in `TestArray#test_sample` on s390x.
* Tue Jan 11 2022 Jun Aruga - 3.0.3-157
- Remove the patch applied to pass the test/fiddle/test_import.rb on PPC.
* Mon Jan 10 2022 Miro Hrončok - 3.0.3-156
- Rebuilt for https://fedoraproject.org/wiki/Changes/LIBFFI34
* Thu Dec 09 2021 Vít Ondruch - 3.0.3-155
- Fix loading of default gems.
Resolves: rhbz#2027099
* Thu Nov 25 2021 Vít Ondruch - 3.0.3-154
- Upgrade to Ruby 3.0.3.
* Fri Nov 05 2021 Vít Ondruch - 3.0.2-153
- Fix OpenSSL 3.0 compatibility.
Resolves: rhbz#2021922
* Tue Sep 14 2021 Sahana Prasad
- Rebuilt with OpenSSL 3.0.0
* Tue Aug 24 2021 Vít Ondruch - 3.0.2-152
- Enable LTO.
- Load user installed RubyGems plugins.
* Fri Jul 23 2021 Fedora Release Engineering
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 13 2021 Jarek Prokop - 3.0.2-150
- 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
* Mon May 17 2021 Timm Bäder - 3.0.1-149
- Pass ldflags to gem install via CONFIGURE_ARGS
* Tue Apr 06 2021 Vít Ondruch - 3.0.1-148
- Upgrade to Ruby 3.0.1.
* Thu Apr 01 2021 Vít Ondruch - 3.0.0-147
- Remove IRB dependency from rubygem-rdoc.
* 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