public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] portage r12834 - main/branches/2.1.6/pym/_emerge
@ 2009-03-11  3:23 Zac Medico (zmedico)
  0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2009-03-11  3:23 UTC (permalink / raw
  To: gentoo-commits

Author: zmedico
Date: 2009-03-11 03:23:16 +0000 (Wed, 11 Mar 2009)
New Revision: 12834

Modified:
   main/branches/2.1.6/pym/_emerge/__init__.py
Log:
Inside depgraph.loadResumeCommand(), always enable deep traversal of
dependencies. This is necessary for correct --keep-going or --resume operation
in case a package from a group of circularly dependent packages fails.
(trunk r12548)

Modified: main/branches/2.1.6/pym/_emerge/__init__.py
===================================================================
--- main/branches/2.1.6/pym/_emerge/__init__.py	2009-03-11 03:22:52 UTC (rev 12833)
+++ main/branches/2.1.6/pym/_emerge/__init__.py	2009-03-11 03:23:16 UTC (rev 12834)
@@ -8467,6 +8467,19 @@
 		else:
 			self._select_package = self._select_pkg_from_graph
 			self.myparams.add("selective")
+			# Always traverse deep dependencies in order to account for
+			# potentially unsatisfied dependencies of installed packages.
+			# This is necessary for correct --keep-going or --resume operation
+			# in case a package from a group of circularly dependent packages
+			# fails. In this case, a package which has recently been installed
+			# may have an unsatisfied circular dependency (pulled in by
+			# PDEPEND, for example). So, even though a package is already
+			# installed, it may not have all of it's dependencies satisfied, so
+			# it may not be usable. If such a package is in the subgraph of
+			# deep depenedencies of a scheduled build, that build needs to
+			# be cancelled. In order for this type of situation to be
+			# recognized, deep traversal of dependencies is required.
+			self.myparams.add("deep")
 
 			favorites = resume_data.get("favorites")
 			args_set = self._sets["args"]
@@ -8500,14 +8513,8 @@
 			if not self._create_graph(allow_unsatisfied=True):
 				return False
 
-			# When appropriate, complete the graph before analyzing
-			# any unsatisfied deps that may exist.
-			if not self._complete_graph():
-				return False
-
 			unsatisfied_deps = []
-			for dep in self._unsatisfied_deps + \
-				self._initially_unsatisfied_deps:
+			for dep in self._unsatisfied_deps:
 				if not isinstance(dep.parent, Package):
 					continue
 				if dep.parent.operation == "merge":




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-03-11  3:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-11  3:23 [gentoo-commits] portage r12834 - main/branches/2.1.6/pym/_emerge Zac Medico (zmedico)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox