Don't remove arch:all packages when migrating binNMUs via *pu

A binNMU does not rebuild architecture:all packages. For migrations via
unstable this is not a problem as the packages corresponding to the
source upload are still present. However, for *pu migrations, the set of
packages considered only includes architecture-specific packages. In
order to avoid installability issues with packages in testing which
depend on the arch:all packages, we leave the existing arch:all packages
in testing and only consider the arch-specific packages for migration.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
debian
Adam D. Barratt 12 years ago
parent cd47a75726
commit d1cf7116da

@ -1846,7 +1846,16 @@ class Britney(object):
# first, build a list of eligible binaries
for p in source[BINARIES]:
binary, parch = p.split("/")
if item.architecture != 'source' and parch != item.architecture: continue
if item.architecture != 'source':
# for a binary migration, binaries should not be removed:
# - unless they are for the correct architecture
if parch != item.architecture: continue
# - if they are arch:all and the migration is via *pu,
# as the packages will not have been rebuilt and the
# source suite will not contain them
if binaries[parch][0][binary][ARCHITECTURE] == 'all' and \
item.suite != 'unstable':
continue
# do not remove binaries which have been hijacked by other sources
if binaries[parch][0][binary][SOURCE] != item.package: continue
bins.append(p)

Loading…
Cancel
Save