1 |
Eliminate the call to digestgen in EbuildBuild._fetchonly_exit, |
2 |
and make Scheduler._generate_digests call it earlier when |
3 |
--fetchonly is enabled. This avoids event loop recursion which |
4 |
is not compatible with asyncio (digestgen makes many calls that |
5 |
can trigger event loop recursion). |
6 |
|
7 |
X-Gentoo-bug: 614116 |
8 |
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=614116 |
9 |
--- |
10 |
pym/_emerge/EbuildBuild.py | 5 ----- |
11 |
pym/_emerge/Scheduler.py | 3 --- |
12 |
2 files changed, 8 deletions(-) |
13 |
|
14 |
diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py |
15 |
index 001f55f..11eb1c9 100644 |
16 |
--- a/pym/_emerge/EbuildBuild.py |
17 |
+++ b/pym/_emerge/EbuildBuild.py |
18 |
@@ -21,7 +21,6 @@ from _emerge.TaskSequence import TaskSequence |
19 |
import portage |
20 |
from portage import _encodings, _unicode_decode, _unicode_encode, os |
21 |
from portage.package.ebuild.digestcheck import digestcheck |
22 |
-from portage.package.ebuild.digestgen import digestgen |
23 |
from portage.package.ebuild.doebuild import _check_temp_dir |
24 |
from portage.package.ebuild._spawn_nofetch import spawn_nofetch |
25 |
|
26 |
@@ -168,10 +167,6 @@ class EbuildBuild(CompositeTask): |
27 |
if self.returncode != os.EX_OK: |
28 |
portdb = self.pkg.root_config.trees[self._tree].dbapi |
29 |
spawn_nofetch(portdb, self._ebuild_path, settings=self.settings) |
30 |
- elif 'digest' in self.settings.features: |
31 |
- if not digestgen(mysettings=self.settings, |
32 |
- myportdb=self.pkg.root_config.trees[self._tree].dbapi): |
33 |
- self.returncode = 1 |
34 |
self.wait() |
35 |
|
36 |
def _pre_clean_exit(self, pre_clean_phase): |
37 |
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py |
38 |
index 58ff971..079fac7 100644 |
39 |
--- a/pym/_emerge/Scheduler.py |
40 |
+++ b/pym/_emerge/Scheduler.py |
41 |
@@ -616,9 +616,6 @@ class Scheduler(PollScheduler): |
42 |
tasks are started. |
43 |
""" |
44 |
|
45 |
- if '--fetchonly' in self.myopts: |
46 |
- return os.EX_OK |
47 |
- |
48 |
digest = '--digest' in self.myopts |
49 |
if not digest: |
50 |
for pkgsettings in self.pkgsettings.values(): |
51 |
-- |
52 |
2.10.2 |