1 |
Author: zmedico |
2 |
Date: 2008-06-21 14:58:13 +0000 (Sat, 21 Jun 2008) |
3 |
New Revision: 10754 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/sets/libs.py |
7 |
Log: |
8 |
Make LibraryConsumerSet.mapPathsToAtoms() use the contents index for more |
9 |
efficient owner lookups. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/portage/sets/libs.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/portage/sets/libs.py 2008-06-21 11:58:44 UTC (rev 10753) |
15 |
+++ main/trunk/pym/portage/sets/libs.py 2008-06-21 14:58:13 UTC (rev 10754) |
16 |
@@ -4,11 +4,8 @@ |
17 |
|
18 |
from portage.sets.base import PackageSet |
19 |
from portage.sets import get_boolean |
20 |
-from portage.dbapi.vartree import dblink |
21 |
-from portage.versions import catsplit, catpkgsplit |
22 |
+from portage.versions import catpkgsplit |
23 |
|
24 |
-import os |
25 |
- |
26 |
class LibraryConsumerSet(PackageSet): |
27 |
_operations = ["merge", "unmerge"] |
28 |
|
29 |
@@ -19,17 +16,13 @@ |
30 |
|
31 |
def mapPathsToAtoms(self, paths): |
32 |
rValue = set() |
33 |
- for cpv in self.dbapi.cpv_all(): |
34 |
- mysplit = catsplit(cpv) |
35 |
- link = dblink(mysplit[0], mysplit[1], myroot=self.dbapi.root, \ |
36 |
- mysettings=self.dbapi.settings, treetype='vartree', \ |
37 |
- vartree=self.dbapi.vartree) |
38 |
- if paths.intersection(link.getcontents()): |
39 |
- cat, pn = catpkgsplit(cpv)[:2] |
40 |
- slot = self.dbapi.aux_get(cpv, ["SLOT"])[0] |
41 |
- rValue.add("%s/%s:%s" % (cat, pn, slot)) |
42 |
+ root_len = len(self.dbapi.root) |
43 |
+ for link, relative_p in self.dbapi._owners.iter_owners( |
44 |
+ p[root_len:] for p in paths): |
45 |
+ cat, pn = catpkgsplit(link.mycpv)[:2] |
46 |
+ slot = self.dbapi.aux_get(link.mycpv, ["SLOT"])[0] |
47 |
+ rValue.add("%s/%s:%s" % (cat, pn, slot)) |
48 |
return rValue |
49 |
- |
50 |
|
51 |
class PreservedLibraryConsumerSet(LibraryConsumerSet): |
52 |
def load(self): |
53 |
|
54 |
-- |
55 |
gentoo-commits@l.g.o mailing list |