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.
master
Adam D. Barratt 14 years ago
parent e47201d0f2
commit a81988592a

@ -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

Loading…
Cancel
Save