From 4c244612e5aab657228c46716aa44ab98349ab71 Mon Sep 17 00:00:00 2001 From: Fabio Tranchitella Date: Sat, 22 Jul 2006 08:16:23 +0000 Subject: [PATCH] Fixed a bug in broken reverse-depending packages: we need to loop untill no changes are detected. --- britney.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/britney.py b/britney.py index 1f48670..6882f0b 100644 --- a/britney.py +++ b/britney.py @@ -1380,11 +1380,14 @@ class Britney: skip_archall = True else: skip_archall = False - for p in filter(lambda x: x[3] == arch, affected): - if not self.binaries['testing'][arch][0].has_key(p[0]) or \ - skip_archall and self.binaries['testing'][arch][0][p[0]]['architecture'] == 'all': continue - r = self.excuse_unsat_deps(p[0], None, arch, 'testing', None, excluded=[]) - if not r and p[0] not in broken: broken.append(p[0]) + nbroken = -1 + while len(broken) > nbroken: + nbroken = len(broken) + for p in filter(lambda x: x[3] == arch, affected): + if not self.binaries['testing'][arch][0].has_key(p[0]) or \ + skip_archall and self.binaries['testing'][arch][0][p[0]]['architecture'] == 'all': continue + r = self.excuse_unsat_deps(p[0], None, arch, 'testing', None, excluded=broken) + if not r and p[0] not in broken: broken.append(p[0]) l = 0 while l < len(broken):