1 |
Author: zmedico |
2 |
Date: 2009-01-21 06:36:36 +0000 (Wed, 21 Jan 2009) |
3 |
New Revision: 12541 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Inside depgraph.loadResumeCommand(), ignore unsatisified dependencies that |
9 |
are pulled in by installed packages. This is needed in order to avoid having |
10 |
--keep-going bail out needlessly when one of a group of circularly dependent |
11 |
packages fails to install after one or more of the group have already been |
12 |
installed. TODO: Add sanity checks to make sure that it's really safe to |
13 |
ignore all the deps that can be ignored by this code. |
14 |
|
15 |
|
16 |
Modified: main/trunk/pym/_emerge/__init__.py |
17 |
=================================================================== |
18 |
--- main/trunk/pym/_emerge/__init__.py 2009-01-19 09:57:35 UTC (rev 12540) |
19 |
+++ main/trunk/pym/_emerge/__init__.py 2009-01-21 06:36:36 UTC (rev 12541) |
20 |
@@ -8514,13 +8514,19 @@ |
21 |
# masked. |
22 |
if not self._create_graph(allow_unsatisfied=True): |
23 |
return False |
24 |
- if masked_tasks or self._unsatisfied_deps: |
25 |
+ |
26 |
+ # TODO: Add sanity checks to make sure that it's really |
27 |
+ # safe to ignore all the deps that can be ignored here. |
28 |
+ unsatisfied_deps = [x for x in self._unsatisfied_deps \ |
29 |
+ if isinstance(x.parent, Package) and \ |
30 |
+ x.parent.operation == "merge"] |
31 |
+ if masked_tasks or unsatisfied_deps: |
32 |
# This probably means that a required package |
33 |
# was dropped via --skipfirst. It makes the |
34 |
# resume list invalid, so convert it to a |
35 |
# UnsatisfiedResumeDep exception. |
36 |
raise self.UnsatisfiedResumeDep(self, |
37 |
- masked_tasks + self._unsatisfied_deps) |
38 |
+ masked_tasks + unsatisfied_deps) |
39 |
self._serialized_tasks_cache = None |
40 |
try: |
41 |
self.altlist() |