summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildstream/sandbox/_sandboxbwrap.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/buildstream/sandbox/_sandboxbwrap.py b/buildstream/sandbox/_sandboxbwrap.py
index 9ed677620..30ef2681f 100644
--- a/buildstream/sandbox/_sandboxbwrap.py
+++ b/buildstream/sandbox/_sandboxbwrap.py
@@ -87,6 +87,12 @@ class SandboxBwrap(Sandbox):
# Grab the full path of the bwrap binary
bwrap_command = [utils.get_host_tool('bwrap')]
+ for k, v in env.items():
+ bwrap_command += ['--setenv', k, v]
+ for k, _ in os.environ.items():
+ if k not in env:
+ bwrap_command += ['--unsetenv', k]
+
# Create a new pid namespace, this also ensures that any subprocesses
# are cleaned up when the bwrap process exits.
bwrap_command += ['--unshare-pid']
@@ -192,7 +198,7 @@ class SandboxBwrap(Sandbox):
stdin = stack.enter_context(open(os.devnull, "r"))
# Run bubblewrap !
- exit_code = self.run_bwrap(bwrap_command, stdin, stdout, stderr, env,
+ exit_code = self.run_bwrap(bwrap_command, stdin, stdout, stderr, os.environ,
(flags & SandboxFlags.INTERACTIVE))
# Cleanup things which bwrap might have left behind, while