summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* depgraph: migrate implicit libc deps from SchedZac Medico2011-04-301-65/+0
| | | | | Now all the virtual/libc handling is done by the depgraph, which will be helpful when fixing bug #364681.
* Remove unnecessary sync in Scheduler.py.David James2011-04-111-1/+1
| | | | | | | | | | | | | | If we are passed a fakevartree object, it should already be sync'd, so there is no need to sync it again here. This sync is only needed when we create a new FakeVartree, so I moved the sync to the right place to fix this. BUG=chromium-os:14035 TEST=Build a bunch of packages with this patch. Change-Id: I89d79cf946f4c0c27ad585ad7c88a41985260342 Review URL: http://codereview.chromium.org/6813084
* Fix a typo in a comment.Zac Medico2011-04-101-1/+1
|
* Scheduler: add more info in docstring commentsZac Medico2011-04-101-1/+7
| | | | This clarifies the purposes of _system_merge_started and _choose_pkg.
* Scheduler: pkg_to_replace beware old-style virtZac Medico2011-03-261-1/+2
|
* Update Portage to sync BlockerDB at init.David James2011-03-241-17/+7
| | | | | | | | | | | | Currently, Portage syncs the BlockerDB before every merge. This slows down merges considerably because it requires reading the entire vardb from disk. Since Portage doesn't merge conflicting packages anyway, we can optimize this by just reading the vardb at initialization and caching that. Change-Id: I6701926f022ef3aa2da10482fc8b09573ae24610 Review URL: http://codereview.chromium.org/6688037
* Update Scheduler to protect against infinite loopDavid James2011-03-161-4/+2
| | | | | If we have running tasks, but we're not listening to these tasks, we're going to loop forever. So throw an exception in this case.
* Scheduler: tweak prefetcher cancellation logicZac Medico2011-03-161-1/+9
| | | | | This should prevent "TypeError: an integer is required" raised from waitpid when trying to cancel a prefetcher that never started.
* Scheduler: terminate _merge_wait_queueZac Medico2011-03-161-0/+4
|
* Scheduler: fix AttributeError in _terminate_tasksZac Medico2011-03-121-1/+4
| | | | | Thanks to David James <davidjames@google.com> for reporting this error: AttributeError: 'EbuildPhase' object has no attribute 'merge'
* PollScheduler: tweek termination logicZac Medico2011-03-101-4/+4
| | | | | | | | | * PollScheduler and all subclasses now use the _terminated_tasks variable to check whether or not _terminate_tasks() has been called, and behave appropriately in that case. * The _schedule_tasks() method now has documentation about the relationship with _terminate_tasks() and _terminated_tasks.
* Scheduler: avoid infinite loop after CTRL-CZac Medico2011-03-101-1/+14
| | | | | | | | If CTRL-C was received at certain times, it was possible for discarded tasks to be erroneously left in Scheduler._running_tasks, which would cause the main loop to run infinitely. Thanks to David James <davidjames@google.com> for reporting this issue and helping to devise a solution.
* Scheduler: ensure _prefetchers is clearedZac Medico2011-02-201-0/+1
|
* Recognize git-2.eclass when reinstalling self.Zac Medico2011-02-141-1/+2
|
* Scheduler: remove uninstall task from pkg_queuev2.2.0_alpha16Zac Medico2011-01-171-0/+4
|
* Tweak PollScheduler signal handling.Zac Medico2011-01-151-3/+29
|
* Add PollScheduler.terminate() for interruption.Zac Medico2011-01-151-8/+17
| | | | | This allows PollScheduler instances to do basic cleanup and terminate gracefully when SIGINT or SIGTERM signals are received.
* Scheduler: free unneeded uninstall task from memv2.2.0_alpha14Zac Medico2011-01-061-1/+5
|
* Scheduler: handle same cpv with different SLOTZac Medico2011-01-051-0/+3
|
* Scheduler: fix reposyntax uninstall hash breakageZac Medico2011-01-051-8/+10
|
* Scheduler: always share FakeVartree pkg_cacheZac Medico2011-01-051-1/+2
|
* Scheduler: avoid unecessary Package instancesZac Medico2011-01-051-1/+0
|
* Scheduler: cache more Packages in --nodeps modeZac Medico2011-01-051-0/+2
|
* Scheduler: cache Package instance moreZac Medico2011-01-051-9/+12
| | | | | | | | This helps to avoid some cases in which emerge crashes due to ebuild modification that leads to failure in aux_get/manifest check while the Scheduler is running. Typically such modifications are harmless, so it's beneficial to cache the metadata so that aux_get is less likely to be called when it will fail.
* Scheduler: fix pkg cache more for reposyntaxZac Medico2010-12-071-1/+1
|
* Scheduler: fix pkg cache for reposyntaxZac Medico2010-12-071-5/+20
|
* inject binpkg after fetch for pkg_pretendv2.2.0_alpha7Zac Medico2010-12-051-0/+4
|
* Fix pkg_pretend output and error handling.Zac Medico2010-12-051-50/+73
|
* Scheduler: Always display message for pkg_pretendZac Medico2010-12-051-8/+2
|
* Sync EMERGE_FROM code with MERGE_TYPE code.Zac Medico2010-12-051-0/+2
|
* Scheduler: set MERGE_TYPE for pkg_pretendZac Medico2010-12-041-0/+5
|
* Scheduler._run_pkg_pretend: call setcpvZac Medico2010-12-031-0/+1
|
* Scheduler: eliminate redundant display callsZac Medico2010-10-271-1/+6
|
* Raise StopIteration from _poll() if needed.Zac Medico2010-10-261-0/+5
|
* Scheduler: ensure display update every 3 secondsZac Medico2010-10-231-1/+36
|
* Fix pretend phase doebuild_environment().Zac Medico2010-10-211-3/+2
|
* reposyntax: Add support all over the placeSebastian Luther2010-09-261-4/+4
|
* Make Package __str__ and __unicode__ methods more like DependencyArg.Zac Medico2010-09-161-2/+4
|
* Bug #336651 - Fix Scheduler._restart_if_necessary() to correctlyZac Medico2010-09-091-1/+5
| | | | | handle arguments like --exclude that are stored as a list since they use the 'append' action.
* Remove unnecessary depgraph.altlist() call in Scheduler._calc_resume_list().Zac Medico2010-09-061-2/+0
|
* Make Scheduler._set_graph_config() clear _deep_system_deps whenZac Medico2010-09-061-0/+2
| | | | appropriate.
* Move the Scheduler mergelist constructor parameter to the graph_configZac Medico2010-09-061-13/+25
| | | | object.
* Make depgraph.schedulerGraph() return an instance ofZac Medico2010-09-061-25/+25
| | | | | | | _scheduler_graph_config instead of just a digraph. This new object includes instances of FakeVartree and a package cache that is pruned to contain only installed packages or those in the digraph.
* Make Scheduler._destroy_installed_graph() destroy _digraph.Zac Medico2010-09-051-3/+4
|
* Add scheduler._init_installed_graph() and _destroy_installed_graph()Zac Medico2010-09-041-18/+39
| | | | | methods and use them to free memory when calling _calc_resume_list() for emerge --keep-going.
* Add a Scheduler._frozen_config attribute that will be useful forZac Medico2010-09-041-3/+10
| | | | | | dependency calculations related to aggressive parallelization (bug #279623). The FakeVartree instances are shared with the existing BlockerDB instances.
* When portage updates itself and the new version either inheritsZac Medico2010-08-311-3/+6
| | | | | | | | | git.eclass or has 9999 in its version, trigger the 'use copy of current sources for install, then restart portage' routine. This is required since with the live git portage-9999 ebuild we can't use the version to detect incompatible changes to ebuild.sh. This issue was noticed due to recent versions of ebuild.sh expecting PORTAGE_BZIP2_COMMAND to be set, causing incompatibility with installed portage-9999 instances.
* Rename the portage.sets module to portage._sets since it will be usefulZac Medico2010-08-301-2/+2
| | | | | in the upcoming 2.1.9 branch which will not have sets support but will still have the code in private and disabled form.
* Remove unused imports found by pylint.Arfrever Frehtes Taifersar Arahesis2010-08-291-2/+0
|
* Add a TODO note about replacing BlockerDB with an incremental depgraphZac Medico2010-08-291-0/+5
| | | | for solving bug #279623.