[Fedora-packaging] Macro expansion problem

Michel Salim michel.sylvan at gmail.com
Tue Aug 26 17:39:00 UTC 2008


On Tue, Aug 26, 2008 at 7:46 AM, Rex Dieter <rdieter at math.unl.edu> wrote:
> Michel Salim wrote:
>>
>> At the risk of asking the obvious, why does this fail:
>>
>> %define nunitver %(gacutil -l nunit.core | tail -n 2 | grep nunit.core
>> | cut -d "=" -f 2 | cut -
>> d "," -f 1)
>>
>> Requires: mono(nunit.core) = %{nunitver}
>
> I'll venture because our buildsys needs to (re)generate the srpm, and at
> that time, no BR's are installed and gacutil isn't available => failure.
> To protect against that, do something like:
>
> %define nunitver %(gacutil -l nunit.core 2>& /dev/null | ...)
>
> %if "x%{?nunitver}" != "x"
> Requires: mono(nunit.core) = %{nunitver}
> %endif
>
Axel: It fails by being empty.

Tom, Rex: as Rex said, it is because BRs are not installed when the
SRPM is regenerated (perhaps we need a different directive, like
PreBuildRequires: ? Hmm)

So in this case, nunitver will *always* be empty, so I'm not sure how
the test will help. Manually coding in the value will work; now
whenever nunit ABI changes, instead of just bumping up release number
and rebuilding, I'll have to also update the requirement. Doable.

Thanks,

-- 
Michel Salim
http://hircus.jaiku.com/




More information about the Fedora-packaging mailing list