diff options
-rw-r--r-- | pym/_emerge/Package.py | 6 | ||||
-rw-r--r-- | pym/_emerge/depgraph.py | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 963bfd9f..845d3077 100644 --- a/pym/_emerge/Package.py +++ b/pym/_emerge/Package.py @@ -159,15 +159,13 @@ class Package(Task): if self.type_name == "installed": if self.root != "/": s += " in '%s'" % self.root + if self.operation == "uninstall": + s += " scheduled for uninstall" else: if self.operation == "merge": s += " scheduled for merge" if self.root != "/": s += " to '%s'" % self.root - elif self.operation == "uninstall": - s += " scheduled for uninstall" - if self.root != "/": - s += " from '%s'" % self.root s += ")" return s diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 5180c2de..a466e7d8 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -4014,6 +4014,18 @@ class depgraph(object): not complete and \ not unsolvable_blockers: self._dynamic_config.myparams["complete"] = True + if '--debug' in self._frozen_config.myopts: + msg = [] + msg.append("enabling 'complete' depgraph mode " + \ + "due to uninstall task(s):") + msg.append("") + for node in retlist: + if isinstance(node, Package) and \ + node.operation == 'uninstall': + msg.append("\t%s" % (node,)) + writemsg_level("\n%s\n" % \ + "".join("%s\n" % line for line in msg), + level=logging.DEBUG, noiselevel=-1) raise self._serialize_tasks_retry("") # Set satisfied state on blockers, but not before the |