[Fedora-packaging] Checking distro release from spec file

Ray Van Dolson rayvd at bludgeon.org
Tue Mar 17 15:30:44 UTC 2009


On Tue, Mar 17, 2009 at 01:06:12PM +0100, Lubomir Rintel wrote:
> On Mon, 2009-03-16 at 21:29 -0700, Ray Van Dolson wrote:
> > On Mon, Mar 16, 2009 at 08:04:52PM -0500, Rex Dieter wrote:
> > > Ray Van Dolson wrote:
> > >> On Mon, Mar 16, 2009 at 07:51:27PM -0500, Rex Dieter wrote:
> > >>> Ray Van Dolson wrote:
> > >>>> I'm trying to write a "distro agnostic" spec file that will apply two
> > >>>> patches:
> > >>>>
> > >>>>   - Patch 1 if and only if we're building for EL5 or EL4
> > >>>>   - Patch 2 if and only if we're building for EL4
> > >>>>
> > >>>> I know I can check for EL with the presence of the %{fedora} macro,
> > >>> %{fedora} macro is the *fedora* release, for EL, the corresponding 
> > >>> macro  is %{rhel}.
> > >>>
> > >>> In your case. you could use something like:
> > >>>
> > >>> %if 0%{?rhel} >= 4
> > >>> %patch1 ...
> > >>> %endif
> > >>>
> > >>> %if 0%{?rhel} >= 5
> > >>> %patch2 ...
> > >>> %endif
> > >>
> > >> Slick.  Thanks Rex.
> > >
> > > Here's more gory details:
> > > https://fedoraproject.org/wiki/Packaging/DistTag
> > > (sorry, should've included the link last time).
> > >
> > 
> > Hmm, it doesn't seem like %{rhel}, %{rhl}, %{el#} are set on CentOS.  I
> > tried adding an echo <var> to my .spec file for each and they all show
> > up empty.
> 
> Well, in case you're making an EPEL package, %rhel macro will be defined
> in buildsystem, by buildsys-macros package. You can get it here:
> 
> http://buildsys.fedoraproject.org/buildgroups/rhel5/i386/
> 
> Regards,

Ah, so when building by hand via rpmbuild, I should define "rhel 5" on
the command line?  Or would it be proper to BuildRequires on
buildsys-macros?  The package won't do the "right thing" unless I can
apply a patch correctly based on the OS.

Maybe I just assume anyone building by hand will read the .spec file
and know what they're doing though.

Thanks,
Ray




More information about the Fedora-packaging mailing list