From a81988592a082dcc7d2b3f2abd31311c4fae4cd1 Mon Sep 17 00:00:00 2001 From: "Adam D. Barratt" Date: Tue, 1 Mar 2011 23:54:39 +0000 Subject: [PATCH] Don't try to build dependency trees for non-existent packages get_full_tree may be passed an initial package which does not exist in the target suite, for example because a package declares an obsolete conflict on a second package which has subsequently been removed. --- britney.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/britney.py b/britney.py index ecbb5e1..9d01abf 100755 --- a/britney.py +++ b/britney.py @@ -2132,13 +2132,16 @@ class Britney: """ packages = [pkg] binaries = self.binaries[suite][arch][0] - l = n = 0 - while len(packages) > l: - l = len(packages) - for p in packages[n:]: - packages.extend([x for x in binaries[p][RDEPENDS] if x not in packages and x in binaries]) - n = l - return packages + if pkg in binaries: + l = n = 0 + while len(packages) > l: + l = len(packages) + for p in packages[n:]: + packages.extend([x for x in binaries[p][RDEPENDS] if x not in packages and x in binaries]) + n = l + return packages + else: + return [] def iter_packages(self, packages, selected, hint=False, nuninst=None): """Iter on the list of actions and apply them one-by-one