From c0b47e720b952589861251bff5ec65f8eafac54b Mon Sep 17 00:00:00 2001 From: Jason Stubbs Date: Sun, 25 Dec 2005 07:04:45 +0000 Subject: Fix mishandling of masked atoms in || ( .. ) dependencies. svn path=/main/trunk/; revision=2452 --- pym/portage.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pym/portage.py b/pym/portage.py index 42008e85..0b862379 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -3159,7 +3159,7 @@ def dep_zapdeps(unreduced,reduced,myroot,use_binaries=0): atoms = dep_zapdeps(dep, satisfied, myroot, use_binaries=use_binaries) else: atoms = [dep] - missing_atoms = [atom for atom in atoms if not db[myroot]["vartree"].dbapi.match(dep_getkey(atom))] + missing_atoms = [atom for atom in atoms if not db[myroot]["vartree"].dbapi.match(atom)] if not missing_atoms: if isinstance(dep, list): @@ -3176,6 +3176,12 @@ def dep_zapdeps(unreduced,reduced,myroot,use_binaries=0): if not missing_atoms: target = (dep, satisfied) + if not target: + if isinstance(deps[0], list): + return dep_zapdeps(deps[0], satisfieds[0], myroot, use_binaries=use_binaries) + else: + return [deps[0]] + if isinstance(target, tuple): # Nothing matching installed if isinstance(target[0], list): # ... and the first available was a sublist return dep_zapdeps(target[0], target[1], myroot, use_binaries=use_binaries) @@ -3196,7 +3202,7 @@ def dep_zapdeps(unreduced,reduced,myroot,use_binaries=0): available_pkgs[pkg] = atom if not available_pkgs: - return [unreduced[0]] # All masked + return [relevant_atoms[0]] # All masked target_pkg = best(available_pkgs.keys()) suitable_atom = available_pkgs[target_pkg] -- cgit v1.2.3-65-gdbad