summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-09-27 16:50:36 +0000
committerZac Medico <zmedico@gentoo.org>2006-09-27 16:50:36 +0000
commitd477deeb1b02e403654c3d28794ef963406a8a2d (patch)
treeddde23e2bc59018a23a4690e639d9947c045f184
parentdc89bb2fddd59da70d8843dd0d5f2e9b26c7d702 (diff)
downloadportage-d477deeb1b02e403654c3d28794ef963406a8a2d.tar.gz
portage-d477deeb1b02e403654c3d28794ef963406a8a2d.tar.bz2
portage-d477deeb1b02e403654c3d28794ef963406a8a2d.zip
In dep_zapdeps preference selection, use package names instead of the real atoms for an initial rough match against installed packages. More specific preference selection is handled later via slot and version comparison. Thanks to Jason Stubbs for this patch from bug #147766.
svn path=/main/trunk/; revision=4543
-rw-r--r--pym/portage.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/portage.py b/pym/portage.py
index fa307af36..8f5fec897 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -3419,8 +3419,11 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None,
else:
atoms = [dep]
+ """ The package names rather than the exact atoms are used for an
+ initial rough match against installed packages. More specific
+ preference selection is handled later via slot and version comparison."""
all_installed = True
- for atom in atoms:
+ for atom in set([dep_getkey(atom) for atom in atoms]):
if not vardb.match(atom):
all_installed = False
break
@@ -4805,7 +4808,6 @@ class portdbapi(dbapi):
'input: "sys-apps/foo-1.0",["SLOT","DEPEND","HOMEPAGE"]'
'return: ["0",">=sys-libs/bar-1.0","http://www.foo.com"] or raise KeyError if error'
global auxdbkeys,auxdbkeylen
-
cat,pkg = string.split(mycpv, "/", 1)
myebuild, mylocation = self.findname2(mycpv, mytree)