On Tue, 20 Mar 2007, Patrice Dumas wrote:
On Tue, Mar 20, 2007 at 03:24:18PM +0100, Dag Wieers wrote:
>
> Also, would it be possible to have macros per distribution like RPMforge
> is doing ?
>
> So that something like this becomes possible:
>
> %{?el3:%define _without_alsa 1}
>
> %{!?_without_alsa:BuildRequires: alsa-lib-devel}
>
> I understand this is another item that may cause a fierce battle between
> proponents and opponents. It makes it much shorter and less obtrusive to
> use these macros.
Unless I'm wrong this is already accepted and used. See
http://fedoraproject.org/wiki/Packaging/DistTag?action=show&redirect=...
Or is it something else that you have in mind?
Yes, this is something different. Our use of %dist predates Fedora's
standard. What we generally do in this context is set:
%{?dist: %{expand: %%define %dist 1}}
What matthias does to map Fedora's %fedora macro to what we use, he adds:
%{?fedora: %{expand: %%define fc%{fedora} 1}}
So that if fedora is set to 7, the following macro is set:
%define fc7 1
In RPMforge %dist is set to either fcX or elY, _and_ a macro fcX or elY is
set to 1 so that the above becomes possible. That way one does not have to
use %if and %endif and makes things straight forward.
Fedora is using a dot in the dist-tag, which makes the above not work.
What currently is possible with the standard in the URL you gave me is to
make a distinction by using the existence of the fedora or rhel macro, or
use %if's to specify something else. Which makes it very hard to define
what capabilities each distribution has and use the capability where it is
required.
So while you can do:
%{?rhel: }
you cannot do:
%{?el5: a}
%{?el4: b}
%{?el3: c}
%{?el2: d}
and have to do something like:
%if "%rhel" == "5"
a
%endif
%if "%rhel" == "4"
b
%endif
%if "%rhel" == "3"
c
%endif
%if "%rhel" == "2"
d
%endif
Plus, you can't do these inline.
Kind regards,
-- dag wieers, dag(a)wieers.com,
http://dag.wieers.com/ --
[all I want is a warm bed and a kind word and unlimited power]