[Fedora-packaging] How to make a Provides based on package contents?
Ville Skyttä
ville.skytta at iki.fi
Fri Nov 24 18:00:59 UTC 2006
On Wed, 2006-11-22 at 14:50 -0700, Orion Poplawski wrote:
> octave defines an API version in:
>
> octave-2.9.9/src/version.h:
> #define OCTAVE_API_VERSION "api-v22"
>
> Modules compiled against one version will not load in another. I'd like
> to get this put into the rpms like:
>
> Provides: octave(api) = api-v22
>
> This can be done automatically on the module side with something like:
>
> Requires: octave(api) = %(octave-config -p API_VERSION)
>
> But, how to extract this automatically from src/version.h in the octave
> package itself?
One KISS way to handle this is to just hardcode the API version in a
macro in the octave specfile, bump it between package versions as
appropriate, and add a test in %check which will cause the octave
package build to fail if you forgot to bring the hardcoded value up to
date with the sources when updating the package.
For a concrete example, see %{apiver} in the FE vdr package.
More information about the Fedora-packaging
mailing list