summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-03 02:57:06 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-03 02:57:06 +0000
commitd4674159a5f8f0caece71a73750809e707bec69b (patch)
tree07296ec8f87210ca28f90da1c1c98518c3fa7b4e /bin
parentf335838ce5d0c34a8b457f55be80b73a83725283 (diff)
downloadportage-d4674159a5f8f0caece71a73750809e707bec69b.tar.gz
portage-d4674159a5f8f0caece71a73750809e707bec69b.tar.bz2
portage-d4674159a5f8f0caece71a73750809e707bec69b.zip
Fix depgraph.loadResumeCommand() to identify an unsatisfied dependency
and invalidate the resume list in that case. (trunk r10119) svn path=/main/branches/2.1.2/; revision=10120
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge19
1 files changed, 15 insertions, 4 deletions
diff --git a/bin/emerge b/bin/emerge
index 23d9981bc..b875862f7 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -4950,8 +4950,19 @@ class depgraph(object):
if isinstance(task, Package) and \
task.operation == "merge":
self._add_pkg(task, None)
- if not self._create_graph():
+
+ # Allow unsatisfied deps here to avoid showing a masking
+ # message for an unsatisfied dep that isn't necessarily
+ # masked.
+ if not self._create_graph(allow_unsatisfied=True):
return False
+ if self._unsatisfied_deps:
+ # This probably means that a required package
+ # was dropped via --skipfirst. It makes the
+ # resume list invalid, so convert it to a
+ # PackageNotFound exception.
+ raise portage_exception.PackageNotFound(
+ self._unsatisfied_deps[0].atom)
self._serialized_tasks_cache = None
try:
self.altlist()
@@ -7675,9 +7686,9 @@ def action_build(settings, trees, mtimedb,
out.eerror("Error: The resume list contains packages that are no longer")
out.eerror(" available to be emerged. Please restart/continue")
out.eerror(" the merge operation manually.")
-
- if show_spinner:
- print "\b\b... done!"
+ else:
+ if show_spinner:
+ print "\b\b... done!"
unsatisfied_block = False
if success: