Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r13685 - main/trunk/pym/_emerge
Date: Wed, 24 Jun 2009 21:07:52
Message-Id: E1MJZh9-0000gU-5A@stork.gentoo.org
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,