summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* Update Scheduler to protect against infinite loopDavid James2011-03-181-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-181-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-181-0/+4
|
* Scheduler: fix AttributeError in _terminate_tasksZac Medico2011-03-141-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-141-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-141-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-211-0/+1
|
* Recognize git-2.eclass when reinstalling self.Zac Medico2011-02-141-1/+2
|
* Scheduler: remove uninstall task from pkg_queuev2.1.9.32Zac Medico2011-01-171-0/+4
|
* Tweak PollScheduler signal handling.Zac Medico2011-01-161-3/+29
|
* Add PollScheduler.terminate() for interruption.Zac Medico2011-01-161-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.1.9.30Zac 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.
* inject binpkg after fetch for pkg_pretendZac 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-271-0/+5
|
* Scheduler: ensure display update every 3 secondsZac Medico2010-10-271-1/+36
|
* Fix pretend phase doebuild_environment().Zac Medico2010-10-211-3/+2
|
* 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.
* Add a Scheduler._running_tasks() set in order to simplify theZac Medico2010-08-281-2/+5
| | | | _is_work_scheduled() method.
* Inside Scheduler._dependent_on_scheduled_merges(), don't traverse childrenZac Medico2010-08-281-1/+5
| | | | of uninstall nodes since those aren't dependencies in the usual sense.
* Handle zlib.error when reading compressed build logs via GzipFile.Zac Medico2010-08-221-0/+4
|
* Bug #324191 - Add support for FEATURES=compress-build-logs. The causesZac Medico2010-08-211-27/+13
| | | | | | | all build logs to be compressed while they are being written. Log file names have an extension that is appropriate for the compression type. Currently, only gzip(1) compression is supported, so build logs will have a '.gz' extension when this feature is enabled.
* When accessing pkgsettings.features inside Scheduler._generate_digests(),Zac Medico2010-08-211-0/+8
| | | | | ensure that we are using global features settings rather than those from package.env.
* Move environment sanity check to the Scheduler and do it if thereZac Medico2010-08-181-0/+36
| | | | are any source packages in the merge list.
* Fix breakage in REPLACING_VERSIONS support for emerge.Zac Medico2010-08-171-0/+6
|
* Remove unused attributes from classes.Zac Medico2010-08-161-6/+6
|
* Remove PollScheduler._schedule_waitpid() since this case isn't triggeredZac Medico2010-08-151-2/+0
| | | | | | anymore, now that PollScheduler._unregister() has be fixed to discard unhandled events (so that reallocation of file descriptors no longer triggers erroneous delivery of stale events).