Bug#145257: #145257 Re: why did hypercorn migrate to testing?
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 to: