diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-03 02:14:08 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-03 02:14:08 +0000 |
commit | f3c2222b5132e4d6981dfd0307f29c0d97ef4447 (patch) | |
tree | 79d9eda0eef5f610b3509940c8e417317b77af0d | |
parent | 7e0b8b6e6cb4c927faa7ffe04e5a67e88d2b451e (diff) | |
download | portage-f3c2222b5132e4d6981dfd0307f29c0d97ef4447.tar.gz portage-f3c2222b5132e4d6981dfd0307f29c0d97ef4447.tar.bz2 portage-f3c2222b5132e4d6981dfd0307f29c0d97ef4447.zip |
Fix --resume mode to check for unsatisfied blockers and bail out when
necessary.
svn path=/main/trunk/; revision=10115
-rw-r--r-- | pym/_emerge/__init__.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index e1b078602..61c4aed7d 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -7637,6 +7637,10 @@ def action_build(settings, trees, mtimedb, mysettings.lock() del myroot, mysettings + favorites = mtimedb["resume"].get("favorites") + if not isinstance(favorites, list): + favorites = [] + # "myopts" is a list for backward compatibility. resume_opts = mtimedb["resume"].get("myopts", []) if isinstance(resume_opts, list): @@ -7664,6 +7668,21 @@ def action_build(settings, trees, mtimedb, if show_spinner: print "\b\b... done!" + if success: + mymergelist = mydepgraph.altlist() + if mymergelist and \ + (isinstance(mymergelist[-1], Blocker) and \ + not mymergelist[-1].satisfied): + if not fetchonly and not pretend: + mydepgraph.display( + mydepgraph.altlist(reversed=tree), + favorites=favorites) + print "\n!!! Error: The above package list contains packages which cannot be installed" + print "!!! at the same time on the same system." + if not quiet: + show_blocker_docs_link() + return 1 + if not success: mydepgraph.display_problems() |