aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2024-02-13 00:19:59 -0800
committerZac Medico <zmedico@gentoo.org>2024-02-21 07:27:31 -0800
commit789493d521eb09f4aca2a8552b5262e2c0f5bc51 (patch)
tree8f66dfd6f8002d036f126fd0325e503310a7a4ee
parentasync_aux_get: Use EbuildMetadataPhase deallocate_config future (diff)
downloadportage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.tar.gz
portage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.tar.bz2
portage-789493d521eb09f4aca2a8552b5262e2c0f5bc51.zip
EbuildMetadataPhase: Migrate to _async_start
Bug: https://bugs.gentoo.org/923841 Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r--lib/_emerge/EbuildMetadataPhase.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/_emerge/EbuildMetadataPhase.py b/lib/_emerge/EbuildMetadataPhase.py
index 249086f8a..fc64d84c9 100644
--- a/lib/_emerge/EbuildMetadataPhase.py
+++ b/lib/_emerge/EbuildMetadataPhase.py
@@ -46,6 +46,12 @@ class EbuildMetadataPhase(SubProcess):
_files_dict = slot_dict_class(_file_names, prefix="")
def _start(self):
+ asyncio.ensure_future(
+ self._async_start(), loop=self.scheduler
+ ).add_done_callback(self._async_start_done)
+ self._registered = True
+
+ async def _async_start(self):
ebuild_path = self.ebuild_hash.location
with open(
@@ -116,7 +122,6 @@ class EbuildMetadataPhase(SubProcess):
self._raw_metadata = []
files.ebuild = master_fd
self.scheduler.add_reader(files.ebuild, self._output_handler)
- self._registered = True
retval = portage.doebuild(
ebuild_path,
@@ -150,16 +155,6 @@ class EbuildMetadataPhase(SubProcess):
self._proc = retval
- asyncio.ensure_future(
- self._async_start(), loop=self.scheduler
- ).add_done_callback(self._async_start_done)
-
- async def _async_start(self):
- # Call async check_locale here for bug 923841, but code
- # also needs to migrate from _start to here, including
- # the self.deallocate_config set_result call.
- pass
-
def _async_start_done(self, future):
future.cancelled() or future.result()
if not self._was_cancelled() and future.cancelled():