When a --resume list is rejected due to unsatisfied deps, display a
authorZac Medico <zmedico@gentoo.org>
Sun, 4 May 2008 05:51:51 +0000 (05:51 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 4 May 2008 05:51:51 +0000 (05:51 -0000)
list of missing deps and which packages they belong to.
(trunk r10143)

svn path=/main/branches/2.1.2/; revision=10164

bin/emerge

index 393c32a5f653b8f4e34cd724e4363ac28aa040ba..2e9b0d0c28e04a1d7c138d6eb0aaf963c23fa33f 100755 (executable)
@@ -5071,7 +5071,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()
@@ -7882,9 +7882,14 @@ def action_build(settings, trees, mtimedb,
                                out.eerror("")
 
                        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 " + \