summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-21 21:28:09 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-21 21:28:09 +0000
commitd82225a6c9e6702bcdb4022649f6666981565359 (patch)
tree6ec8b5a54390cdb9c97354a6a9ae460424527ee6
parentIn JobStatusDisplay, always flush the output stream after writing to it. (diff)
downloadportage-multirepo-d82225a6c9e6702bcdb4022649f6666981565359.tar.gz
portage-multirepo-d82225a6c9e6702bcdb4022649f6666981565359.tar.bz2
portage-multirepo-d82225a6c9e6702bcdb4022649f6666981565359.zip
In EbuildProcess._start(), don't open the log file during the clean phase
since the open file can result in an nfs lock on $T/build.log which prevents the clean phase from removing $T. Thanks to Jeremy Olexa <darkside@g.o> for reporting. svn path=/main/trunk/; revision=12016
-rw-r--r--pym/_emerge/__init__.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 72f48a31..8978c468 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2885,7 +2885,11 @@ class EbuildProcess(SpawnProcess):
__slots__ = ("phase", "pkg", "settings", "tree")
def _start(self):
- self.logfile = self.settings.get("PORTAGE_LOG_FILE")
+ # Don't open the log file during the clean phase since the
+ # open file can result in an nfs lock on $T/build.log which
+ # prevents the clean phase from removing $T.
+ if self.phase not in ("clean", "cleanrm"):
+ self.logfile = self.settings.get("PORTAGE_LOG_FILE")
SpawnProcess._start(self)
def _pipe(self, fd_pipes):