From 995bc1ad3e197201b7e35db5a30e81540c35390c Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 7 Jun 2006 10:32:28 +0000 Subject: Make sure that each new build attempt gets it's own unique log file for bug #135856. svn path=/main/trunk/; revision=3464 --- pym/portage.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'pym') diff --git a/pym/portage.py b/pym/portage.py index 3ac06617a..8dc6d4c0c 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -2860,6 +2860,16 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, "%s-%s.log" % (str(vartree.dbapi.get_counter_tick_core("/")), mysettings["PF"])) + if logfile and mydo in actionmap_deps and "PORTAGE_CALLER" in os.environ \ + and os.environ["PORTAGE_CALLER"] == "emerge": + # Increment the counter so that each new build attempt gets it's + # own unique log file (portage uses the counter for nothing more than + # log handling, though it can be used to determine merge order). + while os.path.exists(logfile): + logfile = os.path.join(mysettings["PORT_LOGDIR"], + "%s-%s.log" % (str(vartree.dbapi.counter_tick("/") + 1), + mysettings["PF"])) + # if any of these are being called, handle them -- running them out of the sandbox -- and stop now. if mydo in ["clean","cleanrm"]: return spawn(EBUILD_SH_BINARY+" clean",mysettings,debug=debug,free=1,logfile=None) -- cgit v1.2.3-1-g7c22