Package: buildd.debian.org
Severity: normal

dh-autoreconf depends on automake|automaken, where automake is a real
package currently built by src:automake-1.15, and automaken is a virtual
package provided by both automake and automake1.11.

When building packages in any suite other than experimental, automake is
chosen, and automake1.11 is rejected. This is as expected.

When building packages in experimental, it seems that about half the time
the aspcud solver used in experimental will select automake1.11 to satisfy
the dependency. This can cause a FTBFS, or even a silent mis-build.
For instance, in flatpak 0.8.4-1:
https://buildd.debian.org/status/logs.php?pkg=flatpak&ver=0.8.4-1&suite=experimental
you'll see that 4/10 builds chose automake and succeeded, but 6/10 builds
chose automake1.11 and failed.

I have been working around this (in at least flatpak, glib2.0 and ostree
so far) by adding explicit dependencies on automake, and I've opened a
bug against dh-autoreconf asking the dependency to be changed to just
automake. However, given that the behaviour of other suites is to ignore
everything after the "|", I think it would be good if the aspcud scoring
used for experimental tried to avoid selecting non-preferred alternatives.

The aspcud scoring appears to be set up via dsa-puppet
https://anonscm.debian.org/cgit/mirror/dsa-puppet.git/tree/modules/buildd/files/sbuild.conf
and is currently:

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

which is why I'm reporting this bug to buildd.debian.org and not sbuild -
I think it's likely to be a problem with the optimization criteria more
than with aspcud or sbuild. Sorry, I don't know how to spell "if you see
foo|bar, prefer to install foo" in aspcud notation...

    S

Reply via email to