In cpv_expand(), if the virtuals file contains a versioned atom (like
authorZac Medico <zmedico@gentoo.org>
Thu, 3 Apr 2008 01:17:59 +0000 (01:17 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 3 Apr 2008 01:17:59 +0000 (01:17 -0000)
the base profile currently has for virtual/pam), properly remove the
operator and version from the atom before it is passed into
dbapi.cp_list().

svn path=/main/trunk/; revision=9683

pym/portage/__init__.py

index ef2d65f0c198289022c0f7aa31c1971b3823a420..a64e90c5c9d7cded2ab55e3a60588cb7fff4841c 100644 (file)
@@ -5680,7 +5680,11 @@ def cpv_expand(mycpv, mydb=None, use_cache=1, settings=None):
                                        writemsg("virts[%s]: %s\n" % (str(mykey),virts[mykey]), 1)
                                        mykey_orig = mykey[:]
                                        for vkey in virts[mykey]:
-                                               if mydb.cp_list(vkey,use_cache=use_cache):
+                                               # The virtuals file can contain a versioned atom, so
+                                               # it may be necessary to remove the operator and
+                                               # version from the atom before it is passed into
+                                               # dbapi.cp_list().
+                                               if mydb.cp_list(dep_getkey(vkey), use_cache=use_cache):
                                                        mykey = vkey
                                                        writemsg("virts chosen: %s\n" % (mykey), 1)
                                                        break