1 |
Author: zmedico |
2 |
Date: 2008-05-09 02:30:04 +0000 (Fri, 09 May 2008) |
3 |
New Revision: 10259 |
4 |
|
5 |
Modified: |
6 |
main/branches/2.1.2/bin/emerge |
7 |
Log: |
8 |
Allow scheduled uninstalls to be selected the same way as other leaf nodes. |
9 |
(trunk r10258) |
10 |
|
11 |
|
12 |
Modified: main/branches/2.1.2/bin/emerge |
13 |
=================================================================== |
14 |
--- main/branches/2.1.2/bin/emerge 2008-05-09 02:28:54 UTC (rev 10258) |
15 |
+++ main/branches/2.1.2/bin/emerge 2008-05-09 02:30:04 UTC (rev 10259) |
16 |
@@ -3769,7 +3769,8 @@ |
17 |
""" |
18 |
return [node for node in mygraph.leaf_nodes(**kwargs) \ |
19 |
if isinstance(node, Package) and \ |
20 |
- node.operation != "uninstall"] |
21 |
+ (node.operation != "uninstall" or \ |
22 |
+ node in scheduled_uninstalls)] |
23 |
|
24 |
# sys-apps/portage needs special treatment if ROOT="/" |
25 |
running_root = "/" |
26 |
@@ -3966,13 +3967,6 @@ |
27 |
selected_nodes = list(selected_nodes) |
28 |
selected_nodes.sort(cmp_circular_bias) |
29 |
|
30 |
- if not selected_nodes and scheduled_uninstalls: |
31 |
- selected_nodes = set() |
32 |
- for node in scheduled_uninstalls: |
33 |
- if not mygraph.child_nodes(node): |
34 |
- selected_nodes.add(node) |
35 |
- scheduled_uninstalls.difference_update(selected_nodes) |
36 |
- |
37 |
if not selected_nodes and not myblocker_uninstalls.is_empty(): |
38 |
# An Uninstall task needs to be executed in order to |
39 |
# avoid conflict if possible. |
40 |
@@ -4156,6 +4150,7 @@ |
41 |
"uninstall" == node.operation: |
42 |
have_uninstall_task = True |
43 |
uninst_task = node |
44 |
+ scheduled_uninstalls.remove(uninst_task) |
45 |
else: |
46 |
vardb = self.trees[node.root]["vartree"].dbapi |
47 |
previous_cpv = vardb.match(node.slot_atom) |
48 |
|
49 |
-- |
50 |
gentoo-commits@l.g.o mailing list |