Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11608 - main/trunk/pym/_emerge
Date: Thu, 02 Oct 2008 03:58:54
Message-Id: E1KlFL0-0006JB-Ub@stork.gentoo.org
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: