From 143d7f371e68cdcabfffd5809b8a3231f0b8a07d Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 15 Oct 2010 19:49:56 -0700 Subject: emerge --depclean: Add more --debug output. --- pym/_emerge/actions.py | 22 ++++++++++++++++++++++ pym/_emerge/main.py | 1 + 2 files changed, 23 insertions(+) diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index 4f1243c23..71701d813 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -618,6 +618,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, myopts, action, args_set, spinner): allow_missing_deps = bool(args_set) + debug = '--debug' in myopts xterm_titles = "notitles" not in settings.features myroot = settings["ROOT"] root_config = trees[myroot]["root_config"] @@ -1102,6 +1103,7 @@ def calc_depclean(settings, trees, ldpath_mtimes, clean_set = set(cleanlist) if clean_set: + writemsg_level(">>> Calculating removal order...\n") # Use a topological sort to create an unmerge order such that # each package is unmerged before it's dependencies. This is # necessary to avoid breaking things that may need to run @@ -1130,6 +1132,15 @@ def calc_depclean(settings, trees, ldpath_mtimes, if not depstr: continue priority = priority_map[dep_type] + + if debug: + writemsg_level(_unicode_decode("\nParent: %s\n") \ + % (node,), noiselevel=-1, level=logging.DEBUG) + writemsg_level(_unicode_decode( "Depstring: %s\n") \ + % (depstr,), noiselevel=-1, level=logging.DEBUG) + writemsg_level(_unicode_decode( "Priority: %s\n") \ + % (priority,), noiselevel=-1, level=logging.DEBUG) + try: atoms = resolver._select_atoms(myroot, depstr, myuse=node.use.enabled, parent=node, @@ -1139,6 +1150,11 @@ def calc_depclean(settings, trees, ldpath_mtimes, # be uninstalled anyway. continue + if debug: + writemsg_level("Candidates: [%s]\n" % \ + ', '.join(_unicode_decode("'%s'") % (x,) for x in atoms), + noiselevel=-1, level=logging.DEBUG) + for atom in atoms: if not isinstance(atom, portage.dep.Atom): # Ignore invalid atoms returned from dep_check(). @@ -1152,6 +1168,12 @@ def calc_depclean(settings, trees, ldpath_mtimes, if child_node in clean_set: graph.add(child_node, node, priority=priority) + if debug: + writemsg_level("\nunmerge digraph:\n\n", + noiselevel=-1, level=logging.DEBUG) + graph.debug_print() + writemsg_level("\n", noiselevel=-1, level=logging.DEBUG) + ordered = True if len(graph.order) == len(graph.root_nodes()): # If there are no dependencies between packages diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py index f262d11bf..dc15719ec 100644 --- a/pym/_emerge/main.py +++ b/pym/_emerge/main.py @@ -1480,6 +1480,7 @@ def emerge_main(): if settings.get("PORTAGE_DEBUG", "") == "1": spinner.update = spinner.update_quiet portage.debug=1 + portage.util.noiselimit = 0 if "python-trace" in settings.features: import portage.debug portage.debug.set_trace(True) -- cgit v1.2.3-1-g7c22