From: Zac Medico Date: Sun, 30 May 2010 09:00:50 +0000 (-0700) Subject: Make depgraph._serialize_tasks show a debug message when it X-Git-Tag: v2.2_rc68~561 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=9834be8b6d77c735afcf7bd55b26db9aeb441d1a;p=portage.git 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. --- diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py index 963bfd9f0..845d30775 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 5180c2ded..a466e7d89 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