commit:     ce24ddf9e0a9ba9e86f9ccf38004559c6367d756
Author:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 21 11:15:06 2022 +0000
Commit:     Thomas Sachau <tommy <AT> gentoo <DOT> org>
CommitDate: Mon Mar 21 11:15:06 2022 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=ce24ddf9

Re-add _install_exit target

Signed-off-by: Thomas Sachau <tommy <AT> gentoo.org>

 lib/_emerge/EbuildExecuter.py | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/lib/_emerge/EbuildExecuter.py b/lib/_emerge/EbuildExecuter.py
index 9f37528ed..7cb90fad7 100644
--- a/lib/_emerge/EbuildExecuter.py
+++ b/lib/_emerge/EbuildExecuter.py
@@ -98,3 +98,30 @@ class EbuildExecuter(CompositeTask):
             self._start_task(ebuild_phases, self._install_exit)
         else:
             self._start_task(ebuild_phases, self._default_final_exit)
+
+
+    def _install_exit(self, install_phase):
+
+        if self._default_exit(install_phase) != os.EX_OK:
+            self.wait()
+            return
+        if not os.path.exists(self.settings["D"]):
+            pkg = self.pkg
+            scheduler = self.scheduler
+            settings = self.settings
+            cleanup = 1
+
+            # This initializes PORTAGE_LOG_FILE.
+            portage.prepare_build_dirs(pkg.root, settings, cleanup)
+
+            setup_phase = EbuildPhase(background=self.background,
+                phase="setup", scheduler=scheduler,
+                settings=settings)
+
+            setup_phase.addExitListener(self._setup_exit)
+            self._current_task = setup_phase
+            self.scheduler.scheduleSetup(setup_phase)
+        else:
+            self.returncode = os.EX_OK
+            self.wait()
+            return

Reply via email to