1 |
Author: zmedico |
2 |
Date: 2008-10-02 03:58:49 +0000 (Thu, 02 Oct 2008) |
3 |
New Revision: 11608 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Optimize display_preserved_libs() by using a single getFileOwnerMap() to look |
9 |
up all the files. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/_emerge/__init__.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/_emerge/__init__.py 2008-10-02 02:52:41 UTC (rev 11607) |
15 |
+++ main/trunk/pym/_emerge/__init__.py 2008-10-02 03:58:49 UTC (rev 11608) |
16 |
@@ -10907,13 +10907,27 @@ |
17 |
print colorize("WARN", "!!!") + " existing preserved libs:" |
18 |
plibdata = vardbapi.plib_registry.getPreservedLibs() |
19 |
linkmap = vardbapi.linkmap |
20 |
+ |
21 |
+ consumer_map = {} |
22 |
+ search_for_owners = set() |
23 |
for cpv in plibdata: |
24 |
+ for f in plibdata[cpv]: |
25 |
+ if f in consumer_map: |
26 |
+ continue |
27 |
+ consumers = list(linkmap.findConsumers(f)) |
28 |
+ consumers.sort() |
29 |
+ consumer_map[f] = consumers |
30 |
+ search_for_owners.update(consumers[:MAX_DISPLAY+1]) |
31 |
+ |
32 |
+ all_owners = vardbapi._owners.getFileOwnerMap(search_for_owners) |
33 |
+ |
34 |
+ for cpv in plibdata: |
35 |
print colorize("WARN", ">>>") + " package: %s" % cpv |
36 |
for f in plibdata[cpv]: |
37 |
print colorize("WARN", " * ") + " - %s" % f |
38 |
- consumers = list(linkmap.findConsumers(f)) |
39 |
- consumers.sort() |
40 |
- owners = vardbapi._owners.getFileOwnerMap(consumers[:MAX_DISPLAY+2]) |
41 |
+ consumers = consumer_map[f] |
42 |
+ owners = dict((c, all_owners[c]) |
43 |
+ for c in consumers[:MAX_DISPLAY+1]) |
44 |
for c in consumers[:MAX_DISPLAY]: |
45 |
print colorize("WARN", " * ") + " used by %s (%s)" % (c, ", ".join([x.mycpv for x in owners[c]])) |
46 |
if len(consumers) == MAX_DISPLAY + 1: |