In 'partial source' mode, which we use in Ubuntu, we merge the target (release pocket) with the source (proposed), so that proposed-migration has a view of the complete state of the archive when it is migrating. This merging must not be done when a package has been built in the source suite. If it is done incorrectly, proposed-migration will see the previous binary packages as existing when they should not. We have code to handle this already, but it's wrong in the case of arch:all binaries. This comes up in two ways - If a source package builds *only* arch:all binaries, it is not expected that builds will be created on arches other than the one which builds arch:all packages (amd64 currently). If that is built then the package is complete, we shouldn't merge any old binaries such as dropped arch:all ones from the target. - Relatedly, if other non-arch-all packages exist, an arch:all package isn't an indication that a build has taken place on other arches than the all buildd arch. Fixing both of these stops old binaries being merged into a new source when it's been built and arch:all packages are involved.ubuntu/dry-run
parent
53bab416d2
commit
3ddac110c6
Loading…
Reference in new issue