Fitting most of supported Fedora/EPEL versions in a single spec
František Dvořák
valtri at civ.zcu.cz
Wed Jun 18 15:12:39 UTC 2014
Achilleas Pipinellis píše v st 18. 06. 2014 v 17:08 +0300:
> To the point.
> Now that we have some common ground between the packaging guidelines,
> I'm trying to get together a template for packaging: fc19, fc20, fc21,
> el6, el7.
>
> I haven't yet packaged anything for EPEL6, so I searched ruby-sig and
> found some answers. So far I have written down the R/BR, so please
> correct me I am wrong. Here goes:
>
> ```
> %if 0%{?fc19} || 0%{?fc20} || 0%{?el7}
> Requires: ruby(release)
> Requires: ruby(rubygems)
> %endif
>
> %if 0%{?el6}
> Requires: ruby(abi) >= %{rubyabi}
> Requires: ruby(rubygems)
> BuildRequires: ruby(abi) >= %{rubyabi}
> %else
> BuildRequires: ruby(release)
> %endif
>
> BuildRequires: rubygems-devel
>
> %if 0%{?fc19} || 0%{?fc20} || 0%{?el7} || 0%{?el6}
> Provides: rubygem(%{gem_name}) = %{version}
> %endif
> ```
>
> Next parts are:
>
> 1) if gem has native extensions: different %install macro
> 2) if gem has minitest: build minitest5 for el7 [0]
>
> If I left something out please advise.
>
Plus "3)": add runtime gem-specific requires for Fedora <= 20 and EPEL
<= 7.
Independently I got this result (with the explicit EPEL6 ABI fix):
%if 0%{?rhel} && 0%{?rhel} <= 6
Requires: ruby(abi) = %{rubyabi}
%else
Requires: ruby(release)
%endif
%if 0%{?fedora} && 0%{?fedora} <= 20 || 0%{?rhel} && 0%{?rhel} <= 7
Requires: ruby(rubygems)
Provides: rubygem(%{gem_name}) = %{version}
%endif
... which looks equivalent.
Cheers,
Frantisek
More information about the ruby-sig
mailing list