Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Thu, 05 Apr 2012 18:53:24
Message-Id: 1333651971.001b0184cf72159a7d3c57501eb685205481ad3f.zmedico@gentoo
1 commit: 001b0184cf72159a7d3c57501eb685205481ad3f
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Thu Apr 5 18:52:51 2012 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Thu Apr 5 18:52:51 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=001b0184
7
8 Scheduler: optimize action_uninstall
9
10 ---
11 pym/_emerge/Scheduler.py | 6 +++++-
12 pym/_emerge/actions.py | 2 +-
13 2 files changed, 6 insertions(+), 2 deletions(-)
14
15 diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
16 index 8d6ab9f..5500acf 100644
17 --- a/pym/_emerge/Scheduler.py
18 +++ b/pym/_emerge/Scheduler.py
19 @@ -135,7 +135,8 @@ class Scheduler(PollScheduler):
20 portage.exception.PortageException.__init__(self, value)
21
22 def __init__(self, settings, trees, mtimedb, myopts,
23 - spinner, mergelist=None, favorites=None, graph_config=None):
24 + spinner, mergelist=None, favorites=None, graph_config=None,
25 + uninstall_only=False):
26 PollScheduler.__init__(self)
27
28 if mergelist is not None:
29 @@ -151,6 +152,7 @@ class Scheduler(PollScheduler):
30 self._spinner = spinner
31 self._mtimedb = mtimedb
32 self._favorites = favorites
33 + self._uninstall_only = uninstall_only
34 self._args_set = InternalPackageSet(favorites, allow_repo=True)
35 self._build_opts = self._build_opts_class()
36
37 @@ -327,6 +329,8 @@ class Scheduler(PollScheduler):
38 self._blocker_db = {}
39 dynamic_deps = self.myopts.get("--dynamic-deps", "y") != "n"
40 for root in self.trees:
41 + if self._uninstall_only:
42 + continue
43 if graph_config is None:
44 fake_vartree = FakeVartree(self.trees[root]["root_config"],
45 pkg_cache=self._pkg_cache, dynamic_deps=dynamic_deps)
46
47 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
48 index 22c3e26..9c87120 100644
49 --- a/pym/_emerge/actions.py
50 +++ b/pym/_emerge/actions.py
51 @@ -2657,7 +2657,7 @@ def action_uninstall(settings, trees, ldpath_mtimes,
52 # redirection of ebuild phase output to logs as required for
53 # options such as --quiet.
54 sched = Scheduler(settings, trees, None, opts,
55 - spinner)
56 + spinner, uninstall_only=True)
57 sched._background = sched._background_mode()
58 sched._status_display.quiet = True