On 2/28/22 16:32, Richard W.M. Jones wrote:
On Mon, Feb 28, 2022 at 04:26:02PM +0200, Panu Matilainen wrote:
On 2/28/22 16:12, Richard W.M. Jones wrote:
On Mon, Feb 28, 2022 at 01:46:38PM +0000, Richard W.M. Jones wrote:
I'm writing a simple provides generator. The documentation is a bit
light on detail:
https://rpm-software-management.github.io/rpm/manual/dependency_generators.html
How do I get the version-release of the package currently being built?
At the moment I can only print simple provides like:
Provides: foo
but I want to include the version of the package being built, eg:
Provides: foo = 1.2-3.fc36
In theory it seems like the environment variables $RPM_PACKAGE_VERSION
and $RPM_PACKAGE_RELEASE should be set in the dependency generator,
but I just confirmed they are not set.
I dumped out the environment from the dependency generator and the
only RPM-specific environment variable is $RPM_BUILD_ROOT. I could
get the version from that, but it would be a bit of a hack.
Name, epoch, version and release are available as macros in the
.attr file so you can pass what you need from there, eg to pass
version and release as arguments to the provides generator, you can
do:
%__my_provides /path/to/my/depgen %{version} %{release}
This seems to be missing in the docs, will fix.
Ah nice, I didn't realise you could add parameters there.
Yup, what's in there is entirely up to you, rpm only cares about the
output. Those lines are macro-expanded at the time of launching the
script and can have arbitrarily complex macros in them. In fact you can
nowadays generate dependencies directly from macro where it makes sense
("parametric macro generators" in the docs)
And actually the per-package exported macros *are* documented (just
above parametric generators), it just doesn't explain how to use them.
Something to fix anyway :)
- Panu -
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure