commit: f05d0864653e082bd60db67b52132c4ba6515339 Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Mon Apr 3 01:50:45 2017 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Tue Apr 4 03:19:19 2017 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=f05d0864
EbuildBuild: eliminate call to digestgen (bug 614116) Eliminate the call to digestgen in EbuildBuild._fetchonly_exit, and make Scheduler._generate_digests call it earlier when --fetchonly is enabled. This avoids event loop recursion which is not compatible with asyncio (digestgen makes many calls that can trigger event loop recursion). X-Gentoo-bug: 614116 X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=614116 Acked-by: Brian Dolbec <dolsen <AT> gentoo.org> pym/_emerge/EbuildBuild.py | 5 ----- pym/_emerge/Scheduler.py | 3 --- 2 files changed, 8 deletions(-) diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py index 001f55fff..11eb1c93e 100644 --- a/pym/_emerge/EbuildBuild.py +++ b/pym/_emerge/EbuildBuild.py @@ -21,7 +21,6 @@ from _emerge.TaskSequence import TaskSequence import portage from portage import _encodings, _unicode_decode, _unicode_encode, os from portage.package.ebuild.digestcheck import digestcheck -from portage.package.ebuild.digestgen import digestgen from portage.package.ebuild.doebuild import _check_temp_dir from portage.package.ebuild._spawn_nofetch import spawn_nofetch @@ -168,10 +167,6 @@ class EbuildBuild(CompositeTask): if self.returncode != os.EX_OK: portdb = self.pkg.root_config.trees[self._tree].dbapi spawn_nofetch(portdb, self._ebuild_path, settings=self.settings) - elif 'digest' in self.settings.features: - if not digestgen(mysettings=self.settings, - myportdb=self.pkg.root_config.trees[self._tree].dbapi): - self.returncode = 1 self.wait() def _pre_clean_exit(self, pre_clean_phase): diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 58ff97139..079fac7b9 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -616,9 +616,6 @@ class Scheduler(PollScheduler): tasks are started. """ - if '--fetchonly' in self.myopts: - return os.EX_OK - digest = '--digest' in self.myopts if not digest: for pkgsettings in self.pkgsettings.values():
