Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r12371 - main/trunk/pym/_emerge
Date: Wed, 31 Dec 2008 07:38:59
Message-Id: E1LHvfN-0006lo-Lv@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-12-31 07:38:56 +0000 (Wed, 31 Dec 2008)
3 New Revision: 12371
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Bug #253210 - Fix logic inside EbuildBuild._buildpkg_exit() to avoid
9 triggering an AssertionError when the package phase has failed. This
10 bug usually isn't noticeable since the package phase usually succeeds.
11
12
13 Modified: main/trunk/pym/_emerge/__init__.py
14 ===================================================================
15 --- main/trunk/pym/_emerge/__init__.py 2008-12-30 20:39:33 UTC (rev 12370)
16 +++ main/trunk/pym/_emerge/__init__.py 2008-12-31 07:38:56 UTC (rev 12371)
17 @@ -2677,8 +2677,12 @@
18 be released when merge() is called.
19 """
20
21 - if self._default_exit(packager) == os.EX_OK and \
22 - self.opts.buildpkgonly:
23 + if self._default_exit(packager) != os.EX_OK:
24 + self._unlock_builddir()
25 + self.wait()
26 + return
27 +
28 + if self.opts.buildpkgonly:
29 # Need to call "clean" phase for buildpkgonly mode
30 portage.elog.elog_process(self.pkg.cpv, self.settings)
31 phase = "clean"
32 @@ -2689,9 +2693,10 @@
33 self._start_task(clean_phase, self._clean_exit)
34 return
35
36 - if self._final_exit(packager) != os.EX_OK or \
37 - self.opts.buildpkgonly:
38 - self._unlock_builddir()
39 + # Continue holding the builddir lock until
40 + # after the package has been installed.
41 + self._current_task = None
42 + self.returncode = packager.returncode
43 self.wait()
44
45 def _clean_exit(self, clean_phase):