[buildd-tools-devel] Bug#821376: Bug#821376: sbuild: buildd's aspcud resolver prefers experimental versions

Johannes Schauer josch at debian.org
Tue Apr 19 10:29:07 UTC 2016


Hi,

Quoting Maximiliano Curia (2016-04-18 10:57:52)
> sbuild as used by the buildds is currently prefering the experimental versions 
> of qt5, which for the kde package is quite unfortunate since there are a 
> couple of regression in qt 5.6.0 (that are in fact the reason for qt 5 not 
> being pushed to unstable).
> 
> One "simple" package that reproduces this issue is extra-cmake-modules:
> https://buildd.debian.org/status/fetch.php?pkg=extra-cmake-modules&arch=amd64&ver=5.19.0-1&stamp=1455382800

the current optimization criteria for aspcud for buildd sbuild is:

	-removed,-changed,-new,+sum(solution,apt-pin)

So it actually doesn't prefer packages from experimental, but it prefers
solutions where the sum of the apt pin values is maximal. This might lead to
situations where a solution as it can be found in experimental is so much
better than the one from unstable, that the sum of pin values with packages
from experimental is actually *larger*.

This problem has been known for a while and the proper solution is, to use a
criteria which directly minimizes the number of packages from experimental
(without abusing the pin values for it because that might fail as you
experienced). Unfortunately, the MISC 2012 syntax does not allow to specify an
optimization criteria like:

 * minimize the number of packages which have a field that matches regex X

To fix this problem we implemented an extension to the MISC 2012 syntax in
apt-cudf which allows to create a query like:

	count(selector,field:=/plain/)

or:

	count(selector,field:~/regex/)

Where "selector" is a package set like "solution", "field" is a EDSP field name
and "plain" and "regex" are either a plain string or a Re_pcre compatible
regular expression. You can find more info in the apt-cudf man page.

With this new criteria, it should now be possible to formulate a new criteria
like this:

	-removed,-changed,-new,-count(solution,APT-Release:=/experimental/)

This will now truly find the solution with the least number of packages that
have the string "experimental" anywhere in the APT-Release field.

The feature is available since dose3 version 4.1 which is currently in testing.

I don't know to whom I should reassign this bug so that it gets handled by
buildd admins, so I just hope that they read this list. :)

Thanks!

cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: signature
URL: <http://lists.alioth.debian.org/pipermail/buildd-tools-devel/attachments/20160419/cdea38c0/attachment.sig>


More information about the Buildd-tools-devel mailing list