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