summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* _keep_scheduling: check _terminated.is_set()Zac Medico2013-01-061-2/+2
| | | | | This ensures that scheduling loops terminate as soon as possible after an interrupt is received.
* resume_depgraph: check for alternative installedZac Medico2013-01-021-3/+6
| | | | | | | When pruning packages from the merge list, only prune them if the relevant dependency is not satisfied by an alternative package which is already installed. This should fix bug #448176, and now there's also reasons logged for why a particular package is dropped.
* emerge: add --quiet-fail for bug #440982Zac Medico2012-11-281-1/+2
|
* Package: add defined_phases, properties, restrictZac Medico2012-11-261-2/+2
|
* Rename Package.metadata to _metadata.Zac Medico2012-11-261-2/+2
| | | | | The raw metadata is considered a private low-level internal. This makes the Package class consistent with the _pkg_str class.
* Add Package.eapi property.Zac Medico2012-11-171-1/+1
|
* Fix some typos.Arfrever Frehtes Taifersar Arahesis2012-11-161-2/+2
|
* pkg_pretend: keep temp on failure for bug #442536Zac Medico2012-11-111-7/+12
|
* Scheduler: tweak job_delay calc for bug #438650v2.2.0_alpha140Zac Medico2012-10-161-5/+16
| | | | | | | | * Max delay is reduced to 5 seconds (was 10). * Calculated delay is now proportional to current/desired load ratio. * When a delay is triggered, an event loop timeout is used to ensure that scheduling occurs as soon as the delay expires (rather than waiting for the _loadavg_latency timeout to expire).
* PollScheduler: disable default _loadavg_latencyZac Medico2012-10-081-1/+6
| | | | | | Move the 30 second default to the Scheduler class, since that's the only place that it's currently needed (all other schedulers have relatively short-running jobs).
* PollScheduler: rename sched_iface to _sched_ifaceZac Medico2012-10-071-8/+8
| | | | | | It isn't used externally anymore, since SchedulerInterface is used directly in those places now. Many of the self.sched_iface references updated here, it's more appropriate to use self._event_loop.
* PollScheduler: split out SchedulerInterfaceZac Medico2012-10-071-6/+8
|
* action_uninstall: use PollScheduler not SchedulerZac Medico2012-10-071-5/+1
| | | | | The PollScheduler class suffices here, if we just add a small amount of logic to calculate the _background attribute from the emerge opts.
* PollScheduler: move _main_loop to SchedulerZac Medico2012-10-061-0/+30
|
* PollScheduler: remove self._jobsZac Medico2012-10-051-0/+4
| | | | This is variable is only needed by the Scheduler class.
* Prefer /etc/portage/make.profile.v2.2.0_alpha126Zac Medico2012-09-121-2/+3
| | | | | | | | | This is the default location used by current versions of eselect profile, and will soon be the default location in stages. Since eselect profile generates a warning if both /etc/make.profile and /etc/portage/make.profile exist, the new default should be fairly safe (although eselect profile currently prefers /etc/make.profile when both exist).
* _prepare_self_update: ignore installed versionZac Medico2012-09-011-9/+4
| | | | | | | | Now portage will unconditionally make a temporary copy of itself during updates. This is safer, since it provides maximum protection against any possible incompatibilities. For example, suppose that the ebuild has been updated to change the location of installed files (such as libdir change) without a revision bump.
* Rename slot-abi stuff to refer to slot-operator.Zac Medico2012-08-291-3/+3
| | | | | This makes it consistent with the language in the PMS eapi-5 branch: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5d6749ac9e5ddc5b1daaad7737b65fa81c6ece47
* Scheduler: only use poll timeout when neededZac Medico2012-08-201-3/+6
| | | | This avoids wasteful CPU consumption, as reported in bug #432024.
* Add experimental EAPI 4-slot-abi support.Zac Medico2012-06-221-1/+4
| | | | Refer to 4-slot-abi.docbook for a full description.
* PollScheduler: use local EventLoop (thread safe)Zac Medico2012-05-101-1/+1
| | | | | | | For API consumers, this makes the doebuild() function compatible with threads, avoiding a ValueError raised by the signal module, as reported at http://bugs.sabayon.org/show_bug.cgi?id=3305. Classes derived from PollScheduler still use the signal module when possible.
* Scheduler: optimize action_uninstallZac Medico2012-04-051-1/+5
|
* Replace @returns with @return.Zac Medico2012-03-271-5/+5
|
* Map emerge --buildpkg=n to FEATURES=-buildpkg.Zac Medico2012-03-211-1/+1
| | | | This will fix bug #409085.
* Scheduler: hang in _schedule_tasks, bug 404995v2.2.0_alpha88Zac Medico2012-02-201-1/+2
| | | | | This is triggered whenever emerge bails out while parallel-fetch is running in the background.
* Move _emerge.SlotObject to portage.util.Zac Medico2012-02-171-1/+1
|
* Scheduler: PyPy WeakValueDictionary.pop KeyErrorZac Medico2012-02-141-1/+8
| | | | | | | KeyError observed from WeakValueDictionary.pop() with PyPy 1.8, despite None given as default. Note that PyPy 1.8 has the same WeakValueDictionary code as CPython 2.7, so it may be possible for CPython to raise KeyError here as well.
* AsynchronousTask: don't wait for exit statusZac Medico2012-02-131-2/+2
| | | | | | Synchronous waiting for status is not supported, since it would be vulnerable to hitting the recursion limit when a large number of tasks need to be terminated simultaneously, like in bug #402335.
* Scheduler: simplify _sched_iface constructionv2.2.0_alpha86Zac Medico2012-02-111-14/+3
|
* PollScheduler: return None from _schedule_tasksZac Medico2012-02-111-2/+0
| | | | The _keep_scheduling() template method is used instead.
* PollScheduler: add generic _main_loop()Zac Medico2012-02-101-12/+3
|
* Scheduler: cleanup timeout after _main_loopZac Medico2012-02-101-2/+3
| | | | | The way we don't leave an leak a reference to the Scheduler instance in the global EventLoop instance.
* Use IO_* constants where appropriate.Zac Medico2012-02-091-0/+6
|
* PollScheduler: remove _poll_loopZac Medico2012-02-081-8/+5
| | | | | We can use iteration() instead, and _poll_loop's exit behavior doesn't seem practical to emulate with glib.MainLoop.
* Scheduler: tweak _add_prefetchersZac Medico2012-02-081-8/+6
| | | | | Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the first prefetcher is started as soon as it's added to the task queue.
* SequentialTaskQueue: schedule automaticallyZac Medico2012-02-081-7/+7
| | | | | | | This is needed to compensate for the removal of _idle_schedule in commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, so that the Scheduler's task queues operate without needing their schedule methods called inside Scheduler._schedule_tasks().
* Scheduler: remove _idle_scheduleZac Medico2012-02-081-5/+0
| | | | | This shouldn't be needed, since _schedule() should already be called automatically when there are any relevant state changes.
* EventLoop: use same method names as glibZac Medico2012-02-081-7/+7
|
* PollScheduler: don't inherit EventLoopZac Medico2012-02-081-12/+12
|
* PollScheduler: remove _schedule_waitZac Medico2012-02-071-1/+1
|
* PollScheduler: add iteration methodZac Medico2012-02-071-3/+3
|
* Scheduler: use idle_add, not _poll overrideZac Medico2012-02-071-2/+4
|
* PollScheduler: glib.io_add_watch() compatibilityZac Medico2012-02-071-0/+1
|
* PollScheduler: timeouts regardless of IO eventsZac Medico2012-02-071-43/+3
| | | | | | Now PollScheduler will execute timeouts predictably, even when there no IO events being generated. This allows the Scheduler's display updates to be handled via timeout_add.
* PollScheduler: add timeout_add like glib'sZac Medico2012-02-071-4/+4
| | | | | This will be useful as a substitute for recursion, in order to avoid hitting the recursion limit for bug #402335.
* Display EROOT when ROOT != "/".Zac Medico2011-12-191-4/+4
| | | | | | | Since commit a715b65f7bd36409c1283e6911265d1f4405ab7a, the Package.root and RootConfig.root attributes refer to EROOT instead of ROOT. Therefore, adjust display code so that EROOT is only displayed when ROOT != "/".
* _run_pkg_pretend: doebuild_environment for cleanZac Medico2011-12-181-0/+14
|
* emerge: disable --quiet-build by defaultZac Medico2011-12-131-1/+1
| | | | | | | | | This reverts the behavior change from commit 0cc174b6fc28feb26ea151d76f794e0ff2c2fa39, since Gentoo's council has voted to revert it in their 20111213 meeting, as requested on the gentoo-project mailing list: http://archives.gentoo.org/gentoo-project/msg_4e282bb4e6ac2611de2a39171a803c48.xml
* Schduler: _check_temp_dir in _handle_self_updateZac Medico2011-11-181-2/+9
|
* Tweak the last commit.Zac Medico2011-11-171-11/+2
|