Gentoo Archives: gentoo-commits

From: "Fabian Groffen (grobian)" <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r9386 - in main/branches/prefix/pym: _emerge portage/dbapi
Date: Tue, 26 Feb 2008 08:25:07
Message-Id: E1JTv7X-0006pV-Mv@stork.gentoo.org
1 Author: grobian
2 Date: 2008-02-26 08:25:02 +0000 (Tue, 26 Feb 2008)
3 New Revision: 9386
4
5 Modified:
6 main/branches/prefix/pym/_emerge/__init__.py
7 main/branches/prefix/pym/portage/dbapi/vartree.py
8 Log:
9 Merged from trunk 9383:9385
10
11 | 9384 | Bug #211365 - Use catpkgsplit() instead of pkgsplit() on the |
12 | zmedico | cpv in the dblink constructor since otherwise weird |
13 | | categories containing numbers can make pkgsplit() return |
14 | | None (likely related to version regex handling). |
15 | | (branches/2.1.2 r9383) |
16
17 | 9385 | For depclean/prune unmerge order, if there are no |
18 | zmedico | dependencies between package then just unmerge them |
19 | | alphabetically. |
20
21
22 Modified: main/branches/prefix/pym/_emerge/__init__.py
23 ===================================================================
24 --- main/branches/prefix/pym/_emerge/__init__.py 2008-02-26 06:22:39 UTC (rev 9385)
25 +++ main/branches/prefix/pym/_emerge/__init__.py 2008-02-26 08:25:02 UTC (rev 9386)
26 @@ -6755,34 +6755,40 @@
27 if cpv in clean_set:
28 graph.add(cpv, node, priority=priority)
29
30 - # Order nodes from lowest to highest overall reference count for
31 - # optimal root node selection.
32 - node_refcounts = {}
33 - for node in graph.order:
34 - node_refcounts[node] = len(graph.parent_nodes(node))
35 - def cmp_reference_count(node1, node2):
36 - return node_refcounts[node1] - node_refcounts[node2]
37 - graph.order.sort(cmp_reference_count)
38 + if len(graph.order) == len(graph.root_nodes()):
39 + # If there are no dependencies between packages
40 + # then just unmerge them alphabetically.
41 + cleanlist = graph.order[:]
42 + cleanlist.sort()
43 + else:
44 + # Order nodes from lowest to highest overall reference count for
45 + # optimal root node selection.
46 + node_refcounts = {}
47 + for node in graph.order:
48 + node_refcounts[node] = len(graph.parent_nodes(node))
49 + def cmp_reference_count(node1, node2):
50 + return node_refcounts[node1] - node_refcounts[node2]
51 + graph.order.sort(cmp_reference_count)
52 +
53 + ignore_priority_range = [None]
54 + ignore_priority_range.extend(
55 + xrange(UnmergeDepPriority.MIN, UnmergeDepPriority.MAX + 1))
56 + while not graph.empty():
57 + for ignore_priority in ignore_priority_range:
58 + nodes = graph.root_nodes(ignore_priority=ignore_priority)
59 + if nodes:
60 + break
61 + if not nodes:
62 + raise AssertionError("no root nodes")
63 + if ignore_priority is not None:
64 + # Some deps have been dropped due to circular dependencies,
65 + # so only pop one node in order do minimize the number that
66 + # are dropped.
67 + del nodes[1:]
68 + for node in nodes:
69 + graph.remove(node)
70 + cleanlist.append(node)
71
72 - ignore_priority_range = [None]
73 - ignore_priority_range.extend(
74 - xrange(UnmergeDepPriority.MIN, UnmergeDepPriority.MAX + 1))
75 - while not graph.empty():
76 - for ignore_priority in ignore_priority_range:
77 - nodes = graph.root_nodes(ignore_priority=ignore_priority)
78 - if nodes:
79 - break
80 - if not nodes:
81 - raise AssertionError("no root nodes")
82 - if ignore_priority is not None:
83 - # Some deps have been dropped due to circular dependencies,
84 - # so only pop one node in order do minimize the number that
85 - # are dropped.
86 - del nodes[1:]
87 - for node in nodes:
88 - graph.remove(node)
89 - cleanlist.append(node)
90 -
91 unmerge(root_config, myopts,
92 "unmerge", cleanlist, ldpath_mtimes)
93
94
95 Modified: main/branches/prefix/pym/portage/dbapi/vartree.py
96 ===================================================================
97 --- main/branches/prefix/pym/portage/dbapi/vartree.py 2008-02-26 06:22:39 UTC (rev 9385)
98 +++ main/branches/prefix/pym/portage/dbapi/vartree.py 2008-02-26 08:25:02 UTC (rev 9386)
99 @@ -884,7 +884,8 @@
100 self.cat = cat
101 self.pkg = pkg
102 self.mycpv = self.cat + "/" + self.pkg
103 - self.mysplit = pkgsplit(self.mycpv)
104 + self.mysplit = list(catpkgsplit(self.mycpv)[1:])
105 + self.mysplit[0] = "%s/%s" % (self.cat, self.mysplit[0])
106 self.treetype = treetype
107 if vartree is None:
108 from portage import db
109
110 --
111 gentoo-commits@l.g.o mailing list