1 |
commit: f05d0864653e082bd60db67b52132c4ba6515339 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Apr 3 01:50:45 2017 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue Apr 4 03:19:19 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=f05d0864 |
7 |
|
8 |
EbuildBuild: eliminate call to digestgen (bug 614116) |
9 |
|
10 |
Eliminate the call to digestgen in EbuildBuild._fetchonly_exit, |
11 |
and make Scheduler._generate_digests call it earlier when |
12 |
--fetchonly is enabled. This avoids event loop recursion which |
13 |
is not compatible with asyncio (digestgen makes many calls that |
14 |
can trigger event loop recursion). |
15 |
|
16 |
X-Gentoo-bug: 614116 |
17 |
X-Gentoo-bug-url: https://bugs.gentoo.org/show_bug.cgi?id=614116 |
18 |
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org> |
19 |
|
20 |
pym/_emerge/EbuildBuild.py | 5 ----- |
21 |
pym/_emerge/Scheduler.py | 3 --- |
22 |
2 files changed, 8 deletions(-) |
23 |
|
24 |
diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py |
25 |
index 001f55fff..11eb1c93e 100644 |
26 |
--- a/pym/_emerge/EbuildBuild.py |
27 |
+++ b/pym/_emerge/EbuildBuild.py |
28 |
@@ -21,7 +21,6 @@ from _emerge.TaskSequence import TaskSequence |
29 |
import portage |
30 |
from portage import _encodings, _unicode_decode, _unicode_encode, os |
31 |
from portage.package.ebuild.digestcheck import digestcheck |
32 |
-from portage.package.ebuild.digestgen import digestgen |
33 |
from portage.package.ebuild.doebuild import _check_temp_dir |
34 |
from portage.package.ebuild._spawn_nofetch import spawn_nofetch |
35 |
|
36 |
@@ -168,10 +167,6 @@ class EbuildBuild(CompositeTask): |
37 |
if self.returncode != os.EX_OK: |
38 |
portdb = self.pkg.root_config.trees[self._tree].dbapi |
39 |
spawn_nofetch(portdb, self._ebuild_path, settings=self.settings) |
40 |
- elif 'digest' in self.settings.features: |
41 |
- if not digestgen(mysettings=self.settings, |
42 |
- myportdb=self.pkg.root_config.trees[self._tree].dbapi): |
43 |
- self.returncode = 1 |
44 |
self.wait() |
45 |
|
46 |
def _pre_clean_exit(self, pre_clean_phase): |
47 |
|
48 |
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py |
49 |
index 58ff97139..079fac7b9 100644 |
50 |
--- a/pym/_emerge/Scheduler.py |
51 |
+++ b/pym/_emerge/Scheduler.py |
52 |
@@ -616,9 +616,6 @@ class Scheduler(PollScheduler): |
53 |
tasks are started. |
54 |
""" |
55 |
|
56 |
- if '--fetchonly' in self.myopts: |
57 |
- return os.EX_OK |
58 |
- |
59 |
digest = '--digest' in self.myopts |
60 |
if not digest: |
61 |
for pkgsettings in self.pkgsettings.values(): |