diff options
author | Patrick Bajao <ebajao@gitlab.com> | 2019-08-15 18:06:04 +0800 |
---|---|---|
committer | Patrick Bajao <ebajao@gitlab.com> | 2019-08-15 18:15:49 +0800 |
commit | 41f919eb86a3b1f69876f8b97572615b06521538 (patch) | |
tree | c840113cc7dc11643f5c8d7f55601322b2ee698e /Makefile | |
parent | f34e2cd5c4194aa8bb049e1ac8aa1b2f002395b5 (diff) | |
download | gitlab-shell-41f919eb86a3b1f69876f8b97572615b06521538.tar.gz |
Replace symlinks with actual binaries
We had `gitlab-shell-authorized-keys-check` and
`gitlab-shell-authorized-principals-check` as symlinks to
`gitlab-shell` before.
We determine the `Command` and `CommandArgs` that we build based
on the `Name` of the `Executable`. We also use that to know which
fallback ruby executable should we fallback to. We use
`os.Executable()` to do that.
`os.Executable()` behaves differently depending on OS. It may
return the symlink or the target's name. That can result to a
buggy behavior.
The fix is to create binaries for each instead of using a symlink.
That way we don't need to rely on `os.Executable()` to get the name.
We pass the `Name` of the executable instead.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 17 |
1 files changed, 7 insertions, 10 deletions
@@ -13,17 +13,14 @@ verify_golang: test: test_ruby test_golang test_ruby: - # bin/gitlab-shell must exist and needs to be the Ruby version for - # rspec to be able to test. + # bin/gitlab-shell, bin/gitlab-shell-authorized-keys-check and + # bin/gitlab-shell-authorized-principals-check must exist and need to be + # the Ruby version for rspec to be able to test. cp bin/gitlab-shell-ruby bin/gitlab-shell - # bin/gitlab-shell-authorized-keys-check and bin/gitlab-shell-authorized-principals-check - # should link to ruby scripts for rspec to be able to test. - ln -sf ./gitlab-shell-authorized-keys-check-ruby bin/gitlab-shell-authorized-keys-check - ln -sf ./gitlab-shell-authorized-principals-check-ruby bin/gitlab-shell-authorized-principals-check + cp bin/gitlab-shell-authorized-keys-check-ruby bin/gitlab-shell-authorized-keys-check + cp bin/gitlab-shell-authorized-principals-check-ruby bin/gitlab-shell-authorized-principals-check bundle exec rspec --color --tag '~go' --format d spec - rm -f bin/gitlab-shell - ln -sf ./gitlab-shell bin/gitlab-shell-authorized-keys-check - ln -sf ./gitlab-shell bin/gitlab-shell-authorized-principals-check + rm -f bin/gitlab-shell bin/gitlab-shell-authorized-keys-check bin/gitlab-shell-authorized-principals-check test_golang: support/go-test @@ -42,4 +39,4 @@ check: bin/check clean: - rm -f bin/gitlab-shell + rm -f bin/gitlab-shell bin/gitlab-shell-authorized-keys-check bin/gitlab-shell-authorized-principals-check |