From: Sebastian Luther <sebastianlut...@gmx.de>

xmatch returns _pkg_str instances these days. They require metadata
access, which cp_list doesn't have. That means that writing cp_list
results into the xmatch cache breaks xmatch users that expect _pkg_str
instances with full metadata.
---
 pym/portage/dbapi/porttree.py | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py
index fc3fc03..62ac75c 100644
--- a/pym/portage/dbapi/porttree.py
+++ b/pym/portage/dbapi/porttree.py
@@ -740,12 +740,6 @@ class portdbapi(dbapi):
 
                if self.frozen and mytree is None:
                        cachelist = self.xcache["cp-list"].get(mycp)
-                       if cachelist is not None:
-                               # Try to propagate this to the match-all cache 
here for
-                               # repoman since he uses separate match-all 
caches for each
-                               # profile (due to differences in 
_get_implicit_iuse).
-                               self.xcache["match-all"][(mycp, mycp)] = 
cachelist
-                               return cachelist[:]
                mysplit = mycp.split("/")
                invalid_category = mysplit[0] not in self._categories
                d={}
@@ -796,7 +790,6 @@ class portdbapi(dbapi):
                if self.frozen and mytree is None:
                        cachelist = mylist[:]
                        self.xcache["cp-list"][mycp] = cachelist
-                       self.xcache["match-all"][(mycp, mycp)] = cachelist
                return mylist
 
        def freeze(self):
-- 
1.8.3.2


Reply via email to