Control: retitle -1 [britney] migrations can break build-depends

Hi,

On 6/29/20 5:15 PM, peter green wrote:
> However hypercorn just migrated to testing again, despite the fact that
> python-asynctest is rc buggy and not in testing. This leaves hypercorn
> in violation of "packages must be buildable within the same release".
>
> Any idea why this happened?

Thanks for pointing this out.

On 6/29/20 8:59 PM, Rebecca N. Palmer wrote:
hypercorn is arch:all, and their build-dependencies aren't checked:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=145257

Thanks for the reference. However, the info in this bug is outdated.

Arch: all build-dependencies have been checked for a while now (since cd08deb943 in Jan 2019), but see below.

I didn't close #145257 (and I'm not closing it now), because there are still situations where build-dependencies can be broken:

Build-dependencies are (currently) only checked in the excuses step. If src a has a build-dependency on binary b, and the excuse for b is a valid candidate, a will not be blocked. This means a will be able to migrate in the migration stage, even if b isn't able to migrate at that point.

Also, if src c has a build-dependency on binary d, and an update of d makes the build-dependency of c unsatisfiable, this will not be detected by britney.

Note that neither of these cases are arch: all specific. However, a common case for arch: any build-dependencies involves libraries, which usually also result in dependencies on the binaries. These dependencies are checked in the migration stage, so they usually prevent the cases described above.

The issue with hypercorn was that there is a bug in build-dependency checking when there are multiple build-dependencies that are not satisfiable in testing, but are satisfiable by from unstable. Only the last one was kept (uvloop in this case). I submitted a fix for this issue:

https://salsa.debian.org/release-team/britney2/-/merge_requests/47

Ivo

Reply via email to