From b9226939dc1b50d7b77e8ac99112d468b2140b52 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 6 Aug 2010 01:21:47 -0700 Subject: In action_unmerge(), create a Schuduler instance for calls to unmerge(), in order to cause redirection of ebuild phase output to logs as required for options such as --quiet. --- pym/_emerge/actions.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'pym/_emerge/actions.py') diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py index e8c6e3ad1..9de45f44d 100644 --- a/pym/_emerge/actions.py +++ b/pym/_emerge/actions.py @@ -515,7 +515,7 @@ def action_config(settings, trees, myopts, myfiles): print() def action_depclean(settings, trees, ldpath_mtimes, - myopts, action, myfiles, spinner): + myopts, action, myfiles, spinner, scheduler=None): # Kill packages that aren't explicitly merged or are required as a # dependency of another package. World file is explicit. @@ -576,7 +576,8 @@ def action_depclean(settings, trees, ldpath_mtimes, if cleanlist: unmerge(root_config, myopts, "unmerge", - cleanlist, ldpath_mtimes, ordered=ordered) + cleanlist, ldpath_mtimes, ordered=ordered, + scheduler=scheduler) if action == "prune": return @@ -2427,18 +2428,28 @@ def action_uninstall(settings, trees, ldpath_mtimes, for line in textwrap.wrap(msg, 72): out.ewarn(line) + if action == 'deselect': + return action_deselect(settings, trees, opts, valid_atoms) + + # Create a Schuduler for calls to unmerge(), in order to cause + # redirection of ebuild phase output to logs as required for + # options such as --quiet. + sched = Scheduler(settings, trees, None, opts, + spinner, [], [], None) + sched._background = sched._background_mode() + sched._status_display.quiet = True + if action in ('clean', 'unmerge') or \ (action == 'prune' and "--nodeps" in opts): # When given a list of atoms, unmerge them in the order given. ordered = action == 'unmerge' unmerge(trees[settings["ROOT"]]['root_config'], opts, action, - valid_atoms, ldpath_mtimes, ordered=ordered) + valid_atoms, ldpath_mtimes, ordered=ordered, + scheduler=sched._sched_iface) rval = os.EX_OK - elif action == 'deselect': - rval = action_deselect(settings, trees, opts, valid_atoms) else: rval = action_depclean(settings, trees, ldpath_mtimes, - opts, action, valid_atoms, spinner) + opts, action, valid_atoms, spinner, scheduler=sched._sched_iface) return rval -- cgit v1.2.3-1-g7c22