]> code.ossystems Code Review - openembedded-core.git/commitdiff
build: fix -D with shell functions
authorChris Larson <chris_larson@mentor.com>
Tue, 14 Dec 2010 16:20:33 +0000 (09:20 -0700)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 4 Jan 2011 14:46:48 +0000 (14:46 +0000)
(Bitbake rev: 1c8be64732fdf4f3a608c090b3dc92065d6058d6)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/build.py

index e4e767ebc17460dda72538cea6532f20077b9722..3138fbc166af62e4feda42bdf9ca6c8559d1294c 100644 (file)
@@ -103,13 +103,27 @@ class TaskInvalid(TaskBase):
         self._message = "No such task '%s'" % task
 
 
-class tee(file):
+class LogTee(object):
+    def __init__(self, logger, *files):
+        self.files = files
+        self.logger = logger
+
     def write(self, string):
-        logger.plain(string)
-        file.write(self, string)
+        self.logger.plain(string)
+        for f in self.files:
+            f.write(string)
+
+    def __enter__(self):
+        for f in self.files:
+            f.__enter__()
+        return self
+
+    def __exit__(self, *excinfo):
+        for f in self.files:
+            f.__exit__(*excinfo)
 
     def __repr__(self):
-        return "<open[tee] file '{0}'>".format(self.name)
+        return '<LogTee {0}>'.format(', '.join(repr(f.name) for f in self.files))
 
 
 def exec_func(func, d, dirs = None, logfile = NULL):