From ba32c33455b32fdea5c0355af4caf118a266c9cf Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 7 Sep 2010 12:51:08 -0700 Subject: Move stale elog cleanup code from ebuild.sh to _doebuild_spawn(), so that elog messages generated by bashrc are preserved when appropriate. --- pym/portage/package/ebuild/doebuild.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'pym') diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py index 696b65eb7..a61a56687 100644 --- a/pym/portage/package/ebuild/doebuild.py +++ b/pym/portage/package/ebuild/doebuild.py @@ -92,6 +92,18 @@ def _doebuild_spawn(phase, settings, actionmap=None, **kwargs): os.path.basename(EBUILD_SH_BINARY))), ebuild_sh_arg) + if phase not in EbuildSpawnProcess._phases_without_builddir: + phase_completed_file = os.path.join(settings['PORTAGE_BUILDIR'], + phase.rstrip('e') + 'ed') + if not os.path.exists(phase_completed_file): + # If the phase is really going to run then we want + # to eliminate any stale elog messages that may + # exist from a previous run. + try: + os.unlink(os.path.join(settings['T'], 'logging', phase)) + except OSError: + pass + settings['EBUILD_PHASE'] = phase try: return spawn(cmd, settings, **kwargs) -- cgit v1.2.3-1-g7c22