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.
@ -2132,6 +2132,7 @@ class Britney:
"""
packages = [pkg]
binaries = self.binaries[suite][arch][0]
if pkg in binaries:
l = n = 0
while len(packages) > l:
l = len(packages)
@ -2139,6 +2140,8 @@ class Britney:
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