From abc4290fa1843a92b507463c9f0b2a22f290e256 Mon Sep 17 00:00:00 2001 From: Yurii Matsiuk Date: Mon, 26 Apr 2021 14:45:28 +0200 Subject: [PATCH] teleport: patch os.Executable() call in tsh --- pkgs/servers/teleport/default.nix | 3 +++ pkgs/servers/teleport/tsh.patch | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 pkgs/servers/teleport/tsh.patch diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix index 0c26e5e7e04..348681799a6 100644 --- a/pkgs/servers/teleport/default.nix +++ b/pkgs/servers/teleport/default.nix @@ -27,6 +27,9 @@ buildGoModule rec { nativeBuildInputs = [ zip makeWrapper ]; + # https://github.com/NixOS/nixpkgs/issues/120738 + patches = [ ./tsh.patch ]; + postBuild = '' pushd . mkdir -p build diff --git a/pkgs/servers/teleport/tsh.patch b/pkgs/servers/teleport/tsh.patch new file mode 100644 index 00000000000..0d614f063d4 --- /dev/null +++ b/pkgs/servers/teleport/tsh.patch @@ -0,0 +1,17 @@ +diff --git a/tool/tsh/tsh.go b/tool/tsh/tsh.go +index 57379c40f..cb4d7b84c 100644 +--- a/tool/tsh/tsh.go ++++ b/tool/tsh/tsh.go +@@ -514,10 +514,11 @@ func Run(args []string, opts ...cliOption) error { + } + } + +- cf.executablePath, err = os.Executable() ++ tempBinaryPath, err := os.Executable() + if err != nil { + return trace.Wrap(err) + } ++ cf.executablePath = path.Dir(tempBinaryPath) + "/tsh" + + if err := client.ValidateAgentKeyOption(cf.AddKeysToAgent); err != nil { + return trace.Wrap(err)