summaryrefslogtreecommitdiff
path: root/morphlib
diff options
context:
space:
mode:
authorJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-01-26 12:59:02 +0000
committerJannis Pohlmann <jannis.pohlmann@codethink.co.uk>2012-01-26 12:59:02 +0000
commit1276d4cd2b40036ba0e3c2c6e8d81bd27c96e13f (patch)
treeb6623d1dbfdeae5887df2ba6b826ff6d73539d36 /morphlib
parentbbb7c570be43416f1fed54819b10fa632614f021 (diff)
downloadmorph-1276d4cd2b40036ba0e3c2c6e8d81bd27c96e13f.tar.gz
Add sudo functionality to LocalBuildWorker. Doesn't work though.
Diffstat (limited to 'morphlib')
-rw-r--r--morphlib/buildworker.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/morphlib/buildworker.py b/morphlib/buildworker.py
index 584f6fd7..6ab43179 100644
--- a/morphlib/buildworker.py
+++ b/morphlib/buildworker.py
@@ -141,12 +141,15 @@ class LocalBuildWorker(BuildWorker):
def __init__(self, name, ident, app):
BuildWorker.__init__(self, name, ident, app)
- def run(self, repo, ref, filename, output, error): # pragma: no cover
+ def run(self, repo, ref, filename, sudo, output, error): # pragma: no cover
ex = morphlib.execute.Execute('.', self.msg)
# generate command line options
args = self.options()
- cmdline = ['morph', 'build', repo, ref, filename]
+ cmdline = []
+ if sudo:
+ cmdline.extend(['sudo'])
+ cmdline.extend(['morph', 'build', repo, ref, filename])
cmdline.extend(args)
# run morph locally in a child process
@@ -166,6 +169,7 @@ class LocalBuildWorker(BuildWorker):
args = (blob.morph.treeish.original_repo,
blob.morph.treeish.ref,
blob.morph.filename,
+ blob.morph.kind == 'system',
self._output,
self._error)
self.process = Process(group=None, target=self.run, args=args)