| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
This should fix possible missing content when displaying split
ChangeLogs (bug #389611), and also normalizes blank lines.
|
|
|
|
| |
This will fix bug #409085.
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
| |
This reverts commit 884993c7f4b9e7e9ede690f5fab81742915fc942.
Calling reset is expensive and is not really needed since commit
3ca5f0cc08d233a3e229e78b573c7aab7d46cb9c.
|
|
|
|
|
| |
This should prevent doebuild_environment from incorrectly using the
CATEGORY from the previous setcpv call, as reported in bug #408817.
|
|
|
|
| |
Signed-off-by: Zac Medico <zmedico@gentoo.org>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This patch does not change emerge's behaviour.
|
|
|
|
| |
Fixes bug 399863.
|
|
|
|
|
| |
This is triggered whenever emerge bails out while parallel-fetch is
running in the background.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This fixes performance issues introduced by commit
9c664779a16f6cbca8a5ffe7f6b0c68572819723.
|
| |
|
|
|
|
|
| |
This ensures that the EventLoop will not stop due to a waitpid call
blocking forever.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
These cases should have been included with commit
6a94a074aa0475173a51f3f726377d4c407e986b.
|
|
|
|
|
| |
These checks should be irrelevant, since the cancel() method is never
called on anything that hasn't been started already.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Regenerate metadata for given cpv in each repository.
|
|
|
|
| |
The _keep_scheduling() template method is used instead.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
As suggested here:
http://archives.gentoo.org/gentoo-dev/msg_06a47ad55977f4d16bfe18769c6c38b8.xml
|
| |
|
|
|
|
|
| |
The way we don't leave an leak a reference to the Scheduler instance
in the global EventLoop instance.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Use a StopIteration exception to jump out of EventLoop.iterate()
before the poll loop.
|
| |
|
| |
|