Re: Re: Macro expansion problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 26, 2008 at 1:47 PM, Axel Thimm <Axel.Thimm@xxxxxxxxxx> wrote:
> On Tue, Aug 26, 2008 at 01:39:00PM -0400, Michel Salim wrote:
>> On Tue, Aug 26, 2008 at 7:46 AM, Rex Dieter <rdieter@xxxxxxxxxxxx> 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.
>
> This idiom is often used with perl/python/php etc. The first phase
> creating the src.rpm will be giving you some warnings, but the second
> phase, the actual building of the binaries will have the bits in place
> due to the BuildRequires, so it will not be empty then.

Aha! Yes, cute. The Requires: that end up in the binary package will
actually be the proper values, then, not the values that end up in the
source RPM?

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

--
Fedora-packaging mailing list
Fedora-packaging@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-packaging

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite Forum]     [KDE Users]

  Powered by Linux