| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes: https://github.com/gentoo/portage/pull/343
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the AsynchronousTask.wait() method is prone to event loop
recursion, deprecate it, and add an async_wait() method method to
replace it. Instead of using task.wait() in order to implicitly run
the event loop, now loop.run_until_complete(task.async_wait()) will
be used to explicitly run the event loop. This explicit approach will
make it more obvious when code will trigger event loop recursion
which would not be compatible with asyncio's default event loop.
Bug: https://bugs.gentoo.org/653856
|
|
|
|
|
|
|
|
|
|
| |
The synchronous lock method can trigger event loop recursion if the
event loop is already running, which is incompatible with asyncio's
default event loop. Therefore, migrate the last consumers to use the
async_lock method, and remove the synchronous lock method.
Bug: https://bugs.gentoo.org/614112
Bug: https://bugs.gentoo.org/649588
|
|
|
|
|
|
|
|
|
|
| |
The synchronous unlock method can trigger event loop recursion if the
event loop is already running, which is incompatible with asyncio's
default event loop. Therefore, migrate the last consumers to use the
async_unlock method, and remove the synchronous unlock method.
Bug: https://bugs.gentoo.org/614108
Bug: https://bugs.gentoo.org/649588
|
|
|
|
| |
Bug: https://bugs.gentoo.org/591760
|
|
|
|
|
|
|
|
|
|
| |
The set of required hashes specify which hashes must be present for
a distfile not to be refetched. It makes little sense to hardcode this
value, and it is mostly useful for transition periods, so make it
configurable via layout.conf and default to all hashes
in manifest-hashes.
Reviewed-by: Zac Medico <zmedico@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the add_done_callback and remove_done_callback methods, since
they are required in order to make further progress toward asyncio
compatibility.
Also implement the AbstractEventLoop create_future method for the
EventLoop class, so that it returns an instance of _EventLoopFuture.
EventLoop currently does not implement some of the
asyncio.AbstractEventLoop methods that asyncio.Future requires for
its add_done_callback implementation, and the create_future method
conveniently solves this problem.
X-Gentoo-bug: 591760
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=591760
Acked-by: Brian Dolbec <dolsen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This emulates the asyncio.AbstractEventLoop.run_until_complete(future)
interface, which will make it possible to reduce latency in situations
where it is desirable for a loop to exit at the earliest opportunity.
The most tangible benefit of this change is that it provides a
migration path to asyncio, which will allow us to rely on a standard
library instead of our own internal event loop implementation.
In order to migrate to asyncio, more work is planned:
* Migrate all internal use of the EventLoop.iteration method to the new
run_until_complete(future) method, and remove the EventLoop.iteration
method (or make it private as long as it's needed to implement
run_until_complete for older python versions).
* Implement all EventLoop methods using asyncio.AbstractEventLoop
methods (but keep existing implementations for use with older python).
X-Gentoo-bug: 591760
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=591760
Acked-by: Alexander Berntsen <bernalex@gentoo.org>
|
|
|
|
|
| |
Use https where available, and update old links (like www.gentoo.org)
to point to the new location.
|
|
|
|
|
|
| |
Since commit 3767128cf08a0a21559eb9c41ba393dcabc6f087, this test has
failed due to additional output produced by src_install. Fix it to
use a separate pipe for test output.
|
|
|
|
| |
consistently use location attribute everywhere.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, USE_EXPAND variable settings in profile make.defaults only
supported positive incremental settings. This patch adds support for
negative settings like PYTHON_TARGETS="-python3_3", which brings
behavior into alignment with PMS.
Notably, this patch does not change behavior for settings in make.conf.
In make.conf, settings to USE_EXPAND variables remain entirely
non-incremental. PMS does not govern make.conf behavior.
X-Gentoo-Bug: 530222
X-Gentoo-Url: https://bugs.gentoo.org/show_bug.cgi?id=530222
Acked-by: Brian Dolbec <dolsen@gentoo.org>
|
|
|
|
|
| |
Append .py to the runTests script and __test__ files so that they could
be easily picked up by setup.py.
|
|
|
|
|
|
|
|
|
|
| |
Fix config.setcpv to regenerate USE settings in order to account for
package.env USE settings from the previous package instance.
X-Gentoo-Bug: 522362
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=522362
Acked-by: Alexander Berntsen <bernalex@gentoo.org>
Acked-by: Brian Dolbec <dolsen@gentoo.org>
|
| |
|
|
|
|
|
|
|
|
| |
This makes it easy to assert the state of paths and when things fail,
get a good error message in the process (without having to dig into
temp dirs by hand).
This has largely been cribbed from ChromiumOS's chromite module.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The fd_pipes was previously unsupported with returnpid=False. Now it's
fixed to pass fd_pipes down to the appropriate places.
|
|
|
|
| |
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
|
| |
|
|
|
|
|
| |
This reverts commit 56fbe3fe63adf4e7c5b47400182cd857d145d5b0.
The race is now handled internally by spawn and ForkProcess.
|
| |
|
|
|
|
|
|
| |
It isn't used externally anymore, since SchedulerInterface is used
directly in those places now. Many of the self.sched_iface references
updated here, it's more appropriate to use self._event_loop.
|
|
|
|
|
|
| |
SchedulerInterface suffices for all of these cases.
EventLoop(main=False) is used for thread safety where
API consumers may be using threads.
|
|
|
|
|
| |
EventLoop suffices for all of these cases. EventLoop(main=False) is
used for thread safety where API consumers may be using threads.
|
|
|
|
|
|
|
| |
These methods were aliases for the EventLoop io_add_watch and
source_remove methods. Migrating to the EventLoop method names allows
an EventLoop instance to substitute for a PollScheduler inside
subclasses of AbstractPollTask.
|
|
|
|
| |
This allows the QueueScheduler class to be eliminated.
|
|
|
|
|
| |
Emulate the sleep command, in order to ensure a consistent return code
when it is killed by SIGTERM (see bug #437180).
|
| |
|
|
|
|
|
| |
This will be needed in order to support stable use.mask/force for
bug #431078.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the
SequentialTaskQueue.add() method starts the task immediately, so
initialize start_time before that happens.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression since commit
10246cd535f909dda8bd05de617c32d2b8a56b4a which caused layout.conf
settings such as thin-manifests to be ignored for repositories that
had repos.conf settings that did not specify the repository location.
In order to trigger this case, ResolverPlayground has been modified to
omit the location of each repository in the repos.conf file that it
generates.
|
|
|
|
|
|
|
|
|
|
|
| |
If array.fromfile() is not used, then _test_pty_eof() is useless.
This function was for runtime detection of python issue 5380:
http://bugs.python.org/issue5380
However, array.fromfile() use has since been abandoned due to
bugs that exist in all known versions of Python (including Python
2.7 and Python 3.2). See PipeReaderArrayTestCase, for example.
|
|
|
|
|
|
| |
We have abandoned array.fromfile() due to bugs that exist in all known
versions of Python (including Python 2.7 and Python 3.2). See
PipeReaderArrayTestCase, for example.
|
|
|
|
| |
https://bugs.pypy.org/issue956
|
|
|
|
|
|
| |
This updates the hardlink locking code to support the non-blocking,
lockfile(wantnewlockfile=False), and lockfile(file_object) behaviors
which are used by portage code.
|
| |
|
| |
|
| |
|