When a --resume list is rejected due to unsatisfied deps, display a
authorZac Medico <zmedico@gentoo.org>
Sat, 3 May 2008 21:57:15 +0000 (21:57 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 3 May 2008 21:57:15 +0000 (21:57 -0000)
list of missing deps and which packages they belong to.

svn path=/main/trunk/; revision=10143

pym/_emerge/__init__.py

index a76d73cbf8cd1a42277099ac868b2d01610316c0..2a4db05851a3e3518c960f8c6ac78e8968842913 100644 (file)
@@ -4839,7 +4839,7 @@ class depgraph(object):
                                # resume list invalid, so convert it to a
                                # UnsatisfiedResumeDep exception.
                                raise self.UnsatisfiedResumeDep(
-                                       self._unsatisfied_deps[0].atom)
+                                       self._unsatisfied_deps)
                        self._serialized_tasks_cache = None
                        try:
                                self.altlist()
@@ -7779,9 +7779,14 @@ def action_build(settings, trees, mtimedb,
                        out = EOutput()
 
                        if isinstance(e, mydepgraph.UnsatisfiedResumeDep):
-                               out.eerror("An expected dependency " + \
-                                       "is not installed: %s" % str(e))
+                               out.eerror("One or more expected dependencies " + \
+                                       "are not installed:")
                                out.eerror("")
+                               indent = "  "
+                               for dep in e.value:
+                                       out.eerror(indent + str(dep.atom) + " pulled in by:")
+                                       out.eerror(2 * indent + str(dep.parent))
+                                       out.eerror("")
                                msg = "The resume list contains packages " + \
                                        "with dependencies that have not been " + \
                                        "installed yet. Please restart/continue " + \