commit: bfe334d0293e12952f61c3131339f9dcd2bb6bd0
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat May 1 22:35:55 2021 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat May 1 22:37:39 2021 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=bfe334d0
_run_pkg_pretend: Use async and await syntax
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/_emerge/Scheduler.py | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py
index 656d382dd..d3528ee68 100644
--- a/lib/_emerge/Scheduler.py
+++ b/lib/_emerge/Scheduler.py
@@ -25,7 +25,6 @@ from portage._sets import SETPREFIX
from portage._sets.base import InternalPackageSet
from portage.util import ensure_dirs, writemsg, writemsg_level
from portage.util.futures import asyncio
-from portage.util.futures.compat_coroutine import coroutine, coroutine_return
from portage.util.SlotObject import SlotObject
from portage.util._async.SchedulerInterface import SchedulerInterface
from portage.package.ebuild.digestcheck import digestcheck
@@ -767,8 +766,7 @@ class Scheduler(PollScheduler):
return prefetcher
- @coroutine
- def _run_pkg_pretend(self, loop=None):
+ async def _run_pkg_pretend(self, loop=None):
"""
Since pkg_pretend output may be important, this method sends all
output directly to stdout (regardless of options like --quiet or
@@ -805,7 +803,7 @@ class Scheduler(PollScheduler):
# Get required SRC_URI metadata (it's not
cached in x.metadata
# because some packages have an extremely large
SRC_URI value).
portdb = root_config.trees["porttree"].dbapi
- (settings.configdict["pkg"]["SRC_URI"],) =
yield portdb.async_aux_get(
+ (settings.configdict["pkg"]["SRC_URI"],) =
await portdb.async_aux_get(
x.cpv, ["SRC_URI"], myrepo=x.repo,
loop=loop
)
@@ -825,7 +823,7 @@ class Scheduler(PollScheduler):
settings["PORTAGE_BUILDDIR"] = build_dir_path
build_dir = EbuildBuildDir(scheduler=sched_iface,
settings=settings)
- yield build_dir.async_lock()
+ await build_dir.async_lock()
current_task = None
try:
@@ -851,7 +849,7 @@ class Scheduler(PollScheduler):
phase='clean',
scheduler=sched_iface, settings=settings)
current_task = clean_phase
clean_phase.start()
- yield clean_phase.async_wait()
+ await clean_phase.async_wait()
if x.built:
tree = "bintree"
@@ -870,7 +868,7 @@ class Scheduler(PollScheduler):
# handles fetch,
verification, and the
# bintree.inject call
which moves the file.
fetched =
fetcher.pkg_path
- if (yield fetcher.async_wait())
!= os.EX_OK:
+ if await fetcher.async_wait()
!= os.EX_OK:
failures += 1
self._record_pkg_failure(x, settings, fetcher.returncode)
continue
@@ -883,7 +881,7 @@ class Scheduler(PollScheduler):
scheduler=sched_iface,
_pkg_path=filename)
current_task = verifier
verifier.start()
- if (yield verifier.async_wait()) !=
os.EX_OK:
+ if await verifier.async_wait() !=
os.EX_OK:
failures += 1
self._record_pkg_failure(x,
settings, verifier.returncode)
continue
@@ -893,7 +891,7 @@ class Scheduler(PollScheduler):
infloc = os.path.join(build_dir_path,
"build-info")
ensure_dirs(infloc)
- yield
bintree.dbapi.unpack_metadata(settings, infloc, loop=loop)
+ await
bintree.dbapi.unpack_metadata(settings, infloc, loop=loop)
ebuild_path = os.path.join(infloc, x.pf
+ ".ebuild")
settings.configdict["pkg"]["EMERGE_FROM"] = "binary"
settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
@@ -927,7 +925,7 @@ class Scheduler(PollScheduler):
current_task = pretend_phase
pretend_phase.start()
- ret = yield pretend_phase.async_wait()
+ ret = await pretend_phase.async_wait()
if ret != os.EX_OK:
failures += 1
self._record_pkg_failure(x, settings,
ret)
@@ -942,14 +940,14 @@ class Scheduler(PollScheduler):
phase='clean',
scheduler=sched_iface,
settings=settings)
clean_phase.start()
- yield clean_phase.async_wait()
+ await clean_phase.async_wait()
- yield build_dir.async_unlock()
+ await build_dir.async_unlock()
self._deallocate_config(settings)
if failures:
- return coroutine_return(FAILURE)
- coroutine_return(os.EX_OK)
+ return FAILURE
+ return os.EX_OK
def _record_pkg_failure(self, pkg, settings, ret):
"""Record a package failure. This eliminates the package