mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	remove github.com/kardianos/osext
This commit is contained in:
		
							
								
								
									
										29
									
								
								vendor/github.com/kardianos/osext/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										29
									
								
								vendor/github.com/kardianos/osext/BUILD
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,29 +0,0 @@
 | 
			
		||||
load("@io_bazel_rules_go//go:def.bzl", "go_library")
 | 
			
		||||
 | 
			
		||||
go_library(
 | 
			
		||||
    name = "go_default_library",
 | 
			
		||||
    srcs = [
 | 
			
		||||
        "osext.go",
 | 
			
		||||
        "osext_plan9.go",
 | 
			
		||||
        "osext_procfs.go",
 | 
			
		||||
        "osext_sysctl.go",
 | 
			
		||||
        "osext_windows.go",
 | 
			
		||||
    ],
 | 
			
		||||
    importmap = "k8s.io/kubernetes/vendor/github.com/kardianos/osext",
 | 
			
		||||
    importpath = "github.com/kardianos/osext",
 | 
			
		||||
    visibility = ["//visibility:public"],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
filegroup(
 | 
			
		||||
    name = "package-srcs",
 | 
			
		||||
    srcs = glob(["**"]),
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    visibility = ["//visibility:private"],
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
filegroup(
 | 
			
		||||
    name = "all-srcs",
 | 
			
		||||
    srcs = [":package-srcs"],
 | 
			
		||||
    tags = ["automanaged"],
 | 
			
		||||
    visibility = ["//visibility:public"],
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										27
									
								
								vendor/github.com/kardianos/osext/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/kardianos/osext/LICENSE
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,27 +0,0 @@
 | 
			
		||||
Copyright (c) 2012 The Go Authors. All rights reserved.
 | 
			
		||||
 | 
			
		||||
Redistribution and use in source and binary forms, with or without
 | 
			
		||||
modification, are permitted provided that the following conditions are
 | 
			
		||||
met:
 | 
			
		||||
 | 
			
		||||
   * Redistributions of source code must retain the above copyright
 | 
			
		||||
notice, this list of conditions and the following disclaimer.
 | 
			
		||||
   * Redistributions in binary form must reproduce the above
 | 
			
		||||
copyright notice, this list of conditions and the following disclaimer
 | 
			
		||||
in the documentation and/or other materials provided with the
 | 
			
		||||
distribution.
 | 
			
		||||
   * Neither the name of Google Inc. nor the names of its
 | 
			
		||||
contributors may be used to endorse or promote products derived from
 | 
			
		||||
this software without specific prior written permission.
 | 
			
		||||
 | 
			
		||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | 
			
		||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | 
			
		||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 | 
			
		||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 | 
			
		||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | 
			
		||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 | 
			
		||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
			
		||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/github.com/kardianos/osext/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/kardianos/osext/README.md
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,14 +0,0 @@
 | 
			
		||||
### Extensions to the "os" package.
 | 
			
		||||
 | 
			
		||||
## Find the current Executable and ExecutableFolder.
 | 
			
		||||
 | 
			
		||||
There is sometimes utility in finding the current executable file
 | 
			
		||||
that is running. This can be used for upgrading the current executable
 | 
			
		||||
or finding resources located relative to the executable file.
 | 
			
		||||
 | 
			
		||||
Multi-platform and supports:
 | 
			
		||||
 * Linux
 | 
			
		||||
 * OS X
 | 
			
		||||
 * Windows
 | 
			
		||||
 * Plan 9
 | 
			
		||||
 * BSDs.
 | 
			
		||||
							
								
								
									
										27
									
								
								vendor/github.com/kardianos/osext/osext.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/kardianos/osext/osext.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,27 +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 "github.com/kardianos/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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										20
									
								
								vendor/github.com/kardianos/osext/osext_plan9.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/github.com/kardianos/osext/osext_plan9.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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 (
 | 
			
		||||
	"os"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"syscall"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
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()))
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										36
									
								
								vendor/github.com/kardianos/osext/osext_procfs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/github.com/kardianos/osext/osext_procfs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -1,36 +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 solaris dragonfly
 | 
			
		||||
 | 
			
		||||
package osext
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"os"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"strings"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func executable() (string, error) {
 | 
			
		||||
	switch runtime.GOOS {
 | 
			
		||||
	case "linux":
 | 
			
		||||
		const deletedTag = " (deleted)"
 | 
			
		||||
		execpath, err := os.Readlink("/proc/self/exe")
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return execpath, err
 | 
			
		||||
		}
 | 
			
		||||
		execpath = strings.TrimSuffix(execpath, deletedTag)
 | 
			
		||||
		execpath = strings.TrimPrefix(execpath, deletedTag)
 | 
			
		||||
		return execpath, nil
 | 
			
		||||
	case "netbsd":
 | 
			
		||||
		return os.Readlink("/proc/curproc/exe")
 | 
			
		||||
	case "openbsd", "dragonfly":
 | 
			
		||||
		return os.Readlink("/proc/curproc/file")
 | 
			
		||||
	case "solaris":
 | 
			
		||||
		return os.Readlink(fmt.Sprintf("/proc/%d/path/a.out", os.Getpid()))
 | 
			
		||||
	}
 | 
			
		||||
	return "", errors.New("ExecPath not implemented for " + runtime.GOOS)
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										79
									
								
								vendor/github.com/kardianos/osext/osext_sysctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										79
									
								
								vendor/github.com/kardianos/osext/osext_sysctl.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										34
									
								
								vendor/github.com/kardianos/osext/osext_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										34
									
								
								vendor/github.com/kardianos/osext/osext_windows.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -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
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user