diff options
author | Zac Medico <zmedico@gentoo.org> | 2023-12-18 10:35:14 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2023-12-18 10:35:46 -0800 |
commit | 1477124cc20c8ff3ca3be07efe98fafeb9999990 (patch) | |
tree | 935fb7999d18f0f1e56fee54c574d356ae13f81e | |
parent | ResolverPlayground: Create $EPREFIX/usr/bin/python symlink (diff) | |
download | portage-1477124cc20c8ff3ca3be07efe98fafeb9999990.tar.gz portage-1477124cc20c8ff3ca3be07efe98fafeb9999990.tar.bz2 portage-1477124cc20c8ff3ca3be07efe98fafeb9999990.zip |
Scheduler: Reset current_task in _run_pkg_pretend
For completed tasks, reset current_task to None so that
it does not cause the clean phase to execute with an invalid
environment in the finally block.
Bug: https://bugs.gentoo.org/920258
Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r-- | lib/_emerge/Scheduler.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py index 66eca4c65..4193ffdd0 100644 --- a/lib/_emerge/Scheduler.py +++ b/lib/_emerge/Scheduler.py @@ -930,6 +930,7 @@ class Scheduler(PollScheduler): current_task = clean_phase clean_phase.start() await clean_phase.async_wait() + current_task = None if x.built: tree = "bintree" @@ -981,6 +982,7 @@ class Scheduler(PollScheduler): self._record_pkg_failure(x, settings, verifier.returncode) continue + current_task = None if fetched: bintree.inject( x.cpv, @@ -1030,6 +1032,8 @@ class Scheduler(PollScheduler): current_task = pretend_phase pretend_phase.start() ret = await pretend_phase.async_wait() + # Leave current_task assigned in order to trigger clean + # on success in the below finally block. if ret != os.EX_OK: failures += 1 self._record_pkg_failure(x, settings, ret) |