From 5ba472e01620ba08187f0d0cb34a9fea1dbcf171 Mon Sep 17 00:00:00 2001 From: Jing Zhang Date: Sat, 15 Apr 2023 18:56:34 +0800 Subject: [PATCH] Refact spec Signed-off-by: Jing Zhang --- ruby.spec | 908 ++++++++++++++++++++---------------------------------- 1 file changed, 337 insertions(+), 571 deletions(-) diff --git a/ruby.spec b/ruby.spec index 64bd526..32fa7b5 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,26 +1,14 @@ -# PLEASE ALWAYS bump release even when upgrading version, as this package is -# producing rubygem packages with different versions other than main package. -%define anolis_release 7 +%define anolis_release 8 %global major_version 3 %global minor_version 1 %global teeny_version 4 %global major_minor_version %{major_version}.%{minor_version} %global ruby_version %{major_minor_version}.%{teeny_version} -%global ruby_release %{ruby_version} %global ruby_archive %{name}-%{ruby_version} - -# 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.3.26 -%global rubygems_molinillo_version 0.7.0 -%global rubygems_optparse_version 0.2.0 -%global rubygems_tsort_version 0.1.0 - # Default gems. %global bundler_version 2.3.26 %global bundler_connection_pool_version 2.3.0 @@ -29,10 +17,17 @@ %global bundler_net_http_persistent_version 4.0.0 %global bundler_thor_version 1.2.1 %global bundler_tmpdir_version 0.1.0 + # TODO: Check the version if/when available in library. %global bundler_tsort_version 0.1.1 %global bundler_uri_version 0.10.2 +# Bundled libraries versions +%global rubygems_version 3.3.26 +%global rubygems_molinillo_version 0.7.0 +%global rubygems_optparse_version 0.2.0 +%global rubygems_tsort_version 0.1.0 + %global bigdecimal_version 3.1.1 %global did_you_mean_version 1.6.1 %global erb_version 2.2.3 @@ -64,6 +59,7 @@ %global tapset_libdir %(echo %{_libdir} | sed 's/64//')* +%bcond_with bundler_tests %bcond_with rubypick %bcond_without cmake @@ -71,235 +67,121 @@ %bcond_without gmp %bcond_without hostname %bcond_without systemtap -# Enable test when building on local. -%bcond_with bundler_tests # The additional linker flags break binary rubygem- packages. %undefine _package_note_flags -Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version} Release: %{anolis_release}%{?dist} -# 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 +Summary: An interpreter of object-oriented scripting language 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 +URL: https://www.%{name}-lang.org/ +Source0: https://cache.%{name}-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 +Source3: %{name}-exercise.stp +Source4: macros.%{name} 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 # Default to aliyun gems mirror Source101: gemrc -# The load directive is supported since RPM 4.12, i.e. F21+. The build process -# fails on older distros. %{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 distros -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 -# 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. -# 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://bugs.ruby-lang.org/issues/18257 -Patch7: ruby-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.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 -# 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 -Patch22: ruby-3.2.0-define-unsupported-gc-compaction-methods-as-rb_f_notimplement.patch -# To regenerate the patch you need to have ruby, autoconf, xz, tar and make installed: -# tar -Jxvf ./ruby-3.1.3.tar.xz -# git clone https://github.com/ruby/ruby.git -# cd ruby && git checkout v3_1_3 -# 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.1.3,ruby}/gc.rbinc > ruby-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch -# diff -u {ruby-3.1.3,ruby}/miniprelude.c >> ruby-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch -Patch23: 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 -Patch24: ruby-3.2.0-Detect-compaction-support-during-runtime.patch -# Drop hard dependency on RDoc in IRB. -# https://github.com/ruby/irb/pull/393 -Patch27: ruby-irb-1.4.1-drop-rdoc-hard-dep.patch -# Set soft dependency on RDoc in input-method.rb in IRB. -# https://github.com/ruby/irb/pull/395 -Patch28: ruby-irb-1.4.1-set-rdoc-soft-dep.patch +Patch0: %{name}-2.3.0-ruby_version.patch +Patch1: %{name}-2.1.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +Patch2: %{name}-2.1.0-Enable-configuration-of-archlibdir.patch +Patch3: %{name}-2.1.0-always-use-i386.patch +Patch4: %{name}-2.1.0-custom-rubygems-location.patch +Patch5: %{name}-2.7.0-Initialize-ABRT-hook.patch +Patch6: %{name}-3.1.0-Don-t-query-RubyVM-FrozenCore-for-class-path.patch +Patch7: %{name}-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch +Patch8: %{name}-3.2.0-define-unsupported-gc-compaction-methods-as-rb_f_notimplement.patch +Patch9: %{name}-3.2.0-define-unsupported-gc-compaction-methods_generated-files.patch +Patch10: %{name}-3.2.0-Detect-compaction-support-during-runtime.patch +Patch11: %{name}-irb-1.4.1-drop-rdoc-hard-dep.patch +Patch12: %{name}-irb-1.4.1-set-rdoc-soft-dep.patch -Requires: %{name}-libs = %{version}-%{release} Suggests: rubypick +Requires: %{name}-libs = %{version}-%{release} Recommends: ruby(rubygems) >= %{rubygems_version} Recommends: rubygem(bigdecimal) >= %{bigdecimal_version} -BuildRequires: autoconf +BuildRequires: autoconf libffi-devel openssl-devel libyaml-devel readline-devel +BuildRequires: procps gcc make zlib-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 %{?with_systemtap:BuildRequires: %{_bindir}/dtrace} -# RubyGems test suite optional dependencies. %{?with_git:BuildRequires: git} %{?with_cmake:BuildRequires: %{_bindir}/cmake} -# Required to test hardening. %{?with_hardening_test:BuildRequires: %{_bindir}/checksec} %{?with_hostname:BuildRequires: %{_bindir}/hostname} -BuildRequires: gcc -BuildRequires: make -BuildRequires: zlib-devel -# 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: %{name}(runtime_executable) = %{ruby_version} %description -Ruby is the interpreted scripting language for quick and easy +The %{name} 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} = %{version}-%{release} -# This would not be needed if ~50 packages depending on -devel used -# --disable-gems -Requires: rubygems -# Users need CFLAGS from system-rpm-config -# for building gems with binary extensions. -Recommends: system-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: ruby(release) = %{ruby_release} +Provides: %{name}(release) = %{ruby_version} -# Virtual provides for CCAN copylibs. -Provides: bundled(ccan-build_assert) -Provides: bundled(ccan-check_type) -Provides: bundled(ccan-container_of) -Provides: bundled(ccan-list) - -# StdLib default gems. +Provides: bundled(ccan-build_assert) bundled(ccan-check_type) +Provides: bundled(ccan-container_of) bundled(ccan-list) Provides: bundled(rubygem-did_you_mean) = %{did_you_mean_version} Provides: bundled(rubygem-openssl) = %{openssl_version} Provides: bundled(rubygem-racc) = %{racc_version} -# Tcl/Tk support was removed from stdlib in Ruby 2.4, i.e. F27 timeframe. -Obsoletes: ruby-tcltk < 2.4.0 - -# The Net::Telnet and XMLRPC were removed in Ruby 2.8, i.e. F34 timeframe. -# https://bugs.ruby-lang.org/issues/16484 -# TODO: Update the versions prior landing in Fedora. -Obsoletes: rubygem-net-telnet < 0.2.0-%{release} +Obsoletes: %{name}-tcltk < 2.4.0 rubygem-net-telnet < 0.2.0-%{release} Obsoletes: rubygem-xmlrpc < 0.3.0-%{release} - %description libs This package includes the libruby, necessary to run Ruby. +%package devel +Summary: A Ruby development environment +Requires: %{name} = %{version}-%{release} +Requires: rubygems +Recommends: system-rpm-config -# TODO: Rename or not rename to ruby-rubygems? -%package -n 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} -# https://github.com/rubygems/rubygems/pull/1189#issuecomment-121600910 -Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} -BuildArch: noarch - -%description -n rubygems -RubyGems is the Ruby standard for publishing and managing third party -libraries. - - -%package -n rubygems-devel -Summary: Macros and development tools for packaging RubyGems -Version: %{rubygems_version} -License: Ruby or MIT -Requires: ruby(rubygems) >= %{version}-%{release} -# Needed for RDoc documentation format generation. -Requires: rubygem(json) >= %{json_version} -Requires: rubygem(rdoc) >= %{rdoc_version} -BuildArch: noarch - -%description -n rubygems-devel -Macros and development tools for packaging RubyGems. +%description devel +Header files and libraries for building an extension library for the +Ruby or an application embedding Ruby. +%package bundled-gems +Summary: Bundled gems which are part of Ruby StdLib +Requires: ruby(rubygems) >= %{rubygems_version} +Recommends: rubygem(irb) >= %{irb_version} +Provides: rubygem(net-ftp) = %{net_ftp_version} +Provides: rubygem(net-imap) = %{net_imap_version} +Provides: rubygem(net-pop) = %{net_pop_version} +Provides: rubygem(net-smtp) = %{net_smtp_version} +Provides: rubygem(matrix) = %{matrix_version} +Provides: rubygem(prime) = %{prime_version} +Provides: rubygem(debug) = %{debug_version} -# Default gems -# -# These packages are part of Ruby StdLib and are expected to be loadable even -# with disabled RubyGems. +%description bundled-gems +Bundled gems which are part of Ruby StdLib. While being part of Ruby, these +needs to be listed in Gemfile to be used by Bundler. %package default-gems Summary: Default gems which are part of Ruby StdLib Requires: ruby(rubygems) >= %{rubygems_version} Supplements: ruby(rubygems) -# Include the io-console dependency for reline. Requires: 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 -# Obsoleted by Ruby 3.0 in F34 timeframe. Obsoletes: rubygem-openssl < 2.2.0-145 Provides: rubygem(openssl) = %{openssl_version}-%{release} Provides: rubygem(stringio) = %{stringio_version} @@ -309,65 +191,30 @@ BuildArch: noarch The .gemspec files and executables of default gems, which are part of Ruby StdLib. - -%package -n rubygem-irb -Summary: The Interactive Ruby -Version: %{irb_version} -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -# ruby-default-gems is required to run irb. -# https://bugs.ruby-lang.org/issues/16951 -Requires: ruby-default-gems >= %{ruby_version} +%package -n rubygems +Summary: The Ruby standard for packaging %{name} libraries +Version: %{rubygems_version} +License: Ruby or MIT +Requires: %{name}(release) +Recommends: rubygem(bundler) >= %{bundler_version} Recommends: rubygem(rdoc) >= %{rdoc_version} -Provides: irb = %{version}-%{release} -Provides: 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} -BuildArch: noarch - -%description -n rubygem-irb -The irb is acronym for Interactive Ruby. It evaluates ruby expression -from the terminal. - - -%package -n 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} +Recommends: rubygem(io-console) >= %{io_console_version} Requires: rubygem(psych) >= %{psych_version} -Provides: rdoc = %{version}-%{release} -Provides: ri = %{version}-%{release} -Provides: rubygem(rdoc) = %{version}-%{release} -BuildArch: noarch - -%description -n 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 +Provides: gem = %{version}-%{release} +Provides: %{name}(rubygems) = %{version}-%{release} +Provides: bundled(rubygem-molinillo) = %{rubygems_molinillo_version} BuildArch: noarch -%description doc -This package contains documentation for %{name}. - +%description -n rubygems +RubyGems is the Ruby standard for publishing and managing third party +libraries. %package -n 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} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(bigdecimal) = %{version}-%{release} %description -n rubygem-bigdecimal @@ -382,60 +229,14 @@ 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 -n 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} - -%description -n 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 -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} - -%description -n 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 -Summary: A libyaml wrapper for Ruby -Version: %{psych_version} -License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} -Requires: rubygem(stringio) >= %{stringio_version} -Provides: rubygem(psych) = %{version}-%{release} - -%description -n rubygem-psych -Psych is a YAML parser and emitter. Psych leverages -libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting -capabilities. In addition to wrapping libyaml, Psych also knows how to -serialize and de-serialize most Ruby objects to and from the YAML format. - - %package -n rubygem-bundler Summary: Library and utilities to manage a Ruby application's gem dependencies Version: %{bundler_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Requires: rubygem(io-console) Provides: 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} @@ -449,36 +250,67 @@ BuildArch: noarch Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably. +%package -n rubygems-devel +Summary: Macros and development tools for packaging RubyGems +Version: %{rubygems_version} +License: Ruby or MIT +Requires: %{name}(rubygems) >= %{version}-%{release} +Requires: rubygem(json) >= %{json_version} +Requires: rubygem(rdoc) >= %{rdoc_version} +BuildArch: noarch -# Bundled gems -# -# These are regular packages, which might be installed just optionally. Users -# should list them among their dependencies (in Gemfile). +%description -n rubygems-devel +Macros and development tools for packaging RubyGems. -%package bundled-gems -Summary: Bundled gems which are part of Ruby StdLib +%package -n rubygem-irb +Summary: The Interactive Ruby +Version: %{irb_version} +Requires: %{name}(release) Requires: ruby(rubygems) >= %{rubygems_version} -# Runtime dependency of rubygem(debug). -Recommends: rubygem(irb) >= %{irb_version} -Provides: rubygem(net-ftp) = %{net_ftp_version} -Provides: rubygem(net-imap) = %{net_imap_version} -Provides: rubygem(net-pop) = %{net_pop_version} -Provides: rubygem(net-smtp) = %{net_smtp_version} -Provides: rubygem(matrix) = %{matrix_version} -Provides: rubygem(prime) = %{prime_version} -Provides: rubygem(debug) = %{debug_version} +Requires: ruby-default-gems >= %{ruby_version} +Recommends: rubygem(rdoc) >= %{rdoc_version} +Provides: irb = %{version}-%{release} +Provides: rubygem(irb) = %{version}-%{release} +Provides: %{name}(irb) = %{ruby_version}-%{release} +Provides: %{name}-irb = %{ruby_version}-%{release} +Obsoletes: %{name}-irb < %{ruby_version}-%{release} +BuildArch: noarch -%description bundled-gems -Bundled gems which are part of Ruby StdLib. While being part of Ruby, these -needs to be listed in Gemfile to be used by Bundler. +%description -n rubygem-irb +The irb is acronym for Interactive Ruby. It evaluates ruby expression +from the terminal. + +%package -n rubygem-io-console +Summary: IO/Console is a simple console utilizing library +Version: %{io_console_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} +Provides: rubygem(io-console) = %{version}-%{release} + +%description -n 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 +Summary: This is a JSON implementation as a Ruby extension in C +Version: %{json_version} +License: (Ruby or GPLv2) and UCD +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} +Provides: rubygem(json) = %{version}-%{release} +%description -n 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-minitest Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(minitest) = %{version}-%{release} BuildArch: noarch @@ -496,13 +328,12 @@ framework. minitest/pride shows pride in testing and adds coloring to your test output. - %package -n rubygem-power_assert Summary: Power Assert for Ruby Version: %{power_assert_version} License: Ruby or BSD -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(power_assert) = %{version}-%{release} BuildArch: noarch @@ -511,13 +342,46 @@ 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-psych +Summary: A libyaml wrapper for Ruby +Version: %{psych_version} +License: MIT +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} +Requires: rubygem(stringio) >= %{stringio_version} +Provides: rubygem(psych) = %{version}-%{release} + +%description -n rubygem-psych +Psych is a YAML parser and emitter. Psych leverages +libyaml[http://pyyaml.org/wiki/LibYAML] for its YAML parsing and emitting +capabilities. In addition to wrapping libyaml, Psych also knows how to +serialize and de-serialize most Ruby objects to and from the YAML format. + +%package -n rubygem-rdoc +Summary: A tool to generate HTML and command-line documentation for Ruby projects +Version: %{rdoc_version} +License: GPLv2 and Ruby and MIT and OFL +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} +Requires: rubygem(io-console) >= %{io_console_version} +Requires: rubygem(json) >= %{json_version} +Requires: rubygem(psych) >= %{psych_version} +Provides: rdoc = %{version}-%{release} +Provides: ri = %{version}-%{release} +Provides: rubygem(rdoc) = %{version}-%{release} +BuildArch: noarch + +%description -n 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 -n rubygem-rake Summary: Ruby based make-like utility Version: %{rake_version} License: MIT -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rake = %{version}-%{release} Provides: rubygem(rake) = %{version}-%{release} BuildArch: noarch @@ -526,46 +390,25 @@ BuildArch: noarch Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. - %package -n rubygem-rbs Summary: Type signature for Ruby Version: %{rbs_version} License: Ruby or BSD -Requires: ruby(release) -Requires: ruby(rubygems) >= %{rubygems_version} +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(rbs) = %{version}-%{release} %description -n rubygem-rbs RBS is the language for type signatures for Ruby and standard library definitions. - -%package -n rubygem-test-unit -Summary: An xUnit family unit testing framework for Ruby -Version: %{test_unit_version} -# 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} -BuildArch: noarch - -%description -n 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 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} +URL: https://github.com/%{name}/rexml +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(rexml) = %{version}-%{release} BuildArch: noarch @@ -585,9 +428,9 @@ features such as XPath. 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} +URL: https://github.com/%{name}/rss +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Provides: rubygem(rss) = %{version}-%{release} BuildArch: noarch @@ -602,9 +445,9 @@ to read and create these feeds. 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} +URL: https://github.com/%{name}/typeprof +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} Requires: rubygem(rbs) >= %{rbs_version} Provides: rubygem(typeprof) = %{version}-%{release} BuildArch: noarch @@ -616,29 +459,37 @@ 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. +%package -n rubygem-test-unit +Summary: An xUnit family unit testing framework for Ruby +Version: %{test_unit_version} +License: (Ruby or BSD) and (Ruby or BSD or Python) and (Ruby or BSD or LGPLv2+) +Requires: %{name}(release) +Requires: %{name}(rubygems) >= %{rubygems_version} +Requires: rubygem(power_assert) +Provides: rubygem(test-unit) = %{version}-%{release} +BuildArch: noarch + +%description -n 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 doc +Summary: Documentation for %{name} +Requires: %{_bindir}/ri +BuildArch: noarch + +%description doc +This package contains documentation for %{name}. + %prep -%setup -q -n %{ruby_archive} +%autosetup -n %{ruby_archive} -p1 -# 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 -%patch6 -p1 -%patch7 -p1 -%patch19 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch27 -p1 -%patch28 -p1 - -# Provide an example of usage of the tapset: cp -a %{SOURCE3} . %build @@ -665,23 +516,14 @@ autoconf --with-ruby-version='' \ --enable-multiarch \ -# V=1 in %%make_build outputs the compiler options more verbosely. -# https://bugs.ruby-lang.org/issues/18756 %make_build COPY="cp -p" %install %make_install -# TODO: Regenerate RBS parser in lib/rbs/parser.rb - -# Rename the ruby executable. It is replaced by RubyPick. %{?with_rubypick:mv %{buildroot}%{_bindir}/%{name}{,-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 -# Kill bundled certificates, as they should be part of ca-certificates. for cert in \ rubygems.org/GlobalSignRootCA.pem \ rubygems.org/GlobalSignRootCA_R3.pem @@ -689,45 +531,31 @@ 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}/%{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 -# 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} -# 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/%{name} -# 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}/'{}' \; @@ -747,8 +575,6 @@ mv %{buildroot}%{gem_dir}/specifications/default/bigdecimal-%{bigdecimal_version 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 -# 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 @@ -783,29 +609,21 @@ ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych %{buildroot}%{ruby_libdir ln -s %{gem_dir}/gems/psych-%{psych_version}/lib/psych.rb %{buildroot}%{ruby_libdir}/psych.rb ln -s %{_libdir}/gems/%{name}/psych-%{psych_version}/psych.so %{buildroot}%{ruby_libarchdir}/psych.so -# 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}/ \; \ || 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_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 -# Install gemrc into /etc install -m0644 -p -D %{SOURCE101} %{buildroot}%{_sysconfdir}/gemrc %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 @@ -813,7 +631,6 @@ sed -e "s|@LIBRARY_PATH@|%{tapset_libdir}/libruby.so.%{major_minor_version}|" \ 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 echo 'doc/syntax' >> .ruby-doc.en @@ -825,8 +642,6 @@ 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 @@ -836,19 +651,14 @@ 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}' ] -# OptParse. make runruby TESTRUN_SCRIPT="-e \" \ module Gem; end; \ require 'rubygems/optparse/lib/optparse'; \ @@ -857,39 +667,28 @@ make runruby TESTRUN_SCRIPT="-e \" \ exit 1 if Gem::OptionParser::Version != '%{rubygems_optparse_version}'; \ \"" -# tsort -# TODO: Provide some real version test if version is available. make runruby TESTRUN_SCRIPT="-e \" \ module Gem; end;\ require 'rubygems/tsort/lib/tsort'\"" -# 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. -# Require `rubygems` to workaround the `': uninitialized -# constant Gem (NameError) issue. -# https://github.com/rubygems/rubygems/issues/5119 [ "`make runruby TESTRUN_SCRIPT=\"-rrubygems -e \\\" \ module Bundler; module Persistent; module Net; module HTTP; \ end; end; end; end; \ @@ -897,59 +696,38 @@ make runruby TESTRUN_SCRIPT="-e \" \ 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}" -# Check if systemtap is supported. %{?with_systemtap:make runruby TESTRUN_SCRIPT=%{SOURCE14}} DISABLE_TESTS="" MSPECOPTS="" -# Avoid `hostname' dependency. %{!?with_hostname:MSPECOPTS="-P 'Socket.gethostname returns the host name'"} - -# Several test broken by libffi-3.4.2. There should be fix in libffi, once -# other components are fixed. mv test/fiddle/test_import.rb{,.disable} mv test/fiddle/test_closure.rb{,.disable} DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunc#test_qsort1/" DISABLE_TESTS="$DISABLE_TESTS -n !/Fiddle::TestFunction#test_argument_count/" DISABLE_TESTS="$DISABLE_TESTS -n !/TestResolvAddr#test_valid_socket_ip_address_list/" -# Do not test bug19529 under aarch64 (2023-04-05 an23) -# It produces "NotImplementedError: Compaction isn't available on this platform" %ifarch aarch64 DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %endif -# Give an option to increase the timeout in tests. -# https://bugs.ruby-lang.org/issues/16921 %{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" @@ -961,40 +739,21 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %lang(ja) %license COPYING.ja %license GPL %license LEGAL -%{_bindir}/erb -%{_bindir}/%{name}%{?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/%{name}.pc +%{_bindir}/erb +%{_bindir}/%{name}%{?with_rubypick:-mri} +%{_mandir}/man1/erb* +%{_mandir}/man1/%{name}* %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* @@ -1061,7 +820,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{ruby_libdir}/weakref* %{ruby_libdir}/yaml* -# Platform specific libraries. %{_libdir}/libruby.so.{%{major_minor_version},%{ruby_version}} %dir %{ruby_libarchdir} %dir %{ruby_libarchdir}/cgi @@ -1171,6 +929,19 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{?with_systemtap:%{_systemtap_datadir}} +%files devel +%license BSDL +%license COPYING +%lang(ja) %license COPYING.ja +%license GPL +%license LEGAL + +%{_rpmconfigdir}/macros.d/macros.%{name} + +%{_includedir}/* +%{_libdir}/libruby.so +%{_libdir}/pkgconfig/%{name}.pc + %files -n rubygems %{_bindir}/gem %config(noreplace) %{_sysconfdir}/gemrc @@ -1178,8 +949,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{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 @@ -1201,6 +970,85 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{_rpmconfigdir}/rubygems.prov %{_rpmconfigdir}/rubygems.con +%files -n rubygem-bigdecimal +%{ruby_libdir}/bigdecimal* +%{ruby_libarchdir}/bigdecimal* +%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} +%{gem_dir}/gems/bigdecimal-%{bigdecimal_version} +%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec + +%files -n 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 bundled-gems +%{_bindir}/rdbg +%dir %{_libdir}/gems/%{name}/debug-%{debug_version} +%{_libdir}/gems/%{name}/debug-%{debug_version}/gem.build_complete +%dir %{_libdir}/gems/%{name}/debug-%{debug_version}/debug +%{_libdir}/gems/%{name}/debug-%{debug_version}/debug/debug.so +%dir %{gem_dir}/gems/debug-%{debug_version} +%exclude %{gem_dir}/gems/debug-%{debug_version}/.* +%doc %{gem_dir}/gems/debug-%{debug_version}/CONTRIBUTING.md +%{gem_dir}/gems/debug-%{debug_version}/Gemfile +%license %{gem_dir}/gems/debug-%{debug_version}/LICENSE.txt +%doc %{gem_dir}/gems/debug-%{debug_version}/README.md +%{gem_dir}/gems/debug-%{debug_version}/Rakefile +%doc %{gem_dir}/gems/debug-%{debug_version}/TODO.md +%{gem_dir}/gems/debug-%{debug_version}/exe +%{gem_dir}/gems/debug-%{debug_version}/lib +%{gem_dir}/gems/debug-%{debug_version}/misc +%{gem_dir}/specifications/debug-%{debug_version}.gemspec + +%dir %{gem_dir}/gems/net-ftp-%{net_ftp_version} +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Gemfile +%license %{gem_dir}/gems/net-ftp-%{net_ftp_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-ftp-%{net_ftp_version}/README.md +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Rakefile +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/bin +%{gem_dir}/gems/net-ftp-%{net_ftp_version}/lib +%{gem_dir}/specifications/net-ftp-%{net_ftp_version}.gemspec + +%dir %{gem_dir}/gems/net-imap-%{net_imap_version} +%{gem_dir}/gems/net-imap-%{net_imap_version}/Gemfile +%license %{gem_dir}/gems/net-imap-%{net_imap_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-imap-%{net_imap_version}/README.md +%{gem_dir}/gems/net-imap-%{net_imap_version}/Rakefile +%{gem_dir}/gems/net-imap-%{net_imap_version}/lib +%{gem_dir}/specifications/net-imap-%{net_imap_version}.gemspec + +%dir %{gem_dir}/gems/net-pop-%{net_pop_version} +%{gem_dir}/gems/net-pop-%{net_pop_version}/Gemfile +%license %{gem_dir}/gems/net-pop-%{net_pop_version}/LICENSE.txt +%doc %{gem_dir}/gems/net-pop-%{net_pop_version}/README.md +%{gem_dir}/gems/net-pop-%{net_pop_version}/Rakefile +%{gem_dir}/gems/net-pop-%{net_pop_version}/bin +%{gem_dir}/gems/net-pop-%{net_pop_version}/lib +%{gem_dir}/specifications/net-pop-%{net_pop_version}.gemspec + +%dir %{gem_dir}/gems/net-smtp-%{net_smtp_version} +%license %{gem_dir}/gems/net-smtp-%{net_smtp_version}/LICENSE.txt +%{gem_dir}/gems/net-smtp-%{net_smtp_version}/lib +%{gem_dir}/specifications/net-smtp-%{net_smtp_version}.gemspec + +%dir %{gem_dir}/gems/matrix-%{matrix_version} +%license %{gem_dir}/gems/matrix-%{matrix_version}/LICENSE.txt +%{gem_dir}/gems/matrix-%{matrix_version}/lib +%{gem_dir}/specifications/matrix-%{matrix_version}.gemspec + +%dir %{gem_dir}/gems/prime-%{prime_version} +%{gem_dir}/gems/prime-%{prime_version}/Gemfile +%license %{gem_dir}/gems/prime-%{prime_version}/LICENSE.txt +%doc %{gem_dir}/gems/prime-%{prime_version}/README.md +%{gem_dir}/gems/prime-%{prime_version}/Rakefile +%{gem_dir}/gems/prime-%{prime_version}/bin +%{gem_dir}/gems/prime-%{prime_version}/lib +%{gem_dir}/specifications/prime-%{prime_version}.gemspec + %files default-gems %{gem_dir}/specifications/default/abbrev-0.1.0.gemspec %{gem_dir}/specifications/default/base64-0.1.1.gemspec @@ -1265,42 +1113,10 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{gem_dir}/specifications/default/weakref-0.1.1.gemspec %{gem_dir}/specifications/default/yaml-0.2.0.gemspec %{gem_dir}/specifications/default/zlib-2.1.1.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 -n 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 -%{_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 -n rubygem-bigdecimal -%{ruby_libdir}/bigdecimal* -%{ruby_libarchdir}/bigdecimal* -%{_libdir}/gems/%{name}/bigdecimal-%{bigdecimal_version} -%{gem_dir}/gems/bigdecimal-%{bigdecimal_version} -%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec - %files -n rubygem-io-console %{ruby_libdir}/io %{ruby_libarchdir}/io/console.so @@ -1308,6 +1124,13 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{gem_dir}/gems/io-console-%{io_console_version} %{gem_dir}/specifications/io-console-%{io_console_version}.gemspec +%files -n 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-json %{ruby_libdir}/json* %{ruby_libarchdir}/json* @@ -1315,86 +1138,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{gem_dir}/gems/json-%{json_version} %{gem_dir}/specifications/json-%{json_version}.gemspec -%files -n rubygem-psych -%{ruby_libdir}/psych -%{ruby_libdir}/psych.rb -%{ruby_libarchdir}/psych.so -%{_libdir}/gems/%{name}/psych-%{psych_version} -%dir %{gem_dir}/gems/psych-%{psych_version} -%{gem_dir}/gems/psych-%{psych_version}/lib -%{gem_dir}/specifications/psych-%{psych_version}.gemspec - -%files -n 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 bundled-gems -%{_bindir}/rdbg -%dir %{_libdir}/gems/%{name}/debug-%{debug_version} -%{_libdir}/gems/%{name}/debug-%{debug_version}/gem.build_complete -%dir %{_libdir}/gems/%{name}/debug-%{debug_version}/debug -%{_libdir}/gems/%{name}/debug-%{debug_version}/debug/debug.so -%dir %{gem_dir}/gems/debug-%{debug_version} -%exclude %{gem_dir}/gems/debug-%{debug_version}/.* -%doc %{gem_dir}/gems/debug-%{debug_version}/CONTRIBUTING.md -%{gem_dir}/gems/debug-%{debug_version}/Gemfile -%license %{gem_dir}/gems/debug-%{debug_version}/LICENSE.txt -%doc %{gem_dir}/gems/debug-%{debug_version}/README.md -%{gem_dir}/gems/debug-%{debug_version}/Rakefile -%doc %{gem_dir}/gems/debug-%{debug_version}/TODO.md -%{gem_dir}/gems/debug-%{debug_version}/exe -%{gem_dir}/gems/debug-%{debug_version}/lib -%{gem_dir}/gems/debug-%{debug_version}/misc -%{gem_dir}/specifications/debug-%{debug_version}.gemspec - -%dir %{gem_dir}/gems/net-ftp-%{net_ftp_version} -%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Gemfile -%license %{gem_dir}/gems/net-ftp-%{net_ftp_version}/LICENSE.txt -%doc %{gem_dir}/gems/net-ftp-%{net_ftp_version}/README.md -%{gem_dir}/gems/net-ftp-%{net_ftp_version}/Rakefile -%{gem_dir}/gems/net-ftp-%{net_ftp_version}/bin -%{gem_dir}/gems/net-ftp-%{net_ftp_version}/lib -%{gem_dir}/specifications/net-ftp-%{net_ftp_version}.gemspec - -%dir %{gem_dir}/gems/net-imap-%{net_imap_version} -%{gem_dir}/gems/net-imap-%{net_imap_version}/Gemfile -%license %{gem_dir}/gems/net-imap-%{net_imap_version}/LICENSE.txt -%doc %{gem_dir}/gems/net-imap-%{net_imap_version}/README.md -%{gem_dir}/gems/net-imap-%{net_imap_version}/Rakefile -%{gem_dir}/gems/net-imap-%{net_imap_version}/lib -%{gem_dir}/specifications/net-imap-%{net_imap_version}.gemspec - -%dir %{gem_dir}/gems/net-pop-%{net_pop_version} -%{gem_dir}/gems/net-pop-%{net_pop_version}/Gemfile -%license %{gem_dir}/gems/net-pop-%{net_pop_version}/LICENSE.txt -%doc %{gem_dir}/gems/net-pop-%{net_pop_version}/README.md -%{gem_dir}/gems/net-pop-%{net_pop_version}/Rakefile -%{gem_dir}/gems/net-pop-%{net_pop_version}/bin -%{gem_dir}/gems/net-pop-%{net_pop_version}/lib -%{gem_dir}/specifications/net-pop-%{net_pop_version}.gemspec - -%dir %{gem_dir}/gems/net-smtp-%{net_smtp_version} -%license %{gem_dir}/gems/net-smtp-%{net_smtp_version}/LICENSE.txt -%{gem_dir}/gems/net-smtp-%{net_smtp_version}/lib -%{gem_dir}/specifications/net-smtp-%{net_smtp_version}.gemspec - -%dir %{gem_dir}/gems/matrix-%{matrix_version} -%license %{gem_dir}/gems/matrix-%{matrix_version}/LICENSE.txt -%{gem_dir}/gems/matrix-%{matrix_version}/lib -%{gem_dir}/specifications/matrix-%{matrix_version}.gemspec - -%dir %{gem_dir}/gems/prime-%{prime_version} -%{gem_dir}/gems/prime-%{prime_version}/Gemfile -%license %{gem_dir}/gems/prime-%{prime_version}/LICENSE.txt -%doc %{gem_dir}/gems/prime-%{prime_version}/README.md -%{gem_dir}/gems/prime-%{prime_version}/Rakefile -%{gem_dir}/gems/prime-%{prime_version}/bin -%{gem_dir}/gems/prime-%{prime_version}/lib -%{gem_dir}/specifications/prime-%{prime_version}.gemspec %files -n rubygem-minitest %dir %{gem_dir}/gems/minitest-%{minitest_version} @@ -1420,6 +1163,22 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %doc %{gem_dir}/gems/power_assert-%{power_assert_version}/README.md %{gem_dir}/gems/power_assert-%{power_assert_version}/Rakefile +%files -n rubygem-psych +%{ruby_libdir}/psych +%{ruby_libdir}/psych.rb +%{ruby_libarchdir}/psych.so +%{_libdir}/gems/%{name}/psych-%{psych_version} +%dir %{gem_dir}/gems/psych-%{psych_version} +%{gem_dir}/gems/psych-%{psych_version}/lib +%{gem_dir}/specifications/psych-%{psych_version}.gemspec + +%files -n rubygem-rdoc +%{_bindir}/rdoc +%{_bindir}/ri +%{gem_dir}/gems/rdoc-%{rdoc_version} +%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec +%{_mandir}/man1/ri* + %files -n rubygem-rake %{_bindir}/rake %{gem_dir}/gems/rake-%{rake_version} @@ -1451,18 +1210,6 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %{gem_dir}/gems/rbs-%{rbs_version}/steep %{gem_dir}/specifications/rbs-%{rbs_version}.gemspec -%files -n rubygem-test-unit -%dir %{gem_dir}/gems/test-unit-%{test_unit_version} -%license %{gem_dir}/gems/test-unit-%{test_unit_version}/BSDL -%license %{gem_dir}/gems/test-unit-%{test_unit_version}/COPYING -%license %{gem_dir}/gems/test-unit-%{test_unit_version}/PSFL -%{gem_dir}/gems/test-unit-%{test_unit_version}/lib -%{gem_dir}/gems/test-unit-%{test_unit_version}/sample -%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec -%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/README.md -%{gem_dir}/gems/test-unit-%{test_unit_version}/Rakefile -%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/doc - %files -n rubygem-rexml %dir %{gem_dir}/gems/rexml-%{rexml_version} %license %{gem_dir}/gems/rexml-%{rexml_version}/LICENSE.txt @@ -1498,8 +1245,27 @@ DISABLE_TESTS="$DISABLE_TESTS -n !/TestWeakMap#test_compaction_bug_19529/" %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/README.md %doc %{gem_dir}/gems/typeprof-%{typeprof_version}/Rakefile +%files -n rubygem-test-unit +%dir %{gem_dir}/gems/test-unit-%{test_unit_version} +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/BSDL +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/COPYING +%license %{gem_dir}/gems/test-unit-%{test_unit_version}/PSFL +%{gem_dir}/gems/test-unit-%{test_unit_version}/lib +%{gem_dir}/gems/test-unit-%{test_unit_version}/sample +%{gem_dir}/specifications/test-unit-%{test_unit_version}.gemspec +%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/README.md +%{gem_dir}/gems/test-unit-%{test_unit_version}/Rakefile +%doc %{gem_dir}/gems/test-unit-%{test_unit_version}/doc + +%files doc -f .ruby-doc.en -f .ruby-doc.ja +%doc README.md ChangeLog NEWS.md +%{?with_systemtap:%doc ruby-exercise.stp} +%{_datadir}/ri %changelog +* Sat Apr 15 2023 Jing Zhang - 3.1.4-8 +- Refact spec + * Wed Apr 05 2023 Funda Wang - 3.1.4-7 - New version 3.1.4 - Default to use aliyun gems mirror -- Gitee