summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Skip the "resume after portage update" routine.Zac Medico2011-11-171-105/+38
| | | | | | | Instead, finish the whole job using a copy of the currently running instance. This allows us to avoid the complexities of emerge --resume, such as the differences in option handling between different portage versions, as reported in bug #390819.
* pkg_pretend: handle interruption morev2.2.0_alpha75Zac Medico2011-11-161-0/+6
|
* pkg_pretend: tweak final cleanup logicZac Medico2011-11-161-11/+9
| | | | | This ensures that the clean phase will not run if the user interrupts emerge before the build dir is locked.
* Scheduler.py: remove unused vars (pyflakes)Zac Medico2011-11-161-8/+0
|
* Tweak emerge --quiet-build default handling.Zac Medico2011-11-161-1/+1
| | | | | Since --quiet-build is enabled be default, there's no need to have it in the options dict except when it is enabled.
* pkg_pretend: lock before unpacking binpkg xpakZac Medico2011-11-161-17/+20
| | | | This fixes a regression from the previous commit.
* pkg_pretend: clean first for bug #390711Zac Medico2011-11-161-13/+33
|
* fix previous commit to call ensure_dirsZac Medico2011-10-271-1/+2
|
* Run pkg_pretend in PORTAGE_TMPDIR for bug #388593Zac Medico2011-10-271-1/+2
|
* Use EROOT instead of ROOT for keys everywhere.Zac Medico2011-10-251-7/+4
| | | | | | | | | | It makes more sense to use EROOT instead of ROOT for keys in mappings like portage.db, since it allows for multiple prefixes to exist simultaneously within the same map without having a key collision. This affects all portageq commands which take a <root> parameter, since that parameter now corresponds to EROOT instead of ROOT. None of this makes any difference for non-prefix users, since EROOT and ROOT are identical when EPREFIX is empty.
* Add --binpkg-exclude optionSebastian Luther2011-10-161-1/+6
| | | | | This options disables creation of binary packages, no matter what enabled it in the first place. See bug 386903.
* Scheduler: fix myopts typo from last commitZac Medico2011-10-101-1/+1
|
* Add emerge --dynamic-deps <y|n> option.Zac Medico2011-10-101-1/+2
| | | | | | | | | | | | | This makes it possible to disable the dynamic dependency updates that FakeVartree performs by default. WARNING: If --dynamic-deps is disabled, then it is necessary to ensure that an alternative method is used to handle package moves in dependencies of installed packages. Normally, this is handled by FEATURES="fixpackages", which is enabled by default and may be disabled via make.conf(5). Alternatively, in order to manually apply package moves, run `emaint --fix moveinst` after each emerge --sync operation (see emaint(1)).
* Fix "ResourceWarning: unclosed file" with Python 3.2.Arfrever Frehtes Taifersar Arahesis2011-08-271-1/+1
|
* python3.2 fixes: ResourceWarning: unclosed fileZac Medico2011-08-241-0/+4
|