Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Sat, 18 May 2013 12:20:46
Message-Id: 1368879623.0d22dd6b813c4b7b49b1109ce332778e0e4cfc28.zmedico@gentoo
1 commit: 0d22dd6b813c4b7b49b1109ce332778e0e4cfc28
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat May 18 12:20:23 2013 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sat May 18 12:20:23 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0d22dd6b
7
8 Fix emerge --fetch --digest for bug #470238.
9
10 ---
11 pym/_emerge/EbuildBuild.py | 10 ++++++++--
12 pym/_emerge/EbuildFetcher.py | 3 ++-
13 2 files changed, 10 insertions(+), 3 deletions(-)
14
15 diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py
16 index 599875a..845b115 100644
17 --- a/pym/_emerge/EbuildBuild.py
18 +++ b/pym/_emerge/EbuildBuild.py
19 @@ -1,4 +1,4 @@
20 -# Copyright 1999-2012 Gentoo Foundation
21 +# Copyright 1999-2013 Gentoo Foundation
22 # Distributed under the terms of the GNU General Public License v2
23
24 from _emerge.EbuildExecuter import EbuildExecuter
25 @@ -15,6 +15,7 @@ import portage
26 from portage import os
27 from portage.output import colorize
28 from portage.package.ebuild.digestcheck import digestcheck
29 +from portage.package.ebuild.digestgen import digestgen
30 from portage.package.ebuild.doebuild import _check_temp_dir
31 from portage.package.ebuild._spawn_nofetch import spawn_nofetch
32
33 @@ -91,7 +92,8 @@ class EbuildBuild(CompositeTask):
34 success = True
35
36 settings = self.settings
37 - if 'strict' in settings.features:
38 + if 'strict' in settings.features and \
39 + 'digest' not in settings.features:
40 settings['O'] = os.path.dirname(self._ebuild_path)
41 quiet_setting = settings.get('PORTAGE_QUIET')
42 settings['PORTAGE_QUIET'] = '1'
43 @@ -160,6 +162,10 @@ class EbuildBuild(CompositeTask):
44 if self.returncode != os.EX_OK:
45 portdb = self.pkg.root_config.trees[self._tree].dbapi
46 spawn_nofetch(portdb, self._ebuild_path, settings=self.settings)
47 + if 'digest' in self.settings.features:
48 + if not digestgen(mysettings=self.settings,
49 + myportdb=self.pkg.root_config.trees[self._tree].dbapi):
50 + self.returncode = 1
51 self.wait()
52
53 def _pre_clean_exit(self, pre_clean_phase):
54
55 diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py
56 index df790b0..d98d007 100644
57 --- a/pym/_emerge/EbuildFetcher.py
58 +++ b/pym/_emerge/EbuildFetcher.py
59 @@ -165,7 +165,8 @@ class EbuildFetcher(ForkProcess):
60 not in ('yes', 'true')
61
62 rval = 1
63 - allow_missing = self._get_manifest().allow_missing
64 + allow_missing = self._get_manifest().allow_missing or \
65 + 'digest' in self._settings.features
66 if fetch(self._uri_map, self._settings, fetchonly=self.fetchonly,
67 digests=copy.deepcopy(self._get_digests()),
68 allow_missing_digests=allow_missing):