Expanding RPM macros

Peter Lemenkov lemenkov at gmail.com
Sun Nov 2 19:33:00 UTC 2014

Hello All!

One of my packages defines an essential information regarding the API
(API version string) during the %build stage. It's possible to extract
this information by invoking a binary from the %{buildroot} with
certain parameters. I'd love to add this information to the spec-file
during to Provides. Something like

Provides: %{name}_api_ver = %(%{buildroot}/bin/app --some params)

Unfortunately it seems that rpmbuild tries to expand all macros at the
very initial stage when this binary isn't available yet (not built
yet). I've tied playing with %{eval: ...} but without any luck.

Could anyone tell me if it's possible at all? And if possible how
could this be achieved?

Also I wonder why even rpmbuild -bs performs macro expansion? I
thought it should just pack spec-file and sources/patches together.

With best regards, Peter Lemenkov.

More information about the Rpm-list mailing list