[libvirt] [PATCH] spec: Guess rhel/fedora macros from dist

Jiri Denemark jdenemar at redhat.com
Wed Mar 16 17:53:26 UTC 2011


On Wed, Mar 16, 2011 at 11:37:33 -0600, Eric Blake wrote:
> On 03/16/2011 05:54 AM, Jiri Denemark wrote:
> > ---
> > If anyone knows how to make rpm to evaluate %(...) immediately and not
> > at every appearance of rhel/fedora, that would be really cool.
> 
> Figured it out without lua: Use %{expand:} to only encounter %define
> after the shell substitution has completed (that is, instead of defining
> a macro to be a shell substitution, we use shell substitution to
> conditionally define a macro to be a constant value).
> 
> # If neither fedora nor rhel was defined, try to guess them from %{dist}
> %if !0%{?rhel} && !0%{?fedora}
> %{expand:%(echo "%{?dist}" | sed -ne 's/^\.el\([0-9]\+\).*/%%define rhel
> \1/p')}
> %{expand:%(echo "%{?dist}" | sed -ne 's/^\.fc\?\([0-9]\+\).*/%%define
> fedora \1/p')}
> %endif
> 
> Works on RHEL 5, too, since it doesn't use lua.

Ah, nice. I played with %{expand:} a bit but didn't dedicate it enough time to
get this far.

ACK to this version

Jirka




More information about the libvir-list mailing list