UseManager: add compat code for getUseForce/PUSE
authorZac Medico <zmedico@gentoo.org>
Fri, 7 Sep 2012 20:52:03 +0000 (13:52 -0700)
committerZac Medico <zmedico@gentoo.org>
Fri, 7 Sep 2012 20:52:03 +0000 (13:52 -0700)
Similar code was added to getUseMask in commit
af50fee789e71c1fff0b405db4cf55b618b73466.

pym/portage/package/ebuild/_config/UseManager.py

index 185a14f44fe6c4a22d738871068339bfde3e1bb6..a359e00b7ba7ef560eadf310d33292f2ca0546da 100644 (file)
@@ -10,7 +10,7 @@ from portage import os
 from portage.dep import dep_getrepo, dep_getslot, ExtendedAtomDict, remove_slot, _get_useflag_re
 from portage.localization import _
 from portage.util import grabfile, grabdict_package, read_corresponding_eapi_file, stack_lists, writemsg
-from portage.versions import cpv_getkey, _pkg_str
+from portage.versions import _pkg_str
 
 from portage.package.ebuild._config.helper import ordered_by_atom_specificity
 
@@ -267,7 +267,10 @@ class UseManager(object):
 
                cp = getattr(pkg, "cp", None)
                if cp is None:
-                       cp = cpv_getkey(remove_slot(pkg))
+                       slot = dep_getslot(pkg)
+                       repo = dep_getrepo(pkg)
+                       pkg = _pkg_str(remove_slot(pkg), slot=slot, repo=repo)
+                       cp = pkg.cp
 
                try:
                        stable = pkg.stable
@@ -323,7 +326,10 @@ class UseManager(object):
        def getPUSE(self, pkg):
                cp = getattr(pkg, "cp", None)
                if cp is None:
-                       cp = cpv_getkey(remove_slot(pkg))
+                       slot = dep_getslot(pkg)
+                       repo = dep_getrepo(pkg)
+                       pkg = _pkg_str(remove_slot(pkg), slot=slot, repo=repo)
+                       cp = pkg.cp
                ret = ""
                cpdict = self._pusedict.get(cp)
                if cpdict: