summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 2a4db0585..e7e8e0779 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -4763,7 +4763,9 @@ class depgraph(object):
favorites = resume_data.get("favorites")
if isinstance(favorites, list):
self._load_favorites(resume_data)
- mergelist = resume_data.get("mergelist", [])
+ mergelist = resume_data.get("mergelist")
+ if not isinstance(mergelist, list):
+ mergelist = []
if mergelist and "--skipfirst" in self.myopts:
for i, task in enumerate(mergelist):
@@ -7717,6 +7719,7 @@ def action_build(settings, trees, mtimedb,
del myopts["--tree"]
portage.writemsg(colorize("WARN", " * ") + \
"--tree is broken with --nodeps. Disabling...\n")
+ debug = "--debug" in myopts
verbose = "--verbose" in myopts
quiet = "--quiet" in myopts
if pretend or fetchonly:
@@ -7778,6 +7781,19 @@ def action_build(settings, trees, mtimedb,
from portage.output import EOutput
out = EOutput()
+ resume_data = mtimedb["resume"]
+ mergelist = resume_data.get("mergelist")
+ if not isinstance(mergelist, list):
+ mergelist = []
+ if mergelist and debug or (verbose and not quiet):
+ out.eerror("Invalid resume list:")
+ out.eerror("")
+ indent = " "
+ for task in mergelist:
+ if isinstance(task, list):
+ out.eerror(indent + str(tuple(task)))
+ out.eerror("")
+
if isinstance(e, mydepgraph.UnsatisfiedResumeDep):
out.eerror("One or more expected dependencies " + \
"are not installed:")