[buildd-tools-devel] Bug#683287: Bug#683287: sbuild: will not install a missing build-dep in some cases

Michael Terry michael.terry at canonical.com
Mon Jul 30 18:20:42 UTC 2012


Aha, after some digging, I realized that Launchpad uses a forked copy 
of sbuild 
(https://code.launchpad.net/~canonical-launchpad-branches/launchpad-buildd/trunk).

So it's not clear if this affects Debian's sbuild.  Feel free to close.

-mt

On Mon 30 Jul 2012 12:38:16 EDT, Roger Leigh wrote:
> On Mon, Jul 30, 2012 at 10:50:35AM -0400, Michael Terry wrote:
>> Consider the case of libio-socket-ip-perl in quantal as of this writing. It
>> has a dependency like "libsocket-perl (>= 1.97) | perl (>= 5.15.6)".
>> libsocket-perl's current version is 2.002-1 (which is fine). Perl's current
>> version is 5.14.2-12 (which does not satisfy the check).
>>
>> So sbuild correctly reports:
>>
>> libsocket-perl: missing
>> perl: non-matching version installed (5.14.2-12 ! >= 5.15.6)
>>
>> And then does not try to install libsocket-perl. Which I think is a clear
>> bug? The build fails because it is dep waiting on libsocket-perl, despite it
>> actually being available.
>>
>> It seems that sbuild's dependency checker stops if part of an or-clause is
>> already installed, regardless of whether it actually satisfies the
>> requirements. I'd argue it should take that into account and attempt to
>> install another part of the or-clause.
>
> Which dependency solver were you using?  I'm assuming it wasn't
> internal, which should be removed in this version.
>
> I think you're probably running afoul of the RESOLVE_ALTERNATIVES
> setting, which for the apt resolver default to 0.  That is, all
> alternative build dependencies will be stripped out.  You should
> be able to confirm this by looking at the dependencies in the
> dependency package--they should be printed as part of the build
> log.  You should see the filtered dependencies as having all the
> alternatives removed.
>
> On the Debian buildds, RESOLVE_ALTERNATIVES is always 0, except
> for the experimental and backports buildds which use aptitude and
> are out of necessity more flexible, but less reproducible.  For
> all stable/testing/unstable builds, alternative build dependencies
> are not allowed.  I'm not sure what Ubuntu buildds do.
>
> I hope that helps explain things.  If my assuption is wrong, I'll
> be happy to look at it further.
>
>
> Regards,
> Roger
>



More information about the Buildd-tools-devel mailing list