summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Scheduler: fix parallel-fetch order with --jobs=1Zac Medico2011-08-021-0/+7
| | | | | | This avoids a case where the first prefetcher is discarded, causing the second prefetcher to occupy the fetch queue before the first fetcher has an opportunity to execute.
* Scheduler: fix _running_tasks for uninstallsv2.2.0_alpha46Zac Medico2011-07-191-1/+3
|
* Scheduler: simplify _terminate_tasksZac Medico2011-07-181-19/+8
| | | | | | This should also fix bugs related to CompositeTask instances waiting for queued tasks to start and not being properly terminated in this case.
* Scheduler: allow concurrent fetch with --jobs > 1Zac Medico2011-07-171-3/+12
| | | | | | | This reverts behavior from bug #375331 (commit f07f8386e945b48358c11c121960e4833c539752) for cases in which --jobs is greater than 1. We can add a separate --fetch-jobs option later, but for now, this preserves previous behavior for --jobs > 1.
* Scheduler: enable prefetch for first packageZac Medico2011-07-161-4/+1
| | | | | | Since commit f07f8386e945b48358c11c121960e4833c539752, the first will have to wait for later ones to fetch unless we start its prefetcher first.
* Remove python-2.6 StringIO.StringIO fallback.Zac Medico2011-07-121-1/+0
| | | | | | | | Since the io module in python-2.6 was broken when threading was disabled, we needed to fall back from io.StringIO to StringIO.StringIO in this case (typically just for Gentoo's stage1 and stage2 tarballs). Now that python-2.7 is stable in stages and we rely on io.open() being available, we can also rely on io.StringIO being available.
* Scheduler: make --fetchonly skip pkg_pretendZac Medico2011-06-131-3/+4
|
* Scheduler: init _fetch_log in constructorZac Medico2011-06-051-3/+4
| | | | This ensures that we account for EMERGE_LOG_DIR.
* dblink.merge: remove unused scheduler callbacksZac Medico2011-06-031-67/+1
|
* Package: add new _gen_hash_key methodZac Medico2011-05-221-20/+4
|