diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-09-04 16:00:36 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-04 16:00:36 -0700 |
commit | 3f901a5c683fb90ef69c33c8e8f1a8f65853b43a (patch) | |
tree | b7d8816bb4d3f54306f142b0ca7304bab0fa706a /pym/_emerge/Scheduler.py | |
parent | 208e905b68118621ea74999c1e1b589e7a83d203 (diff) | |
download | portage-3f901a5c683fb90ef69c33c8e8f1a8f65853b43a.tar.gz portage-3f901a5c683fb90ef69c33c8e8f1a8f65853b43a.tar.bz2 portage-3f901a5c683fb90ef69c33c8e8f1a8f65853b43a.zip |
Add a Scheduler._frozen_config attribute that will be useful for
dependency calculations related to aggressive parallelization
(bug #279623). The FakeVartree instances are shared with the
existing BlockerDB instances.
Diffstat (limited to 'pym/_emerge/Scheduler.py')
-rw-r--r-- | pym/_emerge/Scheduler.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index b78be89f9..86d815c8c 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -38,7 +38,8 @@ from _emerge.clear_caches import clear_caches from _emerge.create_depgraph_params import create_depgraph_params from _emerge.create_world_atom import create_world_atom from _emerge.DepPriority import DepPriority -from _emerge.depgraph import depgraph, resume_depgraph +from _emerge.depgraph import depgraph, resume_depgraph, \ + _frozen_depgraph_config from _emerge.EbuildFetcher import EbuildFetcher from _emerge.EbuildPhase import EbuildPhase from _emerge.emergelog import emergelog, _emerge_log_dir @@ -196,17 +197,23 @@ class Scheduler(PollScheduler): self.edebug = 0 if settings.get("PORTAGE_DEBUG", "") == "1": self.edebug = 1 - self.pkgsettings = {} self._config_pool = {} # TODO: Replace the BlockerDB with a depgraph of installed packages # that's updated incrementally with each upgrade/uninstall operation # This will be useful for making quick and safe decisions with respect # to aggressive parallelization discussed in bug #279623. + frozen_config = None + if frozen_config is None: + frozen_config = _frozen_depgraph_config(settings, trees, + myopts, None) + self._frozen_config = frozen_config + self.pkgsettings = frozen_config.pkgsettings self._blocker_db = {} for root in trees: self._config_pool[root] = [] - self._blocker_db[root] = BlockerDB(trees[root]["root_config"]) + self._blocker_db[root] = BlockerDB( + frozen_config.trees[root]["vartree"]) fetch_iface = self._fetch_iface_class(log_file=self._fetch_log, schedule=self._schedule_fetch) |