Mailinglist Archive: opensuse-buildservice (42 mails)
| < Previous | Next > |
Re: [opensuse-buildservice] expansion error on multiple BuildRequires
- From: Dries Verachtert <dries@xxxxxxxxxxx>
- Date: Wed, 12 Apr 2006 20:50:31 +0200
- Message-id: <200604122050.31737.dries@xxxxxxxxxxx>
On Wednesday 12 April 2006 19:16, Michael Schroeder wrote:
> Suse already defines a "suse_version" macro which you can use (even
> in the build service), but it is a bit different from the one
> you use: it contains an extra digit for "beta" versions.
>
> We can define some macros for fedora and the other distributions
> if they don't have macros like this.
Maybe interesting: the buildsystems dar and pydar2 always use a macro 'dist'.
This macro can have a variable like 'rh7', 'el4' or 'fc5'.
An example: the buildsys uses a command like: rpmbuild -ba --define='dist fc5'
some.spec. A spec file can use this macro directly or it can contain a line
like:
%{?dist: %{expand: %%define %dist 1}}
Then you can use stuff like:
%{?fc4:BuildRequires: gettext-devel}
or
%{?fc4:BuildRequires: gcc-gfortran}
%{!?fc4:BuildRequires: gcc-g77}
or
%{?el3:%define _without_gamin 1}
%{?fc2:%define _without_gamin 1}
%{?fc1:%define _without_gamin 1}
...
%{?_without_gamin:BuildRequires: fam-devel}
%{!?_without_gamin:BuildRequires: gamin-devel}
=> new version of distro automatically uses the gamin-devel buildreq.
It's just to give you an idea how it's done in other build systems.
kind regards,
Dries
--
Rpm packages for Red Hat Enterprise Linux, Fedora Core and Aurora at
http://dries.ulyssis.org/rpm/
> Suse already defines a "suse_version" macro which you can use (even
> in the build service), but it is a bit different from the one
> you use: it contains an extra digit for "beta" versions.
>
> We can define some macros for fedora and the other distributions
> if they don't have macros like this.
Maybe interesting: the buildsystems dar and pydar2 always use a macro 'dist'.
This macro can have a variable like 'rh7', 'el4' or 'fc5'.
An example: the buildsys uses a command like: rpmbuild -ba --define='dist fc5'
some.spec. A spec file can use this macro directly or it can contain a line
like:
%{?dist: %{expand: %%define %dist 1}}
Then you can use stuff like:
%{?fc4:BuildRequires: gettext-devel}
or
%{?fc4:BuildRequires: gcc-gfortran}
%{!?fc4:BuildRequires: gcc-g77}
or
%{?el3:%define _without_gamin 1}
%{?fc2:%define _without_gamin 1}
%{?fc1:%define _without_gamin 1}
...
%{?_without_gamin:BuildRequires: fam-devel}
%{!?_without_gamin:BuildRequires: gamin-devel}
=> new version of distro automatically uses the gamin-devel buildreq.
It's just to give you an idea how it's done in other build systems.
kind regards,
Dries
--
Rpm packages for Red Hat Enterprise Linux, Fedora Core and Aurora at
http://dries.ulyssis.org/rpm/
| < Previous | Next > |