Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11617 - main/trunk/pym/_emerge
Date: Sat, 04 Oct 2008 05:09:28
Message-Id: E1KlzOP-00081x-5N@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-10-04 05:09:23 +0000 (Sat, 04 Oct 2008)
3 New Revision: 11617
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Make depgraph._add_pkg() take a Dependency instance. This provides access to
9 the atom which pulled in the package, which may be needed in order to verify
10 that a different package that's been added to the graph is capable of
11 satisfying the atom.
12
13
14 Modified: main/trunk/pym/_emerge/__init__.py
15 ===================================================================
16 --- main/trunk/pym/_emerge/__init__.py 2008-10-03 16:58:09 UTC (rev 11616)
17 +++ main/trunk/pym/_emerge/__init__.py 2008-10-04 05:09:23 UTC (rev 11617)
18 @@ -4431,12 +4431,20 @@
19 self._ignored_deps.append(dep)
20 return 1
21
22 - if not self._add_pkg(dep_pkg, dep.parent,
23 - priority=dep.priority, depth=dep.depth):
24 + if not self._add_pkg(dep_pkg, dep):
25 return 0
26 return 1
27
28 - def _add_pkg(self, pkg, myparent, priority=None, depth=0):
29 + def _add_pkg(self, pkg, dep):
30 + myparent = None
31 + priority = None
32 + depth = 0
33 + if dep is None:
34 + dep = Dependency()
35 + else:
36 + myparent = dep.parent
37 + priority = dep.priority
38 + depth = dep.depth
39 if priority is None:
40 priority = DepPriority()
41 """
42 @@ -5029,6 +5037,8 @@
43 arg = args.pop()
44 for atom in arg.set:
45 self.spinner.update()
46 + dep = Dependency(atom=atom, onlydeps=onlydeps,
47 + root=myroot, parent=arg)
48 atom_cp = portage.dep_getkey(atom)
49 try:
50 pprovided = pprovideddict.get(portage.dep_getkey(atom))
51 @@ -5037,7 +5047,7 @@
52 self._pprovided_args.append((arg, atom))
53 continue
54 if isinstance(arg, PackageArg):
55 - if not self._add_pkg(arg.package, arg) or \
56 + if not self._add_pkg(arg.package, dep) or \
57 not self._create_graph():
58 sys.stderr.write(("\n\n!!! Problem resolving " + \
59 "dependencies for %s\n") % arg.arg)
60 @@ -5080,14 +5090,10 @@
61 arg.name in ("system", "world")):
62 return 0, myfavorites
63
64 - dep = Dependency(atom=atom, onlydeps=onlydeps,
65 - root=myroot, parent=arg)
66 -
67 # Add the selected package to the graph as soon as possible
68 # so that later dep_check() calls can use it as feedback
69 # for making more consistent atom selections.
70 - if not self._add_pkg(pkg, dep.parent,
71 - priority=dep.priority, depth=dep.depth):
72 + if not self._add_pkg(pkg, dep):
73 if isinstance(arg, SetArg):
74 sys.stderr.write(("\n\n!!! Problem resolving " + \
75 "dependencies for %s from %s\n") % \
76 @@ -5696,8 +5702,7 @@
77 # will be appropriately reported as a slot collision
78 # (possibly solvable via backtracking).
79 pkg = matches[-1] # highest match
80 - if not self._add_pkg(pkg, dep.parent,
81 - priority=dep.priority, depth=dep.depth):
82 + if not self._add_pkg(pkg, dep):
83 return 0
84 if not self._create_graph(allow_unsatisfied=True):
85 return 0
86 @@ -7741,7 +7746,8 @@
87 arg.root_config.root, atom)
88 if existing_node is None and \
89 pkg is not None:
90 - if not self._add_pkg(pkg, arg):
91 + if not self._add_pkg(pkg, Dependency(atom=atom,
92 + root=pkg.root, parent=arg)):
93 return False
94
95 # Allow unsatisfied deps here to avoid showing a masking
96 @@ -12401,8 +12407,9 @@
97 for consumer_dblink in set(chain(*consumers.values())):
98 consumer_pkg = vardb.get(("installed", myroot,
99 consumer_dblink.mycpv, "nomerge"))
100 - resolver._add_pkg(pkg, consumer_pkg,
101 - priority=UnmergeDepPriority(runtime=True))
102 + resolver._add_pkg(pkg, Dependency(parent=consumer_pkg,
103 + priority=UnmergeDepPriority(runtime=True),
104 + root=pkg.root))
105
106 writemsg_level("\nCalculating dependencies ")
107 success = resolver._complete_graph()