britney: Never strip multi-arch in dependencies

This causes Multi-arch dependencies like "pkg:i386" to show up as
unsatisfiable in excuses.

Previously, the dependency would be checked on the wrong architecture
(if available) and cause the package to become a valid candidate.  The
package would still be prevent from migrating as the installability
checker does not know of the "pkg:i386" package.

Signed-off-by: Niels Thykier <niels@thykier.net>
debian
Niels Thykier 13 years ago
parent d1d5d9826e
commit 3e9c1acb8e

@ -580,9 +580,9 @@ class Britney(object):
# register the list of the dependencies for the depending packages # register the list of the dependencies for the depending packages
dependencies = [] dependencies = []
if packages[pkg][DEPENDS]: if packages[pkg][DEPENDS]:
dependencies.extend(parse_depends(packages[pkg][DEPENDS])) dependencies.extend(parse_depends(packages[pkg][DEPENDS], False))
if packages[pkg][PREDEPENDS]: if packages[pkg][PREDEPENDS]:
dependencies.extend(parse_depends(packages[pkg][PREDEPENDS])) dependencies.extend(parse_depends(packages[pkg][PREDEPENDS], False))
# go through the list # go through the list
for p in dependencies: for p in dependencies:
for a in p: for a in p:
@ -597,7 +597,7 @@ class Britney(object):
packages[i][RDEPENDS].append(pkg) packages[i][RDEPENDS].append(pkg)
# register the list of the conflicts for the conflicting packages # register the list of the conflicts for the conflicting packages
if packages[pkg][CONFLICTS]: if packages[pkg][CONFLICTS]:
for p in parse_depends(packages[pkg][CONFLICTS]): for p in parse_depends(packages[pkg][CONFLICTS], False):
for a in p: for a in p:
# register real packages # register real packages
if a[0] in packages and (not check_doubles or pkg not in packages[a[0]][RCONFLICTS]): if a[0] in packages and (not check_doubles or pkg not in packages[a[0]][RCONFLICTS]):
@ -1047,7 +1047,7 @@ class Britney(object):
continue continue
# for every block of dependency (which is formed as conjunction of disconjunction) # for every block of dependency (which is formed as conjunction of disconjunction)
for block, block_txt in zip(parse_depends(binary_u[type_key]), binary_u[type_key].split(',')): for block, block_txt in zip(parse_depends(binary_u[type_key], False), binary_u[type_key].split(',')):
# if the block is satisfied in testing, then skip the block # if the block is satisfied in testing, then skip the block
solved, packages = get_dependency_solvers(block, arch, 'testing') solved, packages = get_dependency_solvers(block, arch, 'testing')
if solved: if solved:

Loading…
Cancel
Save