[Mageia-dev] %{foo} vs. %foo

Florian Hubold doktor5000 at arcor.de
Tue Aug 23 12:02:30 CEST 2011

Am 22.08.2011 01:29, schrieb andre999:
> D.Morgan a écrit :
>> On Mon, Aug 22, 2011 at 12:27 AM, Colin Guthrie<mageia at colin.guthr.ie>  wrote:
>>> 'Twas brillig, and Zé at 21/08/11 23:16 did gyre and gimble:
>>>> Hi,
>>>> Theres been a private discussion regarding the macro correct layout, if
>>>> %{foo} or %foo.
>>>> This rised when in the wiki
>>>> page http://mageia.org/wiki/doku.php?id=kde4_packaging_policy i changed
>>>> the spec layout from %foo into %{foo} to be as a reference point, in
>>>> wich mikala has reverted back to %foo, and this discussion has taken
>>>> other porportions so i would like your opinions regarding this.
>>>> I have pointed that for a wiki page should be proper to use %{...} to
>>>> avoid doubts specially in beginners minds, since in some situations we
>>>> need really to use the {} delimitations.
>>>> In wich its recommendation its focused in this cute PDF from redhat website:
>>>> http://www.redhat.com/promo/summit/2008/downloads/pdf/Wednesday_130pm_Tom_Callaway_OSS.pdf 
>>>> Im not refering that now we should use only %{...}, that usage can be
>>>> handled from the user prespective (for example in my specs locally i
>>>> generally dont use delimitations), some like others dont.
>>>> As we also see in rpm macros
>>>> document http://www.rpm.org/wiki/PackagerDocs/Macros that we can use
>>>> both, but in all rpm docs and config files the common usage its with
>>>> delimitations.
>>> FWIW, personally I tend to use delimiters also.
>>> I prefer it as it feels more like strict typing.... I know it's not but
>>> I always like to make things totally and unequivocally explicit all the
>>> same.
>>> I tend to do this in my bash scripts and even in PHP scripts too (tho'
>>> annoyingly the PHP delimiters go outside of the variable identifier
>>> unlike in RPM macros and bash, so it's syntactically a little different
>>> but the same principles apply).
>>> Cheers
>> Me, i use both ( this depend if the rpm i work in had it or not ) but
>> for new rpm i use %foo.
>> But i don't see a need to add a policy for %{foo} against %foo.
>> I don't understand Ze mail, he ask to use %{foo} and imposed it by
>> changing in a spec file stating "  i changed the spec layout from %foo
>> into %{foo} to be as a reference point, " and then in the same mail i
>> read "for example in my specs locally i generally dont use
>> delimitations".
>> why this mail if you personnaly don't really care about the question ?
>> just because mikala wasn't agree with you ?
>> P.S: yeah i started to have enough now... ( too )
> being still officially an apprentice, I've been told to use %{...}, but don't 
> see a problem with omitting where it's not necessary.
> For existing specs, I don't see a big need to change things.
> As long as it's there where it's really needed.
> Let's go with the flow, it's not like it is something that is visible outside 
> the spec file.
> It would be nice to have it clearly documented as to when it is strictly 
> necessary -- and why.  As well as giving a preferred style, if any.
> (If that hasn't already been done, of course.)
> My 2 cents :)
Actually, what about the "System Macros vs. User-Definable Macros"
section in http://www.mageia.org/wiki/doku.php?id=spec_syntax ?
I don't get this whole discussion, as it seems to be defined really clear, no?

But also i'd like to see SPECIFIC cases, where curly braces must be used,
and for what exact reason. Argumenting "should be used, looks better" or
"should not be used, i was told" is not the right way, seems to me.


More information about the Mageia-dev mailing list