summaryrefslogtreecommitdiff
path: root/morphlib/buildcontroller.py
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-01-24 16:22:31 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-01-24 16:23:39 +0000
commit945ab216b0ec2c58d49053e07f8509973959b7da (patch)
tree14e2a103c5945bc54e563cb0c6d098bab9ec0f13 /morphlib/buildcontroller.py
parentc38753c076f1dcd440ad0fdac152555192581dd9 (diff)
downloadmorph-945ab216b0ec2c58d49053e07f8509973959b7da.tar.gz
Report build errors in workers back to the controller.
Also, distinguish between running "sudo" and "fakeroot" depending on whether or not a remote worker builds a system image. For some reason, sudo in SSH does not seem to work here, so we need to figure that out.
Diffstat (limited to 'morphlib/buildcontroller.py')
-rw-r--r--morphlib/buildcontroller.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/morphlib/buildcontroller.py b/morphlib/buildcontroller.py
index 0c8388cf..4a2d8cf1 100644
--- a/morphlib/buildcontroller.py
+++ b/morphlib/buildcontroller.py
@@ -69,6 +69,10 @@ class BuildController(object):
if worker.output:
for line in worker.output.split('\n'):
self.msg('> %s' % line)
+ if worker.error:
+ import morphlib
+ raise morphlib.execute.CommandFailure(worker.error['command'],
+ worker.error['error'])
# mark all finished workers as being idle
for worker in finished: