summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
Commit message (Collapse)AuthorAgeFilesLines
* emerge --changelog: show some log entries aboveZac Medico2012-03-221-3/+18
| | | | This will fix bug #373009.
* emerge --changelog: fix split ChangeLog bugsZac Medico2012-03-222-19/+46
| | | | | This should fix possible missing content when displaying split ChangeLogs (bug #389611), and also normalizes blank lines.
* Map emerge --buildpkg=n to FEATURES=-buildpkg.Zac Medico2012-03-214-6/+8
| | | | This will fix bug #409085.
* spawn_nofetch: clone locked config, bug #408817Zac Medico2012-03-191-2/+1
| | | | | | It's unsafe to pass in an unlocked config instance, since that can trigger issues like bug #408817 due to fragile assumptions involving the config state inside doebuild_environment().
* Revert "depgraph: reset pkgsettings after setcpv"Zac Medico2012-03-191-1/+0
| | | | | | This reverts commit 884993c7f4b9e7e9ede690f5fab81742915fc942. Calling reset is expensive and is not really needed since commit 3ca5f0cc08d233a3e229e78b573c7aab7d46cb9c.
* depgraph: reset pkgsettings after setcpvZac Medico2012-03-191-0/+1
| | | | | This should prevent doebuild_environment from incorrectly using the CATEGORY from the previous setcpv call, as reported in bug #408817.
* Display: spawn pkg_nofetch when appropriateMartin von Gagern2012-03-131-1/+12
| | | | Signed-off-by: Zac Medico <zmedico@gentoo.org>
* install-info: avoid unnecessary shellZac Medico2012-03-081-5/+16
|
* Exit after killed while waiting on prefetch.Zac Medico2012-03-083-2/+25
|
* Use Popen to avoid unnecessary shell.Zac Medico2012-03-081-8/+45
|
* action_build: return 1 for "no" --ask answerZac Medico2012-02-291-1/+1
|
* autounmask: Avoid unmasking live versions if possibleSebastian Luther2012-02-261-8/+25
| | | | | | | | | | | | | | | | | | | | Before this patch the allowed changes were: 1. USE 2. USE + ~arch + license 3. USE + ~arch + license + missing keywords + masks With this patch: 1. USE 2. USE + ~arch + license 3. USE + ~arch + license + missing keywords 4. USE + ~arch + license + masks 5. USE + ~arch + license + missing keywords + masks This avoids unmasking live versions, which are typically masked and have missing keywords to be avoided if there is a regular masked version available.
* Reorganize how autounmask allows changes to be madeSebastian Luther2012-02-261-52/+57
| | | | This patch does not change emerge's behaviour.
* autounmask: Fix USE change messages to display the correct parentSebastian Luther2012-02-241-0/+4
| | | | Fixes bug 399863.
* 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 Poll{Constants,SelectAdapter} to _eventloop.Zac Medico2012-02-172-91/+0
|
* Move _emerge.SlotObject to portage.util.Zac Medico2012-02-1710-67/+22
|
* SlotObject: validate __slots__ and keyword argsZac Medico2012-02-171-2/+11
|
* Remove redundant inherited __slots__ values.Zac Medico2012-02-171-1/+1
|
* SubProcess._waitpid_cb: fix args for glib compatZac Medico2012-02-171-1/+1
|
* SubProcess: use child_watch_addZac Medico2012-02-161-29/+7
| | | | | This fixes performance issues introduced by commit 9c664779a16f6cbca8a5ffe7f6b0c68572819723.
* EventLoop: implement child_watch_addZac Medico2012-02-161-1/+3
|
* SubProcess: use non-blocking waitpidZac Medico2012-02-151-12/+27
| | | | | This ensures that the EventLoop will not stop due to a waitpid call blocking forever.
* Comment about _setup_pipes / PyPy GC interaction.Zac Medico2012-02-151-1/+5
|
* SpawnProcess: use os.open for /dev/null inputZac Medico2012-02-151-3/+3
|
* 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.
* SpawnProcess: for stdout use os.write, not fdopenZac Medico2012-02-141-6/+5
|
* SubProcess._wait: add debug code for bug #403697Zac Medico2012-02-141-0/+6
|
* Assert that fork returns int for bug 403697.Zac Medico2012-02-141-0/+3
| | | | | These cases should have been included with commit 6a94a074aa0475173a51f3f726377d4c407e986b.
* AsynchronousTask: skip cancelled check in _startZac Medico2012-02-142-6/+0
| | | | | These checks should be irrelevant, since the cancel() method is never called on anything that hasn't been started already.
* After python fork, don't close fds for PyPy 1.8.Zac Medico2012-02-141-1/+5
| | | | | | | | | | | | | | | | If we close all open file descriptors after a fork, with PyPy 1.8 it triggers "[Errno 9] Bad file descriptor" later in the subprocess. Apparently it is holding references to file descriptors and closing them after they've already been closed and re-opened for other purposes. As a workaround, we don't close the file descriptors, so that they won't be re-used and therefore we won't be vulnerable to this kind of interference. The obvious caveat of not closing the fds is that the subprocess can hold locks that belonged to the parent process, even after the parent process has released the locks. Hopefully this won't be a major problem though, since the subprocess has to exit at release the lock eventually, when the EbuildFetcher or _MergeProcess task is complete.
* AsynchronousTask: don't wait for exit statusZac Medico2012-02-138-11/+29
| | | | | | 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.
* PollScheduler: use idle_add to check terminationZac Medico2012-02-122-22/+41
| | | | | | | | | This fixes a regression in termination signal handling since commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, which cause termination signals to be ignored until a running job had exited. This regression is not really noticeable for Ctrl-C handling, since in that case the SIGINT propagets to subprocesses, causing them to exit and trigger a _schedule() call whichtriggers a termination check.
* Scheduler: simplify _sched_iface constructionv2.2.0_alpha86Zac Medico2012-02-111-14/+3
|
* EbuildIpcDaemon: handle POLLHUP, bug #401919Zac Medico2012-02-111-0/+24
|
* AbstractPollTask: merge _wait from subclassZac Medico2012-02-112-12/+6
|
* QueueScheduler: tweak run loop logicZac Medico2012-02-111-5/+5
|
* MetadataRegen: use porttreesZac Medico2012-02-111-1/+4
|
* _emerge.MetadataRegen.MetadataRegen._iter_metadata_processes():Arfrever Frehtes Taifersar Arahesis2012-02-111-21/+23
| | | | Regenerate metadata for given cpv in each repository.
* PollScheduler: return None from _schedule_tasksZac Medico2012-02-113-15/+12
| | | | The _keep_scheduling() template method is used instead.
* QueueScheduler: timeout compat for GlibEventLoopZac Medico2012-02-111-10/+19
| | | | | | | | Raising StopIteration doesn't work with GlibEventLoop, since it catches all exceptions and logs them. So, just use a boolean expression to terminate the while loop. This depends on commit dcb9fab8463996542d06d29bc383f5933bf0d677 so that IpcDaemonTestCase timeouts work correctly with both EventLoop and GlibEventLoop.
* display_autounmask: highlight config changesZac Medico2012-02-101-4/+12
| | | | | | As suggested here: http://archives.gentoo.org/gentoo-dev/msg_06a47ad55977f4d16bfe18769c6c38b8.xml
* PollScheduler: add generic _main_loop()Zac Medico2012-02-104-27/+30
|
* 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.
* EbuildMerge: add exit_hook to unlock build dirZac Medico2012-02-103-5/+7
| | | | | | | | This is needed since commit 7a6c34cc6bd6eb20a97e05347f87a0157f4ae58a in order to ensure that the build dir is unlocked before exit listeners are called. It fixes failures in catalyst stage 1 builds where two instances of the same package, built sequentially for separate roots, interfere with eachother's build dir lock.
* Use IO_* constants where appropriate.Zac Medico2012-02-096-19/+35
|
* Add global_event_loop() and GlibEventLoop.Zac Medico2012-02-091-2/+2
| | | | | | This causes all PollScheduler instances within a given process to share a singleton EventLoop instance, and also makes it possible to swap in glib's main loop for all portage event loops in the main process.
* AsynchronousTask: exit listeners reverse orderZac Medico2012-02-091-1/+5
| | | | | | This should fix a Scheduler hang which is triggered when that merge queue, a SequentialTaskQueue, doesn't decrement its merge count until after other exit listeners have already run.
* QueueScheduler: fix for IpcDaemonTestCaseZac Medico2012-02-091-1/+3
| | | | | Use a StopIteration exception to jump out of EventLoop.iterate() before the poll loop.
* Move EventLoop to a separate file.Zac Medico2012-02-081-366/+1
|