From 28ad4a4b7c694513c2fc0e0e18e366d96ebeb399 Mon Sep 17 00:00:00 2001 From: Jeremy Andrews Date: Tue, 3 May 2022 20:01:09 -0500 Subject: Issue #1887 - Allow /bin/sh to be used as a fallback value when SHELL is not set. --- python/mach/mach/mixin/process.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/mach/mach/mixin/process.py b/python/mach/mach/mixin/process.py index a6d3a2a1bb..b8f0eac029 100644 --- a/python/mach/mach/mixin/process.py +++ b/python/mach/mach/mixin/process.py @@ -17,14 +17,16 @@ from .logging import LoggingMixin # Perform detection of operating system environment. This is used by command -# execution. We only do this once to save redundancy. Yes, this can fail module -# loading. That is arguably OK. +# execution. We only do this once to save redundancy. Fall back to checking +# existence of /bin/sh if environment detection fails. if 'SHELL' in os.environ: _current_shell = os.environ['SHELL'] elif 'MOZILLABUILD' in os.environ: _current_shell = os.environ['MOZILLABUILD'] + '/msys/bin/sh.exe' elif 'COMSPEC' in os.environ: _current_shell = os.environ['COMSPEC'] +elif os.path.exists("/bin/sh"): + _current_shell = '/bin/sh' else: raise Exception('Could not detect environment shell!') -- cgit v1.2.3