gitlab-shell: Split patch into ruby and go parts
Split the remove-hardcoded-locations patch into two separate patches, one for the ruby package and one for the go package. This is clearer and results in fewer rebuilds.
This commit is contained in:
parent
f3eb063ecf
commit
09e657efea
|
@ -17,7 +17,7 @@ let
|
||||||
pname = "gitlab-shell-go";
|
pname = "gitlab-shell-go";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
|
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
patches = [ ./remove-hardcoded-locations-go.patch ];
|
||||||
|
|
||||||
goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
|
goPackagePath = "gitlab.com/gitlab-org/gitlab-shell";
|
||||||
goDeps = ./deps.nix;
|
goDeps = ./deps.nix;
|
||||||
|
@ -36,8 +36,8 @@ in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
pname = "gitlab-shell";
|
pname = "gitlab-shell";
|
||||||
inherit src version;
|
inherit src version;
|
||||||
|
|
||||||
patches = [ ./remove-hardcoded-locations.patch ];
|
patches = [ ./remove-hardcoded-locations-ruby.patch ];
|
||||||
|
|
||||||
# gitlab-shell will try to read its config relative to the source
|
# gitlab-shell will try to read its config relative to the source
|
||||||
# code by default which doesn't work in nixos because it's a
|
# code by default which doesn't work in nixos because it's a
|
||||||
|
|
|
@ -10,7 +10,7 @@ index f951fe6..b422fe3 100644
|
||||||
"path"
|
"path"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
@@ -30,16 +29,13 @@ type Config struct {
|
@@ -44,16 +43,13 @@ type Config struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func New() (*Config, error) {
|
func New() (*Config, error) {
|
||||||
|
@ -29,33 +29,6 @@ index f951fe6..b422fe3 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Config) FeatureEnabled(featureName string) bool {
|
func (c *Config) FeatureEnabled(featureName string) bool {
|
||||||
diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
|
|
||||||
index 0600a18..c46f2d7 100644
|
|
||||||
--- a/lib/gitlab_keys.rb
|
|
||||||
+++ b/lib/gitlab_keys.rb
|
|
||||||
@@ -10,7 +10,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength
|
|
||||||
attr_accessor :auth_file, :key
|
|
||||||
|
|
||||||
def self.command(whatever)
|
|
||||||
- "#{ROOT_PATH}/bin/gitlab-shell #{whatever}"
|
|
||||||
+ "/run/current-system/sw/bin/gitlab-shell #{whatever}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def self.command_key(key_id)
|
|
||||||
diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
|
|
||||||
index 2cb76a8..f59ad5e 100644
|
|
||||||
--- a/lib/gitlab_shell.rb
|
|
||||||
+++ b/lib/gitlab_shell.rb
|
|
||||||
@@ -190,7 +190,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength
|
|
||||||
|
|
||||||
args = [executable, gitaly_address, json_args]
|
|
||||||
# We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
|
|
||||||
- Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
|
|
||||||
+ # Except we don't, because we're already in the right directory on nixos!
|
|
||||||
+ Kernel.exec(env, *args, unsetenv_others: true)
|
|
||||||
end
|
|
||||||
|
|
||||||
def api
|
|
||||||
diff --git a/go/internal/command/fallback/fallback.go b/go/internal/command/fallback/fallback.go
|
diff --git a/go/internal/command/fallback/fallback.go b/go/internal/command/fallback/fallback.go
|
||||||
index 2cb76a8..f59ad5e 100644
|
index 2cb76a8..f59ad5e 100644
|
||||||
--- a/go/internal/command/fallback/fallback.go
|
--- a/go/internal/command/fallback/fallback.go
|
|
@ -0,0 +1,27 @@
|
||||||
|
diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
|
||||||
|
index 0600a18..c46f2d7 100644
|
||||||
|
--- a/lib/gitlab_keys.rb
|
||||||
|
+++ b/lib/gitlab_keys.rb
|
||||||
|
@@ -2,7 +2,7 @@ class GitlabKeys # rubocop:disable Metrics/ClassLength
|
||||||
|
attr_accessor :auth_file, :key
|
||||||
|
|
||||||
|
def self.command(whatever)
|
||||||
|
- "#{ROOT_PATH}/bin/gitlab-shell #{whatever}"
|
||||||
|
+ "/run/current-system/sw/bin/gitlab-shell #{whatever}"
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.command_key(key_id)
|
||||||
|
diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
|
||||||
|
index 2cb76a8..f59ad5e 100644
|
||||||
|
--- a/lib/gitlab_shell.rb
|
||||||
|
+++ b/lib/gitlab_shell.rb
|
||||||
|
@@ -195,7 +195,8 @@ class GitlabShell # rubocop:disable Metrics/ClassLength
|
||||||
|
|
||||||
|
args = [executable, gitaly_address, json_args]
|
||||||
|
# We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
|
||||||
|
- Kernel.exec(env, *args, unsetenv_others: true, chdir: ROOT_PATH)
|
||||||
|
+ # Except we don't, because we're already in the right directory on nixos!
|
||||||
|
+ Kernel.exec(env, *args, unsetenv_others: true)
|
||||||
|
end
|
||||||
|
|
||||||
|
def api
|
Loading…
Reference in New Issue