| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
This will fix bug #364673.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we are passed a fakevartree object, it should already be sync'd, so
there is no need to sync it again here. This sync is only needed when
we create a new FakeVartree, so I moved the sync to the right place to
fix this.
BUG=chromium-os:14035
TEST=Build a bunch of packages with this patch.
Change-Id: I89d79cf946f4c0c27ad585ad7c88a41985260342
Review URL: http://codereview.chromium.org/6813084
|
| |
|
|
|
|
| |
This clarifies the purposes of _system_merge_started and _choose_pkg.
|
|
|
|
| |
This will fix bug #361463.
|
|
|
|
| |
This will fix bug #361257.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This can be triggered by AbstractPollTask._log_poll_exception(), as
reported by Michael Haubenwallner <haubi@gentoo.org> for AIX.
|
|
|
|
|
|
|
|
| |
In this subprocess we don't want PORTAGE_BACKGROUND to suppress
stdout/stderr output since they are pipes. We also don't want to open
PORTAGE_LOG_FILE, since it will already be opened by the parent
process, so we set the PORTAGE_BACKGROUND="subprocess" value for use
in conditional logging code involving PORTAGE_LOG_FILE.
|
|
|
|
|
|
| |
This integrates the fix from commit
8209aeab647b1ab80a64d5931069b3533776ef75 with the asynchronous merge
changes from commit 7535cabdf2fab76fc55df83643157613dfd66be9.
|
|
|
|
|
|
|
|
| |
This allows for the scheduler to continue to run while packages are
being merged and installed, allowing for additional parallelism and
making better use of the CPUs.
Review URL: http://codereview.chromium.org/6713043
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, Portage syncs the BlockerDB before every merge. This slows
down merges considerably because it requires reading the entire vardb
from disk. Since Portage doesn't merge conflicting packages anyway, we
can optimize this by just reading the vardb at initialization and
caching that.
Change-Id: I6701926f022ef3aa2da10482fc8b09573ae24610
Review URL: http://codereview.chromium.org/6688037
|
|
|
|
|
|
| |
This allows --ask to be enabled via EMERGE_DEFAULT_OPTS, and then
temporarily disabled via the command-line. This may be useful for
programs that call emerge non-interactively, as in bug #360233.
|
| |
|
|
|
|
| |
Thanks to Dennis Schridde in bug #359681.
|
|
|
|
|
| |
Also, fix local portage.debug import so that "global portage" is
not necessary.
|
|
|
|
|
|
| |
This is a regression from commit
363a7478a100495d2e8597bc6c6d2fdac94339e0 but it's usually not
noticeable with Ctrl-C since SIGINT is propagated to nested processes.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Though this case might never have been triggered, the logic was broken
for cases in which self.cancelled was false and a task was queued. In
this case we need to call back into the scheduler until the queued task
is started or we are cancelled, whichever comes first.
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents the Scheduler from hanging if the client is killed before
we can send the reply, as reported by David James:
http://codereview.chromium.org/6713003
This commit depends on ebuild-ipc (the client) opening the other side
of this fifo before it sends its request, which has already been added
in commit eff879ff0ce7dcc1ce68d5f16de1ec73051f8c18.
|
| |
|
| |
|
|
|
|
|
| |
If we have running tasks, but we're not listening to these tasks,
we're going to loop forever. So throw an exception in this case.
|
|
|
|
|
| |
This should prevent "TypeError: an integer is required" raised from
waitpid when trying to cancel a prefetcher that never started.
|
| |
|
| |
|
|
|
|
|
|
| |
This is needed in order to ensure that exit listeners are called.
Subclasses call the base class cancel() method in order to inherit the
wait() call.
|
| |
|
| |
|
|
|
|
|
|
| |
This allows --quiet and --quiet-build to be enabled via
EMERGE_DEFAULT_OPTS, and then temporarily disabled via the command-
line.
|
| |
|
|
|
|
|
| |
Thanks to David James <davidjames@google.com> for reporting this error:
AttributeError: 'EbuildPhase' object has no attribute 'merge'
|
|
|
|
|
|
|
|
|
| |
* PollScheduler and all subclasses now use the _terminated_tasks
variable to check whether or not _terminate_tasks() has been called,
and behave appropriately in that case.
* The _schedule_tasks() method now has documentation about the
relationship with _terminate_tasks() and _terminated_tasks.
|
|
|
|
|
| |
This prevents it from being called while the _schedule_tasks()
implementation is running, in order to avoid potential interference.
|
|
|
|
|
|
|
|
| |
If CTRL-C was received at certain times, it was possible for discarded
tasks to be erroneously left in Scheduler._running_tasks, which would
cause the main loop to run infinitely. Thanks to David James
<davidjames@google.com> for reporting this issue and helping to devise
a solution.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, when AbstractPollTask receives a POLLERR or POLLNVAL event,
it would silently cancel the task. Now it will generate a message like
this:
!!! SpawnProcess received strange poll event: 8
The message is displayed via a new _log_poll_exception method, which
is overridden by AbstractEbuildProcess to log the message via elog.
This might help diagnose reported cases of SIGTERM signals killing
ebuild processes for no apparent reason:
http://code.google.com/p/chromium-os/issues/detail?id=12968
|
|
|
|
| |
The dblink constructor is complex and best avoided.
|
| |
|