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

Re: Make alternative build-depends work on backports buildds (was: Give back ktorrent in squeeze-backports)



On Tue, Jul 26, 2011 at 09:16:17PM +0200, Kurt Roeckx wrote:
> On Tue, Jul 26, 2011 at 09:06:44PM +0300, Modestas Vainius wrote:
> > > I'm not sure what you're trying to say, but we don't use the apt
> > > or aptitude resolvers, we use the internal one.  Except for
> > > experimental which uses the aptitude resolver.
> > 
> > Backport buildds use aptitude resolver. For example:
> 
> Ok, I didn't know that.  I guess it makes sense.

Both internal and apt lack the intelligence to deal with experimental.

> > Alternatively, sbuild 0.62.5-1 works well on my system without any further 
> > tweaks (because aptitude resolver is smarter). So you can also upgrade sbuild 
> > to the later version to fix the problem (this helps since libqtwebkit-dev does 
> > not exist in squeeze as per changelog). Still adding "$resolve_alternatives = 
> > 1" does not hurt.
> 
> If you want to make the buildds use 0.62, someone is going to need
> to put time in it to test that it actually works on the buildds.
> 
> I'm also not sure we want to use the aptitude resolver in that
> case.

We definitely don't.  Its major flaw is that (unbelievably) it does
not return a nonzero exit status when it fails, so sbuild does not
know if installing the build deps worked or not.  It typically fails
down the line some time after, but it's really unsuitable for building
unstable or anything else given this major flaw.  It we can't
determine the build environment was set up correctly, we can't make
any guarantees about the quality of the build.

With 0.62.x, the apt resolver now resolves alternative dependencies
in the same manner as internal.  This was the only known discrepancy
between the internal and apt resolvers (as determined by a whole
archive rebuild back in February¹).  So the internal and apt resolvers
are now /identical/ in their behaviour.

Note that since a few months back it was noted that the internal
resolver stopped resolving virtual dependencies properly.  This was
thought to be a regression in sbuild, but it's looking more like a
regression in how apt-get reports packages providing virtuals.
It was reported that it reports the start of the output OK, but the
actual package list is only reported in verbose mode.  This means
sbuild never sees the list.  apt-get is also segfaulting in at least
some cases as well.  However, I've not personally had time to
investigate further--this is just what was reported on #debian-buildd.

At this point, the 'apt' resolver is the one which I believe to be
the best choice, and it would be great to get some real testing of it
(and the latest sbuild/buildd) so we can start to deploy it.  The
current stable release is on the buildd-0.62.5 branch in sbuild git.



Regards,
Roger

¹http://people.debian.org/~rleigh/squeeze-rebuild/

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

Attachment: signature.asc
Description: Digital signature


Reply to: