summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-10-31 18:44:02 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2017-10-31 20:16:37 +0900
commitb539ef4664179ae26f4f9b9931b7b428560937ad (patch)
tree0b9181e414e97370c5a7decab13f6b2a3e343abc
parenta9a2bcece3b90092d9260f5c46675a0e17df381d (diff)
downloadbuildstream-b539ef4664179ae26f4f9b9931b7b428560937ad.tar.gz
sandbox/_sandboxbwrap.py: Dont use user namespaces if they are unavailable
Part of the fix for #92
-rw-r--r--buildstream/sandbox/_sandboxbwrap.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/buildstream/sandbox/_sandboxbwrap.py b/buildstream/sandbox/_sandboxbwrap.py
index d0b1c5171..04f3a4d74 100644
--- a/buildstream/sandbox/_sandboxbwrap.py
+++ b/buildstream/sandbox/_sandboxbwrap.py
@@ -47,6 +47,10 @@ class SandboxBwrap(Sandbox):
'/dev/zero'
]
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.user_ns_available = kwargs['user_ns_available']
+
def run(self, command, flags, cwd=None, env=None):
stdout, stderr = self._get_output()
root_directory = self.get_directory()
@@ -122,7 +126,8 @@ class SandboxBwrap(Sandbox):
bwrap_command += ["--remount-ro", "/"]
# Set UID and GUI
- bwrap_command += ['--unshare-user', '--uid', '0', '--gid', '0']
+ if self.user_ns_available:
+ bwrap_command += ['--unshare-user', '--uid', '0', '--gid', '0']
# Add the command
bwrap_command += command