From b83dd88d265ab04d78f99bfc9cd43163c95aac52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 21 Dec 2023 13:03:00 +0100 Subject: [PATCH] Add bundled provides on multiple places These libraries are released on their own release cycle and Ruby bundles them. It is not always obvious if Ruby is upstream or the independent project is upstream, but better to have more bundled provides to be sure we don't ship vulnerable code. --- ruby.spec | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ruby.spec b/ruby.spec index 6c493b7..6da0ff6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -347,6 +347,7 @@ Recommends: rubygem(io-console) Requires: rubygem(psych) >= %{psych_version} Provides: gem = %{version}-%{release} Provides: ruby(rubygems) = %{version}-%{release} +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} @@ -401,6 +402,7 @@ Summary: The Interactive Ruby Version: %{irb_version} License: Ruby OR BSD-2-Clause Provides: irb = %{version}-%{release} +Provides: bundled(rubygem-irb) = %{irb_version} # Obsoleted by Ruby 2.6 in F30 timeframe. Provides: ruby(irb) = %{ruby_version}%{?development_release}-%{release} Provides: ruby-irb = %{ruby_version}%{?development_release}-%{release} @@ -427,6 +429,7 @@ Requires: rubygem(io-console) Requires: rubygem(json) >= %{json_version} Provides: rdoc = %{version}-%{release} Provides: ri = %{version}-%{release} +Provides: bundled(rubygem-rdoc) = %{rdoc_version} BuildArch: noarch %description -n rubygem-rdoc @@ -448,6 +451,7 @@ This package contains documentation for %{name}. Summary: BigDecimal provides arbitrary-precision floating point decimal arithmetic Version: %{bigdecimal_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-bigdecimal) = %{bigdecimal_version} %description -n rubygem-bigdecimal Ruby provides built-in support for arbitrary precision integer arithmetic. @@ -466,6 +470,7 @@ conversion between base 10 and base 2. Summary: IO/Console is a simple console utilizing library Version: %{io_console_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-io-console) = %{io_console_version} %description -n rubygem-io-console IO/Console provides very simple and portable access to console. It doesn't @@ -477,6 +482,7 @@ Summary: This is a JSON implementation as a Ruby extension in C Version: %{json_version} # Unicode-DFS-2015: ext/json/ext/generator/generator.c License: (Ruby OR BSD-2-Clause) AND Unicode-DFS-2015 +Provides: bundled(rubygem-json) = %{json_version} %description -n rubygem-json This is a implementation of the JSON specification according to RFC 4627. @@ -489,6 +495,7 @@ markup language. Summary: A libyaml wrapper for Ruby Version: %{psych_version} License: MIT +Provides: bundled(rubygem-psych) = %{psych_version} %description -n rubygem-psych Psych is a YAML parser and emitter. Psych leverages @@ -512,6 +519,7 @@ Version: %{bundler_version} # lib/rubygems/resolver/molinillo License: MIT AND (Ruby OR BSD-2-Clause) Requires: rubygem(io-console) +Provides: bundled(rubygem-bundler) = %{bundler_version} # https://github.com/bundler/bundler/issues/3647 Provides: bundled(rubygem-connection_pool) = %{bundler_connection_pool_version} Provides: bundled(rubygem-fileutils) = %{bundler_fileutils_version} @@ -550,6 +558,7 @@ needs to be listed in Gemfile to be used by Bundler. Summary: Minitest provides a complete suite of testing facilities Version: %{minitest_version} License: MIT +Provides: bundled(rubygem-minitest) = %{minitest_version} BuildArch: noarch %description -n rubygem-minitest @@ -571,6 +580,7 @@ output. Summary: Power Assert for Ruby Version: %{power_assert_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-power_assert) = %{power_assert_version} BuildArch: noarch %description -n rubygem-power_assert @@ -584,6 +594,7 @@ Summary: Ruby based make-like utility Version: %{rake_version} License: MIT Provides: rake = %{version}-%{release} +Provides: bundled(rubygem-rake) = %{rake_version} BuildArch: noarch %description -n rubygem-rake @@ -595,6 +606,7 @@ specified in standard Ruby syntax. Summary: Type signature for Ruby Version: %{rbs_version} License: Ruby OR BSD-2-Clause +Provides: bundled(rubygem-rbs) = %{rbs_version} %description -n rubygem-rbs RBS is the language for type signatures for Ruby and standard library @@ -606,6 +618,7 @@ 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. License: (Ruby OR BSD-2-Clause) AND (Ruby OR BSD-2-Clause OR Python-2.0.1) +Provides: bundled(rubygem-test-unit) = %{test_unit_version} BuildArch: noarch %description -n rubygem-test-unit @@ -632,6 +645,7 @@ Summary: An XML toolkit for Ruby Version: %{rexml_version} License: BSD-2-Clause URL: https://github.com/ruby/rexml +Provides: bundled(rubygem-rexml) = %{rexml_version} BuildArch: noarch %description -n rubygem-rexml @@ -651,6 +665,7 @@ Summary: Family of libraries that support various formats of XML "feeds" Version: %{rss_version} License: BSD-2-Clause URL: https://github.com/ruby/rss +Provides: bundled(rubygem-rss) = %{rss_version} BuildArch: noarch %description -n rubygem-rss @@ -665,6 +680,7 @@ Summary: TypeProf is a type analysis tool for Ruby code based on abstract int Version: %{typeprof_version} License: MIT URL: https://github.com/ruby/typeprof +Provides: bundled(rubygem-typeprof) = %{typeprof_version} BuildArch: noarch %description -n rubygem-typeprof