Gentoo Archives: gentoo-commits

From: Thomas Sachau <tommy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:multilib commit in: pym/_emerge/
Date: Sun, 06 Feb 2011 13:16:30
Message-Id: ee02b5b7d747d2b5b5d5339c91dee0cd3f2ee150.tommy@gentoo
1 commit: ee02b5b7d747d2b5b5d5339c91dee0cd3f2ee150
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jan 31 22:10:14 2011 +0000
4 Commit: Thomas Sachau <tommy <AT> gentoo <DOT> org>
5 CommitDate: Mon Jan 31 22:11:05 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=ee02b5b7
7
8 EbuildBuild: spawn nofetch for fetchonly
9
10 ---
11 pym/_emerge/EbuildBuild.py | 17 ++++++++++++-----
12 1 files changed, 12 insertions(+), 5 deletions(-)
13
14 diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py
15 index 1eab21d..afd6399 100644
16 --- a/pym/_emerge/EbuildBuild.py
17 +++ b/pym/_emerge/EbuildBuild.py
18 @@ -16,6 +16,7 @@ from portage import os
19 from portage.output import colorize
20 from portage.package.ebuild.digestcheck import digestcheck
21 from portage.package.ebuild.doebuild import _check_temp_dir
22 +from portage.package.ebuild._spawn_nofetch import spawn_nofetch
23
24 class EbuildBuild(CompositeTask):
25
26 @@ -118,6 +119,8 @@ class EbuildBuild(CompositeTask):
27 settings=settings)
28 retval = fetcher.execute()
29 self.returncode = retval
30 + self.wait()
31 + return
32 else:
33 fetcher = EbuildFetcher(
34 config_pool=self.config_pool,
35 @@ -127,11 +130,8 @@ class EbuildBuild(CompositeTask):
36 logfile=None,
37 pkg=self.pkg,
38 scheduler=self.scheduler)
39 - fetcher.start()
40 - self.returncode = fetcher.wait()
41 -
42 - self.wait()
43 - return
44 + self._start_task(fetcher, self._fetchonly_exit)
45 + return
46
47 self._build_dir = EbuildBuildDir(
48 scheduler=self.scheduler, settings=settings)
49 @@ -150,6 +150,13 @@ class EbuildBuild(CompositeTask):
50 phase='clean', scheduler=self.scheduler, settings=self.settings)
51 self._start_task(pre_clean_phase, self._pre_clean_exit)
52
53 + def _fetchonly_exit(self, fetcher):
54 + self._final_exit(fetcher)
55 + if self.returncode != os.EX_OK:
56 + portdb = self.pkg.root_config.trees[self._tree].dbapi
57 + spawn_nofetch(portdb, self._ebuild_path, settings=self.settings)
58 + self.wait()
59 +
60 def _pre_clean_exit(self, pre_clean_phase):
61 if self._default_exit(pre_clean_phase) != os.EX_OK:
62 self._unlock_builddir()