1 |
Author: zmedico |
2 |
Date: 2008-05-04 05:25:58 +0000 (Sun, 04 May 2008) |
3 |
New Revision: 10163 |
4 |
|
5 |
Modified: |
6 |
main/branches/2.1.2/bin/emerge |
7 |
Log: |
8 |
In order to fix --tree display behave normally in --resume mode, |
9 |
properly add to the digraph all packages matched by arguments. |
10 |
(trunk r10162) |
11 |
|
12 |
|
13 |
Modified: main/branches/2.1.2/bin/emerge |
14 |
=================================================================== |
15 |
--- main/branches/2.1.2/bin/emerge 2008-05-04 05:25:14 UTC (rev 10162) |
16 |
+++ main/branches/2.1.2/bin/emerge 2008-05-04 05:25:58 UTC (rev 10163) |
17 |
@@ -4973,9 +4973,7 @@ |
18 |
|
19 |
if not isinstance(resume_data, dict): |
20 |
return False |
21 |
- favorites = resume_data.get("favorites") |
22 |
- if isinstance(favorites, list): |
23 |
- self._load_favorites(favorites) |
24 |
+ |
25 |
mergelist = resume_data.get("mergelist") |
26 |
if not isinstance(mergelist, list): |
27 |
mergelist = [] |
28 |
@@ -5038,11 +5036,30 @@ |
29 |
self._select_package = self._select_pkg_from_graph |
30 |
self.myparams.add("selective") |
31 |
|
32 |
+ favorites = resume_data.get("favorites") |
33 |
+ if isinstance(favorites, list): |
34 |
+ args = self._load_favorites(favorites) |
35 |
+ else: |
36 |
+ args = [] |
37 |
+ |
38 |
for task in serialized_tasks: |
39 |
if isinstance(task, Package) and \ |
40 |
task.operation == "merge": |
41 |
- self._add_pkg(task, None) |
42 |
+ if not self._add_pkg(task, None): |
43 |
+ return False |
44 |
|
45 |
+ # Packages for argument atoms need to be explicitly |
46 |
+ # added via _add_pkg() so that they are included in the |
47 |
+ # digraph (needed at least for --tree display). |
48 |
+ for arg in args: |
49 |
+ for atom in arg.set: |
50 |
+ pkg, existing_node = self._select_package( |
51 |
+ arg.root_config.root, atom) |
52 |
+ if existing_node is None and \ |
53 |
+ pkg is not None: |
54 |
+ if not self._add_pkg(pkg, arg): |
55 |
+ return False |
56 |
+ |
57 |
# Allow unsatisfied deps here to avoid showing a masking |
58 |
# message for an unsatisfied dep that isn't necessarily |
59 |
# masked. |
60 |
@@ -5122,6 +5139,7 @@ |
61 |
atom_arg_map[atom_key] = refs |
62 |
if arg not in refs: |
63 |
refs.append(arg) |
64 |
+ return args |
65 |
|
66 |
class UnsatisfiedResumeDep(portage_exception.PortageException): |
67 |
""" |
68 |
|
69 |
-- |
70 |
gentoo-commits@l.g.o mailing list |