Provides in packages?

Ken Dreyer ktdreyer at ktdreyer.com
Tue Jan 6 15:53:01 UTC 2015


On Tue, Jan 6, 2015 at 7:03 AM, Dominic Cleal <dcleal at redhat.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 06/01/15 13:53, Darryl L. Pierce wrote:
>> Have we decided to eliminate:
>>
>> Provides: rubygem(%{name}) = %{version}
>>
>> from the specfiles? I have an update for a gem I maintain and
>> rpmlint is complaining that the line is redundant. Maybe I missed
>> where we announced that such things are no longer needed in Ruby
>> gem packages?
>
> Yes, they're no longer needed from F21 onwards as they're
> auto-generated at build time.  (See contents of rubygems-devel.)
>
> https://fedoraproject.org/wiki/Packaging:Ruby?rd=Packaging/Ruby#RubyGems
> https://fedorahosted.org/fpc/ticket/409
>
> Remember to keep them for EPEL and pre-F21 releases - I've come across
> a few instances recently (in and outside of Fedora) where they've been
> removed on older branches and builds.

Here's the changes I've been making to my gems as I have time:

Change

  Provides: rubygem(%{gem_name}) = %{version}

to

  %if 0%{?fc19} || 0%{?fc20} || 0%{?el7}
  Provides: rubygem(%{gem_name}) = %{version}
  %endif

And then as each Fedora release goes EOL (F19 is coming up soon), I
remove the individual dist tags.

I've been wrapping the explicit Requires (such as Requires:
ruby(release), Requires: ruby(rubygems), etc) with a similar dist tag
conditional, since these should no longer be explicitly listed in the
gem .spec file either.

- Ken


More information about the ruby-sig mailing list