Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r12541 - main/trunk/pym/_emerge
Date: Wed, 21 Jan 2009 06:36:42
Message-Id: E1LPWhZ-0001Tf-OK@stork.gentoo.org
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()