britney: Remove out a tuple lookup in get_dependency_solvers

Signed-off-by: Niels Thykier <niels@thykier.net>
master
Niels Thykier 8 years ago
parent f414b12130
commit cd7cdda61e

@ -1150,9 +1150,10 @@ class Britney(object):
as parameter.
"""
# retrieve the binary package from the specified suite and arch
package_s_a = self.binaries[suite][arch]
package_t_a = self.binaries['testing'][arch]
binary_u = package_s_a[0][pkg]
packages_s_a = self.binaries[suite][arch]
packages_t_a = self.binaries['testing'][arch]
binaries_s_a = packages_s_a[0]
binary_u = binaries_s_a[pkg]
# local copies for better performance
parse_depends = apt_pkg.parse_depends
@ -1164,20 +1165,21 @@ class Britney(object):
return True
is_all_ok = True
# for every dependency block (formed as conjunction of disjunction)
for block, block_txt in zip(parse_depends(deps, False), deps.split(',')):
# if the block is satisfied in testing, then skip the block
packages = get_dependency_solvers(block, package_t_a)
packages = get_dependency_solvers(block, packages_t_a)
if packages:
for p in packages:
if p not in package_s_a[0]:
if p not in binaries_s_a:
continue
excuse.add_sane_dep(package_s_a[0][p].source)
excuse.add_sane_dep(binaries_s_a[p].source)
continue
# check if the block can be satisfied in the source suite, and list the solving packages
packages = get_dependency_solvers(block, package_s_a)
packages = [package_s_a[0][p].source for p in packages]
packages = get_dependency_solvers(block, packages_s_a)
packages = [packages_s_a[0][p].source for p in packages]
# if the dependency can be satisfied by the same source package, skip the block:
# obviously both binary packages will enter testing together

Loading…
Cancel
Save