summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* merge_wait_queue: use deque.clear()Zac Medico2011-05-081-1/+1
|
* Be careful with system pkgs + parallel-install.Zac Medico2011-05-071-10/+18
| | | | | This should prevent FEATURES=parallel-install from interfering with the fixes from bug #256616 and bug #259954.
* Scheduler: add queue for ebuild-locksZac Medico2011-05-071-2/+11
| | | | | | | | Use a separate queue for ebuild-locks when the merge queue allows more than 1 job (due to parallel-install), since the portage.locks module does not behave as desired if we try to lock the same file multiple times concurrently from the same process.
* Add FEATURES=parallel-install for finer locks.Zac Medico2011-05-071-1/+2
|