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:
@@ -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 ];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user