diff --git a/utils.go b/utils.go index b021ef8c03..10c617d806 100644 --- a/utils.go +++ b/utils.go @@ -4,7 +4,9 @@ import ( "bytes" "container/list" "io" + "os" "os/exec" + "path/filepath" "sync" ) @@ -34,6 +36,19 @@ func Tar(path string) (io.Reader, error) { return output, nil } +// Figure out the absolute path of our own binary +func SelfPath() string { + path, err := exec.LookPath(os.Args[0]) + if err != nil { + panic(err) + } + path, err = filepath.Abs(path) + if err != nil { + panic(err) + } + return path +} + type nopWriteCloser struct { io.Writer }