From 9834be8b6d77c735afcf7bd55b26db9aeb441d1a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 30 May 2010 02:00:50 -0700 Subject: Make depgraph._serialize_tasks show a debug message when it enables 'complete' mode due to an uninstall, and fix the Package.__str__ method to display uninstall tasks properly. --- pym/_emerge/Package.py | 6 ++---- 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 -- cgit v1.2.3