diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-09-27 16:50:36 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-09-27 16:50:36 +0000 |
commit | d477deeb1b02e403654c3d28794ef963406a8a2d (patch) | |
tree | ddde23e2bc59018a23a4690e639d9947c045f184 | |
parent | dc89bb2fddd59da70d8843dd0d5f2e9b26c7d702 (diff) | |
download | portage-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.py | 6 |
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) |