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. > 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, > -- Axel.Thimm at ATrpms.net
Attachment:
pgpbw76rXZndv.pgp
Description: PGP signature
-- Fedora-packaging mailing list Fedora-packaging@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-packaging