From d6adff3011e390e540b7a224ca4cef7c2060756a Mon Sep 17 00:00:00 2001
From: "Adam D. Barratt" <adam@adam-barratt.org.uk>
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 <adam@adam-barratt.org.uk>
---
 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