Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10162 - main/trunk/pym/_emerge
Date: Sun, 04 May 2008 05:25:20
Message-Id: E1JsWip-0007Xu-Q8@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-05-04 05:25:14 +0000 (Sun, 04 May 2008)
3 New Revision: 10162
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
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
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-05-04 04:21:58 UTC (rev 10161)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-05-04 05:25:14 UTC (rev 10162)
16 @@ -4811,9 +4811,7 @@
17
18 if not isinstance(resume_data, dict):
19 return False
20 - favorites = resume_data.get("favorites")
21 - if isinstance(favorites, list):
22 - self._load_favorites(favorites)
23 +
24 mergelist = resume_data.get("mergelist")
25 if not isinstance(mergelist, list):
26 mergelist = []
27 @@ -4876,11 +4874,30 @@
28 self._select_package = self._select_pkg_from_graph
29 self.myparams.add("selective")
30
31 + favorites = resume_data.get("favorites")
32 + if isinstance(favorites, list):
33 + args = self._load_favorites(favorites)
34 + else:
35 + args = []
36 +
37 for task in serialized_tasks:
38 if isinstance(task, Package) and \
39 task.operation == "merge":
40 - self._add_pkg(task, None)
41 + if not self._add_pkg(task, None):
42 + return False
43
44 + # Packages for argument atoms need to be explicitly
45 + # added via _add_pkg() so that they are included in the
46 + # digraph (needed at least for --tree display).
47 + for arg in args:
48 + for atom in arg.set:
49 + pkg, existing_node = self._select_package(
50 + arg.root_config.root, atom)
51 + if existing_node is None and \
52 + pkg is not None:
53 + if not self._add_pkg(pkg, arg):
54 + return False
55 +
56 # Allow unsatisfied deps here to avoid showing a masking
57 # message for an unsatisfied dep that isn't necessarily
58 # masked.
59 @@ -4960,6 +4977,7 @@
60 atom_arg_map[atom_key] = refs
61 if arg not in refs:
62 refs.append(arg)
63 + return args
64
65 class UnsatisfiedResumeDep(portage.exception.PortageException):
66 """
67
68 --
69 gentoo-commits@l.g.o mailing list