From 2f753eab70c224df52a1bfd4ec017385faa4b05c Mon Sep 17 00:00:00 2001 From: "Adam D. Barratt" Date: Mon, 2 Dec 2013 09:15:32 +0000 Subject: [PATCH] Only output arch:all packages which correspond to the testing source If an architecture is marked as fucked, britney's package list for that architecture may include arch:all packages for an older version. When outputting the result file, we should not include those packages as they will lead to import failures. Signed-off-by: Adam D. Barratt --- britney_util.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/britney_util.py b/britney_util.py index 62cbf46..be87e13 100644 --- a/britney_util.py +++ b/britney_util.py @@ -29,7 +29,8 @@ import time from migrationitem import MigrationItem, UnversionnedMigrationItem from consts import (VERSION, BINARIES, PROVIDES, DEPENDS, CONFLICTS, - RDEPENDS, RCONFLICTS, ARCHITECTURE, SECTION) + RDEPENDS, RCONFLICTS, ARCHITECTURE, SECTION, + SOURCE, SOURCEVER) binnmu_re = re.compile(r'^(.*)\+b\d+$') @@ -385,6 +386,15 @@ def write_heidi(filename, sources_t, packages_t, pkgv = pkg[VERSION] pkgarch = pkg[ARCHITECTURE] or 'all' pkgsec = pkg[SECTION] or 'faux' + if pkg[SOURCEVER] and pkgarch == 'all' and \ + pkg[SOURCEVER] != sources_t[pkg[SOURCE]][VERSION]: + # when architectures are marked as "fucked", their binary + # versions may be lower than those of the associated + # source package in testing. the binary package list for + # such architectures will include arch:all packages + # matching those older versions, but we only want the + # newer arch:all in testing + continue f.write('%s %s %s %s\n' % (pkg_name, pkgv, pkgarch, pkgsec)) # write sources