mirror of
https://git.launchpad.net/~ubuntu-release/britney/+git/britney2-ubuntu
synced 2025-02-15 16:28:20 +00:00
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>
This commit is contained in:
parent
081cd9afdb
commit
5a998ea8a7
@ -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…
x
Reference in New Issue
Block a user