1 |
Author: zmedico |
2 |
Date: 2009-06-24 21:07:50 +0000 (Wed, 24 Jun 2009) |
3 |
New Revision: 13685 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/depgraph.py |
7 |
Log: |
8 |
Bug #275217 - Part 3 - Splits depgraph.select_files into select_files and |
9 |
_resolve. Thanks to Sebastian Mingramm (few) <s.mingramm@×××.de> for this |
10 |
patch. |
11 |
|
12 |
|
13 |
Modified: main/trunk/pym/_emerge/depgraph.py |
14 |
=================================================================== |
15 |
--- main/trunk/pym/_emerge/depgraph.py 2009-06-24 12:45:17 UTC (rev 13684) |
16 |
+++ main/trunk/pym/_emerge/depgraph.py 2009-06-24 21:07:50 UTC (rev 13685) |
17 |
@@ -174,6 +174,8 @@ |
18 |
"--getbinpkgonly" in self.myopts) |
19 |
del trees |
20 |
|
21 |
+ #contains the args created by select_files |
22 |
+ self._initial_arg_list = [] |
23 |
self.digraph=portage.digraph() |
24 |
# contains all sets added to the graph |
25 |
self._sets = {} |
26 |
@@ -1065,7 +1067,8 @@ |
27 |
yield arg, atom |
28 |
|
29 |
def select_files(self, myfiles): |
30 |
- """Given a list of .tbz2s, .ebuilds sets, and deps, create the |
31 |
+ """Given a list of .tbz2s, .ebuilds sets, and deps, populate |
32 |
+ self._initial_arg_list and call self._resolve to create the |
33 |
appropriate depgraph and return a favorite list.""" |
34 |
debug = "--debug" in self.myopts |
35 |
root_config = self.roots[self.target_root] |
36 |
@@ -1323,14 +1326,25 @@ |
37 |
myfavorites.add(arg.arg) |
38 |
myfavorites = list(myfavorites) |
39 |
|
40 |
- pprovideddict = pkgsettings.pprovideddict |
41 |
if debug: |
42 |
portage.writemsg("\n", noiselevel=-1) |
43 |
# Order needs to be preserved since a feature of --nodeps |
44 |
# is to allow the user to force a specific merge order. |
45 |
args.reverse() |
46 |
- while args: |
47 |
- arg = args.pop() |
48 |
+ self._initial_arg_list = args[:] |
49 |
+ |
50 |
+ return self._resolve(myfavorites) |
51 |
+ |
52 |
+ def _resolve(self, myfavorites): |
53 |
+ """Given self._initial_arg_list, pull in the root nodes, |
54 |
+ call self._creategraph to process theier deps and return |
55 |
+ a favorite list.""" |
56 |
+ debug = "--debug" in self.myopts |
57 |
+ onlydeps = "--onlydeps" in self.myopts |
58 |
+ myroot = self.target_root |
59 |
+ pkgsettings = self.pkgsettings[myroot] |
60 |
+ pprovideddict = pkgsettings.pprovideddict |
61 |
+ for arg in self._initial_arg_list: |
62 |
for atom in arg.set: |
63 |
self.spinner.update() |
64 |
dep = Dependency(atom=atom, onlydeps=onlydeps, |