gitlab-runner, gitlab-runner_1_11: change path fix patch to work on non NixOS
It now tries to find the shell via path first and then falls back to the original behavior.
This commit is contained in:
parent
86e714095c
commit
335865b943
@ -32,7 +32,7 @@ buildGoPackage rec {
|
||||
sha256 = "0gz6byjnnfn9acy40hcbyzdql4199xn0yvjx2cfjjjzd9kryjrxp";
|
||||
};
|
||||
|
||||
patches = [ ./v1-fix-shell-path.patch ];
|
||||
patches = [ ./fix-shell-path.patch ];
|
||||
|
||||
buildInputs = [ go-bindata ];
|
||||
|
||||
|
@ -0,0 +1,25 @@
|
||||
diff --git a/shells/bash.go b/shells/bash.go
|
||||
index 839b7781..2b478e1e 100644
|
||||
--- a/shells/bash.go
|
||||
+++ b/shells/bash.go
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"gitlab.com/gitlab-org/gitlab-ci-multi-runner/common"
|
||||
"gitlab.com/gitlab-org/gitlab-ci-multi-runner/helpers"
|
||||
"io"
|
||||
+ "os/exec"
|
||||
"path"
|
||||
"runtime"
|
||||
"strconv"
|
||||
@@ -208,7 +209,11 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
|
||||
if info.User != "" {
|
||||
script.Command = "su"
|
||||
if runtime.GOOS == "linux" {
|
||||
- script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
|
||||
+ shellPath, err := exec.LookPath(b.Shell)
|
||||
+ if err != nil {
|
||||
+ shellPath = "/bin/"+b.Shell
|
||||
+ }
|
||||
+ script.Arguments = append(script.Arguments, "-s", shellPath)
|
||||
}
|
||||
script.Arguments = append(script.Arguments, info.User)
|
||||
script.Arguments = append(script.Arguments, "-c", shellCommand)
|
@ -1,13 +0,0 @@
|
||||
diff --git a/shells/bash.go b/shells/bash.go
|
||||
index c9c8b68..c97dbb5 100644
|
||||
--- a/shells/bash.go
|
||||
+++ b/shells/bash.go
|
||||
@@ -208,7 +208,7 @@ func (b *BashShell) GetConfiguration(info common.ShellScriptInfo) (script *commo
|
||||
if info.User != "" {
|
||||
script.Command = "su"
|
||||
if runtime.GOOS == "linux" {
|
||||
- script.Arguments = append(script.Arguments, "-s", "/bin/"+b.Shell)
|
||||
+ script.Arguments = append(script.Arguments, "-s", "/run/current-system/sw/bin/"+b.Shell)
|
||||
}
|
||||
script.Arguments = append(script.Arguments, info.User)
|
||||
script.Arguments = append(script.Arguments, "-c", shellCommand)
|
@ -32,7 +32,7 @@ buildGoPackage rec {
|
||||
sha256 = "1pm88546cijmrrcvvrajp2g6rsrzxhy83cwwwky8jjkl5w4hhmz4";
|
||||
};
|
||||
|
||||
patches = [ ./v1-fix-shell-path.patch ];
|
||||
patches = [ ./fix-shell-path.patch ];
|
||||
|
||||
buildInputs = [ go-bindata ];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user