Gentoo Archives: gentoo-portage-dev

From: SebastianLuther@×××.de
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCH 1/2] portdbapi.cp_list(): Don't write into xmatch's "match-all" cache
Date: Wed, 01 Jan 2014 22:46:46
Message-Id: 1388616386-28967-1-git-send-email-SebastianLuther@gmx.de
In Reply to: [gentoo-portage-dev] [PATCH 1/2] portdbapi.cp_list(): Don't write into xmatch's "match-all" cache by SebastianLuther@gmx.de
1 From: Sebastian Luther <SebastianLuther@×××.de>
2
3 xmatch returns _pkg_str instances these days. They require metadata
4 access, which cp_list doesn't have. That means that writing cp_list
5 results into the xmatch cache breaks xmatch users that expect _pkg_str
6 instances with full metadata.
7 ---
8 pym/portage/dbapi/porttree.py | 5 -----
9 1 file changed, 5 deletions(-)
10
11 diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py
12 index fc3fc03..53b9648 100644
13 --- a/pym/portage/dbapi/porttree.py
14 +++ b/pym/portage/dbapi/porttree.py
15 @@ -741,10 +741,6 @@ class portdbapi(dbapi):
16 if self.frozen and mytree is None:
17 cachelist = self.xcache["cp-list"].get(mycp)
18 if cachelist is not None:
19 - # Try to propagate this to the match-all cache here for
20 - # repoman since he uses separate match-all caches for each
21 - # profile (due to differences in _get_implicit_iuse).
22 - self.xcache["match-all"][(mycp, mycp)] = cachelist
23 return cachelist[:]
24 mysplit = mycp.split("/")
25 invalid_category = mysplit[0] not in self._categories
26 @@ -796,7 +792,6 @@ class portdbapi(dbapi):
27 if self.frozen and mytree is None:
28 cachelist = mylist[:]
29 self.xcache["cp-list"][mycp] = cachelist
30 - self.xcache["match-all"][(mycp, mycp)] = cachelist
31 return mylist
32
33 def freeze(self):
34 --
35 1.8.3.2

Replies