aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/bitbucket.org/kardianos/osext
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/bitbucket.org/kardianos/osext')
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/LICENSE20
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext.go32
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_plan9.go20
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_procfs.go25
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_sysctl.go79
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_test.go79
-rw-r--r--Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_windows.go34
7 files changed, 0 insertions, 289 deletions
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/LICENSE b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/LICENSE
deleted file mode 100644
index 18527a28f..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/LICENSE
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright (c) 2012 Daniel Theophanes
-
-This software is provided 'as-is', without any express or implied
-warranty. In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
- 1. The origin of this software must not be misrepresented; you must not
- claim that you wrote the original software. If you use this software
- in a product, an acknowledgment in the product documentation would be
- appreciated but is not required.
-
- 2. Altered source versions must be plainly marked as such, and must not be
- misrepresented as being the original software.
-
- 3. This notice may not be removed or altered from any source
- distribution.
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext.go
deleted file mode 100644
index 37efbb221..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext.go
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// Extensions to the standard "os" package.
-package osext
-
-import "path/filepath"
-
-// Executable returns an absolute path that can be used to
-// re-invoke the current program.
-// It may not be valid after the current program exits.
-func Executable() (string, error) {
- p, err := executable()
- return filepath.Clean(p), err
-}
-
-// Returns same path as Executable, returns just the folder
-// path. Excludes the executable name.
-func ExecutableFolder() (string, error) {
- p, err := Executable()
- if err != nil {
- return "", err
- }
- folder, _ := filepath.Split(p)
- return folder, nil
-}
-
-// Depricated. Same as Executable().
-func GetExePath() (exePath string, err error) {
- return Executable()
-}
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_plan9.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_plan9.go
deleted file mode 100644
index 4468a73a7..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_plan9.go
+++ /dev/null
@@ -1,20 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package osext
-
-import (
- "syscall"
- "os"
- "strconv"
-)
-
-func executable() (string, error) {
- f, err := os.Open("/proc/" + strconv.Itoa(os.Getpid()) + "/text")
- if err != nil {
- return "", err
- }
- defer f.Close()
- return syscall.Fd2path(int(f.Fd()))
-}
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_procfs.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_procfs.go
deleted file mode 100644
index 546fec915..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_procfs.go
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build linux netbsd openbsd
-
-package osext
-
-import (
- "errors"
- "os"
- "runtime"
-)
-
-func executable() (string, error) {
- switch runtime.GOOS {
- case "linux":
- return os.Readlink("/proc/self/exe")
- case "netbsd":
- return os.Readlink("/proc/curproc/exe")
- case "openbsd":
- return os.Readlink("/proc/curproc/file")
- }
- return "", errors.New("ExecPath not implemented for " + runtime.GOOS)
-}
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_sysctl.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_sysctl.go
deleted file mode 100644
index b66cac878..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_sysctl.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin freebsd
-
-package osext
-
-import (
- "os"
- "path/filepath"
- "runtime"
- "syscall"
- "unsafe"
-)
-
-var initCwd, initCwdErr = os.Getwd()
-
-func executable() (string, error) {
- var mib [4]int32
- switch runtime.GOOS {
- case "freebsd":
- mib = [4]int32{1 /* CTL_KERN */, 14 /* KERN_PROC */, 12 /* KERN_PROC_PATHNAME */, -1}
- case "darwin":
- mib = [4]int32{1 /* CTL_KERN */, 38 /* KERN_PROCARGS */, int32(os.Getpid()), -1}
- }
-
- n := uintptr(0)
- // Get length.
- _, _, errNum := syscall.Syscall6(syscall.SYS___SYSCTL, uintptr(unsafe.Pointer(&mib[0])), 4, 0, uintptr(unsafe.Pointer(&n)), 0, 0)
- if errNum != 0 {
- return "", errNum
- }
- if n == 0 { // This shouldn't happen.
- return "", nil
- }
- buf := make([]byte, n)
- _, _, errNum = syscall.Syscall6(syscall.SYS___SYSCTL, uintptr(unsafe.Pointer(&mib[0])), 4, uintptr(unsafe.Pointer(&buf[0])), uintptr(unsafe.Pointer(&n)), 0, 0)
- if errNum != 0 {
- return "", errNum
- }
- if n == 0 { // This shouldn't happen.
- return "", nil
- }
- for i, v := range buf {
- if v == 0 {
- buf = buf[:i]
- break
- }
- }
- var err error
- execPath := string(buf)
- // execPath will not be empty due to above checks.
- // Try to get the absolute path if the execPath is not rooted.
- if execPath[0] != '/' {
- execPath, err = getAbs(execPath)
- if err != nil {
- return execPath, err
- }
- }
- // For darwin KERN_PROCARGS may return the path to a symlink rather than the
- // actual executable.
- if runtime.GOOS == "darwin" {
- if execPath, err = filepath.EvalSymlinks(execPath); err != nil {
- return execPath, err
- }
- }
- return execPath, nil
-}
-
-func getAbs(execPath string) (string, error) {
- if initCwdErr != nil {
- return execPath, initCwdErr
- }
- // The execPath may begin with a "../" or a "./" so clean it first.
- // Join the two paths, trailing and starting slashes undetermined, so use
- // the generic Join function.
- return filepath.Join(initCwd, filepath.Clean(execPath)), nil
-}
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_test.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_test.go
deleted file mode 100644
index dc661dbc2..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_test.go
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build darwin linux freebsd netbsd windows
-
-package osext
-
-import (
- "fmt"
- "os"
- oexec "os/exec"
- "path/filepath"
- "runtime"
- "testing"
-)
-
-const execPath_EnvVar = "OSTEST_OUTPUT_EXECPATH"
-
-func TestExecPath(t *testing.T) {
- ep, err := Executable()
- if err != nil {
- t.Fatalf("ExecPath failed: %v", err)
- }
- // we want fn to be of the form "dir/prog"
- dir := filepath.Dir(filepath.Dir(ep))
- fn, err := filepath.Rel(dir, ep)
- if err != nil {
- t.Fatalf("filepath.Rel: %v", err)
- }
- cmd := &oexec.Cmd{}
- // make child start with a relative program path
- cmd.Dir = dir
- cmd.Path = fn
- // forge argv[0] for child, so that we can verify we could correctly
- // get real path of the executable without influenced by argv[0].
- cmd.Args = []string{"-", "-test.run=XXXX"}
- cmd.Env = []string{fmt.Sprintf("%s=1", execPath_EnvVar)}
- out, err := cmd.CombinedOutput()
- if err != nil {
- t.Fatalf("exec(self) failed: %v", err)
- }
- outs := string(out)
- if !filepath.IsAbs(outs) {
- t.Fatalf("Child returned %q, want an absolute path", out)
- }
- if !sameFile(outs, ep) {
- t.Fatalf("Child returned %q, not the same file as %q", out, ep)
- }
-}
-
-func sameFile(fn1, fn2 string) bool {
- fi1, err := os.Stat(fn1)
- if err != nil {
- return false
- }
- fi2, err := os.Stat(fn2)
- if err != nil {
- return false
- }
- return os.SameFile(fi1, fi2)
-}
-
-func init() {
- if e := os.Getenv(execPath_EnvVar); e != "" {
- // first chdir to another path
- dir := "/"
- if runtime.GOOS == "windows" {
- dir = filepath.VolumeName(".")
- }
- os.Chdir(dir)
- if ep, err := Executable(); err != nil {
- fmt.Fprint(os.Stderr, "ERROR: ", err)
- } else {
- fmt.Fprint(os.Stderr, ep)
- }
- os.Exit(0)
- }
-}
diff --git a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_windows.go b/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_windows.go
deleted file mode 100644
index 72d282cf8..000000000
--- a/Godeps/_workspace/src/bitbucket.org/kardianos/osext/osext_windows.go
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2012 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package osext
-
-import (
- "syscall"
- "unicode/utf16"
- "unsafe"
-)
-
-var (
- kernel = syscall.MustLoadDLL("kernel32.dll")
- getModuleFileNameProc = kernel.MustFindProc("GetModuleFileNameW")
-)
-
-// GetModuleFileName() with hModule = NULL
-func executable() (exePath string, err error) {
- return getModuleFileName()
-}
-
-func getModuleFileName() (string, error) {
- var n uint32
- b := make([]uint16, syscall.MAX_PATH)
- size := uint32(len(b))
-
- r0, _, e1 := getModuleFileNameProc.Call(0, uintptr(unsafe.Pointer(&b[0])), uintptr(size))
- n = uint32(r0)
- if n == 0 {
- return "", e1
- }
- return string(utf16.Decode(b[0:n])), nil
-}