diff options
author | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-10-31 18:44:02 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-10-31 20:16:37 +0900 |
commit | b539ef4664179ae26f4f9b9931b7b428560937ad (patch) | |
tree | 0b9181e414e97370c5a7decab13f6b2a3e343abc | |
parent | a9a2bcece3b90092d9260f5c46675a0e17df381d (diff) | |
download | buildstream-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.py | 7 |
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 |