depot/third_party/nixpkgs/pkgs/development/tools/continuous-integration/gitlab-runner/fix-shell-path.patch
Default email 8a45d4525b Project import generated by Copybara.
GitOrigin-RevId: 710fed5a2483f945b14f4a58af2cd3676b42d8c8
2022-03-30 11:31:56 +02:00

25 lines
734 B
Diff

diff --git a/shells/bash.go b/shells/bash.go
index 18d608445..f158ffc0b 100644
--- a/shells/bash.go
+++ b/shells/bash.go
@@ -3,6 +3,7 @@ package shells
import (
"bytes"
"fmt"
+ "os/exec"
"path"
"runtime"
"strconv"
@@ -307,7 +308,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (*common.Shell
script.Command = "su"
if runtime.GOOS == OSLinux {
- script.Arguments = []string{"-s", "/bin/" + b.Shell, info.User, "-c", script.CmdLine}
+ shellPath, err := exec.LookPath(b.Shell)
+ if err != nil {
+ shellPath = "/bin/" + b.Shell
+ }
+ script.Arguments = []string{"-s", shellPath, info.User, "-c", script.CmdLine}
} else {
script.Arguments = []string{info.User, "-c", script.CmdLine}
}