]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Make sure we extend the parent env instead of overriding it in run()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 5 Jul 2022 09:48:39 +0000 (11:48 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 5 Jul 2022 11:30:56 +0000 (13:30 +0200)
This makes sure any environment variables set in the parent env
don't suddenly stop working when we set our own (e.g. proxy env
variables).

mkosi/backend.py

index 9bf9942de2f62f1b3e9024e01b63018a53f86e1c..60a3f7f5b5ad0583706cdedb092d50ba87af27e2 100644 (file)
@@ -752,6 +752,7 @@ def run(
     delay_interrupt: bool = True,
     stdout: _FILE = None,
     stderr: _FILE = None,
+    env: Mapping[str, Any] = {},
     **kwargs: Any,
 ) -> CompletedProcess:
     cmdline = [str(x) for x in cmdline]
@@ -776,7 +777,7 @@ def run(
     cm = do_delay_interrupt if delay_interrupt else do_noop
     try:
         with cm():
-            return subprocess.run(cmdline, check=check, stdout=stdout, stderr=stderr, **kwargs)
+            return subprocess.run(cmdline, check=check, stdout=stdout, stderr=stderr, env={**os.environ, **env}, **kwargs)
     except FileNotFoundError:
         die(f"{cmdline[0]} not found in PATH.")