[Fedora-packaging] %{macro} vs. %macro in spec files

T.C. Hollingsworth tchollingsworth at gmail.com
Thu Apr 25 11:44:40 UTC 2013


On Thu, Apr 25, 2013 at 4:28 AM, Alexey I. Froloff <raorn at raorn.name> wrote:
> And rpm --eval "%{gem_install -n foobar.gem}" expands correctly.

Note that some macros that appear to take arguments actually just
expand to a program that takes arguments.  For instance,
%{configure --disable-foo} will not work, while %{configure}
--disable-foo will work.  (This case is obvious, but there are some
that aren't.)

So it's always a good idea to omit the curly braces when macros accept
arguments, just to be safe.

> Yes, I am aware how RPM expands macros.
>
> But my question was - CAN I use %macro in specs, or I MUST use
> %{macro} form always, with exception for %configure (and what
> else?) ?

I'm not aware of anything in the Packaging Guidelines that dictate
which notation you must use, so you may use either as long as it is
valid.

-T.C.


More information about the packaging mailing list