diff options
-rwxr-xr-x | bin/emerge | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge index f19c29f49..e37f4bb6d 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1804,9 +1804,22 @@ class depgraph: # dep_wordreduce and dep_eval calls. try: portage.dep._dep_check_strict = False - success, atoms = portage.dep_check(depstr, - final_db, pkgsettings, myuse=myuse, - trees=dep_check_trees, myroot=myroot) + try: + success, atoms = portage.dep_check(depstr, + final_db, pkgsettings, myuse=myuse, + trees=dep_check_trees, myroot=myroot) + except Exception, e: + if isinstance(e, SystemExit): + raise + # This is helpful, for example, if a ValueError + # is thrown from cpv_expand due to multiple + # matches (this can happen if an atom lacks a + # category). + show_invalid_depstring_notice( + ("installed", myroot, pkg, "nomerge"), + depstr, str(e)) + del e + raise finally: portage.dep._dep_check_strict = True if not success: |