mirror of
https://github.com/redhat-developer/odo.git
synced 2025-10-19 03:06:19 +03:00
update test dependency, and possible fix for windows
Signed-off-by: anandrkskd <anandrkskd@gmail.com>
This commit is contained in:
4
go.mod
4
go.mod
@@ -18,7 +18,7 @@ require (
|
|||||||
github.com/go-git/go-git/v5 v5.3.0
|
github.com/go-git/go-git/v5 v5.3.0
|
||||||
github.com/go-openapi/spec v0.19.5
|
github.com/go-openapi/spec v0.19.5
|
||||||
github.com/golang/mock v1.5.0
|
github.com/golang/mock v1.5.0
|
||||||
github.com/hinshun/vt10x v0.0.0-20220127042424-3ca73d0126d7
|
github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02
|
||||||
github.com/kr/pty v1.1.5
|
github.com/kr/pty v1.1.5
|
||||||
github.com/kubernetes-sigs/service-catalog v0.3.1
|
github.com/kubernetes-sigs/service-catalog v0.3.1
|
||||||
github.com/kylelemons/godebug v1.1.0
|
github.com/kylelemons/godebug v1.1.0
|
||||||
@@ -77,3 +77,5 @@ replace (
|
|||||||
k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20210831004331-1199c36daed6
|
k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20210831004331-1199c36daed6
|
||||||
k8s.io/metrics => k8s.io/metrics v0.0.0-20211006171351-de75bc981086
|
k8s.io/metrics => k8s.io/metrics v0.0.0-20211006171351-de75bc981086
|
||||||
)
|
)
|
||||||
|
|
||||||
|
replace github.com/kr/pty => github.com/creack/pty v1.1.18-0.20220131133352-edfd13da2a92
|
||||||
|
|||||||
10
go.sum
10
go.sum
@@ -233,6 +233,8 @@ github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7Do
|
|||||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
|
github.com/creack/pty v1.1.11 h1:07n33Z8lZxZ2qwegKbObQohDhXDQxiMMz1NOUGYlesw=
|
||||||
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
|
github.com/creack/pty v1.1.18-0.20220131133352-edfd13da2a92 h1:KbNrdkpn2Wvea96p5Nywl99PXU9wI8vW8ZKHXiaLHPI=
|
||||||
|
github.com/creack/pty v1.1.18-0.20220131133352-edfd13da2a92/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
|
||||||
github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
|
github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
|
||||||
github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
||||||
github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=
|
github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=
|
||||||
@@ -642,8 +644,8 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
|
|||||||
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
||||||
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
||||||
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
|
github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A=
|
||||||
github.com/hinshun/vt10x v0.0.0-20220127042424-3ca73d0126d7 h1:PoerlCqzob3t6b5/8mjCPkX4QSTYR4/+kB8IzqZE3ug=
|
github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY=
|
||||||
github.com/hinshun/vt10x v0.0.0-20220127042424-3ca73d0126d7/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68=
|
github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68=
|
||||||
github.com/hokaccha/go-prettyjson v0.0.0-20190818114111-108c894c2c0e/go.mod h1:pFlLw2CfqZiIBOx6BuCeRLCrfxBJipTY0nIOF/VbGcI=
|
github.com/hokaccha/go-prettyjson v0.0.0-20190818114111-108c894c2c0e/go.mod h1:pFlLw2CfqZiIBOx6BuCeRLCrfxBJipTY0nIOF/VbGcI=
|
||||||
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
||||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||||
@@ -723,10 +725,6 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
|
|||||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
|
||||||
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.4/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
|
||||||
github.com/kr/pty v1.1.5 h1:hyz3dwM5QLc1Rfoz4FuWJQG5BN7tc6K1MndAUnGpQr4=
|
|
||||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
|
||||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
//go:build linux || darwin || dragonfly || solaris || openbsd || netbsd || freebsd
|
|
||||||
// +build linux darwin dragonfly solaris openbsd netbsd freebsd
|
|
||||||
|
|
||||||
package helper
|
package helper
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
//go:build linux || darwin || dragonfly || solaris || openbsd || netbsd || freebsd
|
|
||||||
// +build linux darwin dragonfly solaris openbsd netbsd freebsd
|
|
||||||
|
|
||||||
package interactive
|
package interactive
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
// +build linux darwin dragonfly solaris openbsd netbsd freebsd
|
|
||||||
//go:build !race
|
//go:build !race
|
||||||
// +build !race
|
// +build !race
|
||||||
|
|
||||||
|
|||||||
4
vendor/github.com/hinshun/vt10x/vt_other.go
generated
vendored
4
vendor/github.com/hinshun/vt10x/vt_other.go
generated
vendored
@@ -23,8 +23,8 @@ func newTerminal(info TerminalInfo) *terminal {
|
|||||||
func (t *terminal) init(cols, rows int) {
|
func (t *terminal) init(cols, rows int) {
|
||||||
t.numlock = true
|
t.numlock = true
|
||||||
t.state = t.parse
|
t.state = t.parse
|
||||||
t.cur.attr.fg = DefaultFG
|
t.cur.Attr.FG = DefaultFG
|
||||||
t.cur.attr.bg = DefaultBG
|
t.cur.Attr.BG = DefaultBG
|
||||||
t.Resize(cols, rows)
|
t.Resize(cols, rows)
|
||||||
t.reset()
|
t.reset()
|
||||||
}
|
}
|
||||||
|
|||||||
17
vendor/github.com/kr/pty/Dockerfile.golang
generated
vendored
Normal file
17
vendor/github.com/kr/pty/Dockerfile.golang
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
ARG GOVERSION=1.14
|
||||||
|
FROM golang:${GOVERSION}
|
||||||
|
|
||||||
|
# Set base env.
|
||||||
|
ARG GOOS=linux
|
||||||
|
ARG GOARCH=amd64
|
||||||
|
ENV GOOS=${GOOS} GOARCH=${GOARCH} CGO_ENABLED=0 GOFLAGS='-v -ldflags=-s -ldflags=-w'
|
||||||
|
|
||||||
|
# Pre compile the stdlib for 386/arm (32bits).
|
||||||
|
RUN go build -a std
|
||||||
|
|
||||||
|
# Add the code to the image.
|
||||||
|
WORKDIR pty
|
||||||
|
ADD . .
|
||||||
|
|
||||||
|
# Build the lib.
|
||||||
|
RUN go build
|
||||||
23
vendor/github.com/kr/pty/Dockerfile.riscv
generated
vendored
Normal file
23
vendor/github.com/kr/pty/Dockerfile.riscv
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# NOTE: Using 1.13 as a base to build the RISCV compiler, the resulting version is based on go1.6.
|
||||||
|
FROM golang:1.13
|
||||||
|
|
||||||
|
# Clone and complie a riscv compatible version of the go compiler.
|
||||||
|
RUN git clone https://review.gerrithub.io/riscv/riscv-go /riscv-go
|
||||||
|
# riscvdev branch HEAD as of 2019-06-29.
|
||||||
|
RUN cd /riscv-go && git checkout 04885fddd096d09d4450726064d06dd107e374bf
|
||||||
|
ENV PATH=/riscv-go/misc/riscv:/riscv-go/bin:$PATH
|
||||||
|
RUN cd /riscv-go/src && GOROOT_BOOTSTRAP=$(go env GOROOT) ./make.bash
|
||||||
|
ENV GOROOT=/riscv-go
|
||||||
|
|
||||||
|
# Set the base env.
|
||||||
|
ENV GOOS=linux GOARCH=riscv CGO_ENABLED=0 GOFLAGS='-v -ldflags=-s -ldflags=-w'
|
||||||
|
|
||||||
|
# Pre compile the stdlib.
|
||||||
|
RUN go build -a std
|
||||||
|
|
||||||
|
# Add the code to the image.
|
||||||
|
WORKDIR pty
|
||||||
|
ADD . .
|
||||||
|
|
||||||
|
# Build the lib.
|
||||||
|
RUN go build
|
||||||
0
vendor/github.com/kr/pty/License → vendor/github.com/kr/pty/LICENSE
generated
vendored
0
vendor/github.com/kr/pty/License → vendor/github.com/kr/pty/LICENSE
generated
vendored
21
vendor/github.com/kr/pty/README.md
generated
vendored
21
vendor/github.com/kr/pty/README.md
generated
vendored
@@ -4,9 +4,13 @@ Pty is a Go package for using unix pseudo-terminals.
|
|||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
go get github.com/kr/pty
|
```sh
|
||||||
|
go get github.com/creack/pty
|
||||||
|
```
|
||||||
|
|
||||||
## Example
|
## Examples
|
||||||
|
|
||||||
|
Note that those examples are for demonstration purpose only, to showcase how to use the library. They are not meant to be used in any kind of production environment.
|
||||||
|
|
||||||
### Command
|
### Command
|
||||||
|
|
||||||
@@ -14,10 +18,11 @@ Pty is a Go package for using unix pseudo-terminals.
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/kr/pty"
|
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
|
||||||
|
"github.com/creack/pty"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@@ -50,8 +55,8 @@ import (
|
|||||||
"os/signal"
|
"os/signal"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
"github.com/kr/pty"
|
"github.com/creack/pty"
|
||||||
"golang.org/x/crypto/ssh/terminal"
|
"golang.org/x/term"
|
||||||
)
|
)
|
||||||
|
|
||||||
func test() error {
|
func test() error {
|
||||||
@@ -77,15 +82,17 @@ func test() error {
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
ch <- syscall.SIGWINCH // Initial resize.
|
ch <- syscall.SIGWINCH // Initial resize.
|
||||||
|
defer func() { signal.Stop(ch); close(ch) }() // Cleanup signals when done.
|
||||||
|
|
||||||
// Set stdin in raw mode.
|
// Set stdin in raw mode.
|
||||||
oldState, err := terminal.MakeRaw(int(os.Stdin.Fd()))
|
oldState, err := term.MakeRaw(int(os.Stdin.Fd()))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
defer func() { _ = terminal.Restore(int(os.Stdin.Fd()), oldState) }() // Best effort.
|
defer func() { _ = term.Restore(int(os.Stdin.Fd()), oldState) }() // Best effort.
|
||||||
|
|
||||||
// Copy stdin to the pty and the pty to stdout.
|
// Copy stdin to the pty and the pty to stdout.
|
||||||
|
// NOTE: The goroutine will keep reading until the next keystroke before returning.
|
||||||
go func() { _, _ = io.Copy(ptmx, os.Stdin) }()
|
go func() { _, _ = io.Copy(ptmx, os.Stdin) }()
|
||||||
_, _ = io.Copy(os.Stdout, ptmx)
|
_, _ = io.Copy(os.Stdout, ptmx)
|
||||||
|
|
||||||
|
|||||||
18
vendor/github.com/kr/pty/asm_solaris_amd64.s
generated
vendored
Normal file
18
vendor/github.com/kr/pty/asm_solaris_amd64.s
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
// Copyright 2014 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.
|
||||||
|
|
||||||
|
//go:build gc
|
||||||
|
//+build gc
|
||||||
|
|
||||||
|
#include "textflag.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
// System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go
|
||||||
|
//
|
||||||
|
|
||||||
|
TEXT ·sysvicall6(SB),NOSPLIT,$0-88
|
||||||
|
JMP syscall·sysvicall6(SB)
|
||||||
|
|
||||||
|
TEXT ·rawSysvicall6(SB),NOSPLIT,$0-88
|
||||||
|
JMP syscall·rawSysvicall6(SB)
|
||||||
2
vendor/github.com/kr/pty/doc.go
generated
vendored
2
vendor/github.com/kr/pty/doc.go
generated
vendored
@@ -10,7 +10,7 @@ import (
|
|||||||
// available on the current platform.
|
// available on the current platform.
|
||||||
var ErrUnsupported = errors.New("unsupported")
|
var ErrUnsupported = errors.New("unsupported")
|
||||||
|
|
||||||
// Opens a pty and its corresponding tty.
|
// Open a pty and its corresponding tty.
|
||||||
func Open() (pty, tty *os.File, err error) {
|
func Open() (pty, tty *os.File, err error) {
|
||||||
return open()
|
return open()
|
||||||
}
|
}
|
||||||
|
|||||||
4
vendor/github.com/kr/pty/go.mod
generated
vendored
4
vendor/github.com/kr/pty/go.mod
generated
vendored
@@ -1,3 +1,3 @@
|
|||||||
module github.com/kr/pty
|
module github.com/creack/pty
|
||||||
|
|
||||||
go 1.12
|
go 1.13
|
||||||
|
|||||||
8
vendor/github.com/kr/pty/ioctl.go
generated
vendored
8
vendor/github.com/kr/pty/ioctl.go
generated
vendored
@@ -1,9 +1,15 @@
|
|||||||
// +build !windows
|
//go:build !windows && !solaris
|
||||||
|
//+build !windows,!solaris
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import "syscall"
|
import "syscall"
|
||||||
|
|
||||||
|
const (
|
||||||
|
TIOCGWINSZ = syscall.TIOCGWINSZ
|
||||||
|
TIOCSWINSZ = syscall.TIOCSWINSZ
|
||||||
|
)
|
||||||
|
|
||||||
func ioctl(fd, cmd, ptr uintptr) error {
|
func ioctl(fd, cmd, ptr uintptr) error {
|
||||||
_, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr)
|
_, _, e := syscall.Syscall(syscall.SYS_IOCTL, fd, cmd, ptr)
|
||||||
if e != 0 {
|
if e != 0 {
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ioctl_bsd.go
generated
vendored
3
vendor/github.com/kr/pty/ioctl_bsd.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build darwin dragonfly freebsd netbsd openbsd
|
//go:build (darwin || dragonfly || freebsd || netbsd || openbsd)
|
||||||
|
//+build darwin dragonfly freebsd netbsd openbsd
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
|
|||||||
48
vendor/github.com/kr/pty/ioctl_solaris.go
generated
vendored
Normal file
48
vendor/github.com/kr/pty/ioctl_solaris.go
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
//go:build solaris
|
||||||
|
//+build solaris
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
//go:cgo_import_dynamic libc_ioctl ioctl "libc.so"
|
||||||
|
//go:linkname procioctl libc_ioctl
|
||||||
|
var procioctl uintptr
|
||||||
|
|
||||||
|
const (
|
||||||
|
// see /usr/include/sys/stropts.h
|
||||||
|
I_PUSH = uintptr((int32('S')<<8 | 002))
|
||||||
|
I_STR = uintptr((int32('S')<<8 | 010))
|
||||||
|
I_FIND = uintptr((int32('S')<<8 | 013))
|
||||||
|
|
||||||
|
// see /usr/include/sys/ptms.h
|
||||||
|
ISPTM = (int32('P') << 8) | 1
|
||||||
|
UNLKPT = (int32('P') << 8) | 2
|
||||||
|
PTSSTTY = (int32('P') << 8) | 3
|
||||||
|
ZONEPT = (int32('P') << 8) | 4
|
||||||
|
OWNERPT = (int32('P') << 8) | 5
|
||||||
|
|
||||||
|
// see /usr/include/sys/termios.h
|
||||||
|
TIOCSWINSZ = (uint32('T') << 8) | 103
|
||||||
|
TIOCGWINSZ = (uint32('T') << 8) | 104
|
||||||
|
)
|
||||||
|
|
||||||
|
type strioctl struct {
|
||||||
|
icCmd int32
|
||||||
|
icTimeout int32
|
||||||
|
icLen int32
|
||||||
|
icDP unsafe.Pointer
|
||||||
|
}
|
||||||
|
|
||||||
|
// Defined in asm_solaris_amd64.s.
|
||||||
|
func sysvicall6(trap, nargs, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno)
|
||||||
|
|
||||||
|
func ioctl(fd, cmd, ptr uintptr) error {
|
||||||
|
if _, _, errno := sysvicall6(uintptr(unsafe.Pointer(&procioctl)), 3, fd, cmd, ptr, 0, 0, 0); errno != 0 {
|
||||||
|
return errno
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
2
vendor/github.com/kr/pty/mktypes.bash
generated
vendored
2
vendor/github.com/kr/pty/mktypes.bash
generated
vendored
@@ -13,7 +13,7 @@ GODEFS="go tool cgo -godefs"
|
|||||||
$GODEFS types.go |gofmt > ztypes_$GOARCH.go
|
$GODEFS types.go |gofmt > ztypes_$GOARCH.go
|
||||||
|
|
||||||
case $GOOS in
|
case $GOOS in
|
||||||
freebsd|dragonfly|openbsd)
|
freebsd|dragonfly|netbsd|openbsd)
|
||||||
$GODEFS types_$GOOS.go |gofmt > ztypes_$GOOSARCH.go
|
$GODEFS types_$GOOS.go |gofmt > ztypes_$GOOSARCH.go
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
5
vendor/github.com/kr/pty/pty_darwin.go
generated
vendored
5
vendor/github.com/kr/pty/pty_darwin.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build darwin
|
||||||
|
//+build darwin
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -33,7 +36,7 @@ func open() (pty, tty *os.File, err error) {
|
|||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
t, err := os.OpenFile(sname, os.O_RDWR, 0)
|
t, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/pty_dragonfly.go
generated
vendored
3
vendor/github.com/kr/pty/pty_dragonfly.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build dragonfly
|
||||||
|
//+build dragonfly
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/pty_freebsd.go
generated
vendored
3
vendor/github.com/kr/pty/pty_freebsd.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build freebsd
|
||||||
|
//+build freebsd
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
9
vendor/github.com/kr/pty/pty_linux.go
generated
vendored
9
vendor/github.com/kr/pty/pty_linux.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build linux
|
||||||
|
//+build linux
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
@@ -28,7 +31,7 @@ func open() (pty, tty *os.File, err error) {
|
|||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
t, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0)
|
t, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0) //nolint:gosec // Expected Open from a variable.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
@@ -37,7 +40,7 @@ func open() (pty, tty *os.File, err error) {
|
|||||||
|
|
||||||
func ptsname(f *os.File) (string, error) {
|
func ptsname(f *os.File) (string, error) {
|
||||||
var n _C_uint
|
var n _C_uint
|
||||||
err := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n)))
|
err := ioctl(f.Fd(), syscall.TIOCGPTN, uintptr(unsafe.Pointer(&n))) //nolint:gosec // Expected unsafe pointer for Syscall call.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
@@ -47,5 +50,5 @@ func ptsname(f *os.File) (string, error) {
|
|||||||
func unlockpt(f *os.File) error {
|
func unlockpt(f *os.File) error {
|
||||||
var u _C_int
|
var u _C_int
|
||||||
// use TIOCSPTLCK with a pointer to zero to clear the lock
|
// use TIOCSPTLCK with a pointer to zero to clear the lock
|
||||||
return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u)))
|
return ioctl(f.Fd(), syscall.TIOCSPTLCK, uintptr(unsafe.Pointer(&u))) //nolint:gosec // Expected unsafe pointer for Syscall call.
|
||||||
}
|
}
|
||||||
|
|||||||
69
vendor/github.com/kr/pty/pty_netbsd.go
generated
vendored
Normal file
69
vendor/github.com/kr/pty/pty_netbsd.go
generated
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
//go:build netbsd
|
||||||
|
//+build netbsd
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"os"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
func open() (pty, tty *os.File, err error) {
|
||||||
|
p, err := os.OpenFile("/dev/ptmx", os.O_RDWR, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
// In case of error after this point, make sure we close the ptmx fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
sname, err := ptsname(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := grantpt(p); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
// In NetBSD unlockpt() does nothing, so it isn't called here.
|
||||||
|
|
||||||
|
t, err := os.OpenFile(sname, os.O_RDWR|syscall.O_NOCTTY, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
return p, t, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ptsname(f *os.File) (string, error) {
|
||||||
|
/*
|
||||||
|
* from ptsname(3): The ptsname() function is equivalent to:
|
||||||
|
* struct ptmget pm;
|
||||||
|
* ioctl(fd, TIOCPTSNAME, &pm) == -1 ? NULL : pm.sn;
|
||||||
|
*/
|
||||||
|
var ptm ptmget
|
||||||
|
if err := ioctl(f.Fd(), uintptr(ioctl_TIOCPTSNAME), uintptr(unsafe.Pointer(&ptm))); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
name := make([]byte, len(ptm.Sn))
|
||||||
|
for i, c := range ptm.Sn {
|
||||||
|
name[i] = byte(c)
|
||||||
|
if c == 0 {
|
||||||
|
return string(name[:i]), nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "", errors.New("TIOCPTSNAME string not NUL-terminated")
|
||||||
|
}
|
||||||
|
|
||||||
|
func grantpt(f *os.File) error {
|
||||||
|
/*
|
||||||
|
* from grantpt(3): Calling grantpt() is equivalent to:
|
||||||
|
* ioctl(fd, TIOCGRANTPT, 0);
|
||||||
|
*/
|
||||||
|
return ioctl(f.Fd(), uintptr(ioctl_TIOCGRANTPT), 0)
|
||||||
|
}
|
||||||
3
vendor/github.com/kr/pty/pty_openbsd.go
generated
vendored
3
vendor/github.com/kr/pty/pty_openbsd.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build openbsd
|
||||||
|
//+build openbsd
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|||||||
152
vendor/github.com/kr/pty/pty_solaris.go
generated
vendored
Normal file
152
vendor/github.com/kr/pty/pty_solaris.go
generated
vendored
Normal file
@@ -0,0 +1,152 @@
|
|||||||
|
//go:build solaris
|
||||||
|
//+build solaris
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
/* based on:
|
||||||
|
http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libc/port/gen/pt.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
import (
|
||||||
|
"errors"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
func open() (pty, tty *os.File, err error) {
|
||||||
|
ptmxfd, err := syscall.Open("/dev/ptmx", syscall.O_RDWR|syscall.O_NOCTTY, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
p := os.NewFile(uintptr(ptmxfd), "/dev/ptmx")
|
||||||
|
// In case of error after this point, make sure we close the ptmx fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = p.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
sname, err := ptsname(p)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := grantpt(p); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := unlockpt(p); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ptsfd, err := syscall.Open(sname, os.O_RDWR|syscall.O_NOCTTY, 0)
|
||||||
|
if err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
t := os.NewFile(uintptr(ptsfd), sname)
|
||||||
|
|
||||||
|
// In case of error after this point, make sure we close the pts fd.
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
_ = t.Close() // Best effort.
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
|
// pushing terminal driver STREAMS modules as per pts(7)
|
||||||
|
for _, mod := range []string{"ptem", "ldterm", "ttcompat"} {
|
||||||
|
if err := streamsPush(t, mod); err != nil {
|
||||||
|
return nil, nil, err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return p, t, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ptsname(f *os.File) (string, error) {
|
||||||
|
dev, err := ptsdev(f.Fd())
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
fn := "/dev/pts/" + strconv.FormatInt(int64(dev), 10)
|
||||||
|
|
||||||
|
if err := syscall.Access(fn, 0); err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return fn, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func unlockpt(f *os.File) error {
|
||||||
|
istr := strioctl{
|
||||||
|
icCmd: UNLKPT,
|
||||||
|
icTimeout: 0,
|
||||||
|
icLen: 0,
|
||||||
|
icDP: nil,
|
||||||
|
}
|
||||||
|
return ioctl(f.Fd(), I_STR, uintptr(unsafe.Pointer(&istr)))
|
||||||
|
}
|
||||||
|
|
||||||
|
func minor(x uint64) uint64 { return x & 0377 }
|
||||||
|
|
||||||
|
func ptsdev(fd uintptr) (uint64, error) {
|
||||||
|
istr := strioctl{
|
||||||
|
icCmd: ISPTM,
|
||||||
|
icTimeout: 0,
|
||||||
|
icLen: 0,
|
||||||
|
icDP: nil,
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := ioctl(fd, I_STR, uintptr(unsafe.Pointer(&istr))); err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
var status syscall.Stat_t
|
||||||
|
if err := syscall.Fstat(int(fd), &status); err != nil {
|
||||||
|
return 0, err
|
||||||
|
}
|
||||||
|
return uint64(minor(status.Rdev)), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
type ptOwn struct {
|
||||||
|
rUID int32
|
||||||
|
rGID int32
|
||||||
|
}
|
||||||
|
|
||||||
|
func grantpt(f *os.File) error {
|
||||||
|
if _, err := ptsdev(f.Fd()); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
pto := ptOwn{
|
||||||
|
rUID: int32(os.Getuid()),
|
||||||
|
// XXX should first attempt to get gid of DEFAULT_TTY_GROUP="tty"
|
||||||
|
rGID: int32(os.Getgid()),
|
||||||
|
}
|
||||||
|
istr := strioctl{
|
||||||
|
icCmd: OWNERPT,
|
||||||
|
icTimeout: 0,
|
||||||
|
icLen: int32(unsafe.Sizeof(strioctl{})),
|
||||||
|
icDP: unsafe.Pointer(&pto),
|
||||||
|
}
|
||||||
|
if err := ioctl(f.Fd(), I_STR, uintptr(unsafe.Pointer(&istr))); err != nil {
|
||||||
|
return errors.New("access denied")
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// streamsPush pushes STREAMS modules if not already done so.
|
||||||
|
func streamsPush(f *os.File, mod string) error {
|
||||||
|
buf := []byte(mod)
|
||||||
|
|
||||||
|
// XXX I_FIND is not returning an error when the module
|
||||||
|
// is already pushed even though truss reports a return
|
||||||
|
// value of 1. A bug in the Go Solaris syscall interface?
|
||||||
|
// XXX without this we are at risk of the issue
|
||||||
|
// https://www.illumos.org/issues/9042
|
||||||
|
// but since we are not using libc or XPG4.2, we should not be
|
||||||
|
// double-pushing modules
|
||||||
|
|
||||||
|
if err := ioctl(f.Fd(), I_FIND, uintptr(unsafe.Pointer(&buf[0]))); err != nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return ioctl(f.Fd(), I_PUSH, uintptr(unsafe.Pointer(&buf[0])))
|
||||||
|
}
|
||||||
3
vendor/github.com/kr/pty/pty_unsupported.go
generated
vendored
3
vendor/github.com/kr/pty/pty_unsupported.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build !linux,!darwin,!freebsd,!dragonfly,!openbsd
|
//go:build !linux && !darwin && !freebsd && !dragonfly && !netbsd && !openbsd && !solaris
|
||||||
|
//+build !linux,!darwin,!freebsd,!dragonfly,!netbsd,!openbsd,!solaris
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
|
|||||||
54
vendor/github.com/kr/pty/run.go
generated
vendored
54
vendor/github.com/kr/pty/run.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build !windows
|
//go:build !windows
|
||||||
|
//+build !windows
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
@@ -11,25 +12,46 @@ import (
|
|||||||
// Start assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
// Start assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
||||||
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
||||||
// corresponding pty.
|
// corresponding pty.
|
||||||
func Start(c *exec.Cmd) (pty *os.File, err error) {
|
//
|
||||||
return StartWithSize(c, nil)
|
// Starts the process in a new session and sets the controlling terminal.
|
||||||
|
func Start(cmd *exec.Cmd) (*os.File, error) {
|
||||||
|
return StartWithSize(cmd, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// StartWithSize assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
// StartWithSize assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
||||||
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
||||||
// corresponding pty.
|
// corresponding pty.
|
||||||
//
|
//
|
||||||
// This will resize the pty to the specified size before starting the command
|
// This will resize the pty to the specified size before starting the command.
|
||||||
func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) {
|
// Starts the process in a new session and sets the controlling terminal.
|
||||||
|
func StartWithSize(cmd *exec.Cmd, ws *Winsize) (*os.File, error) {
|
||||||
|
if cmd.SysProcAttr == nil {
|
||||||
|
cmd.SysProcAttr = &syscall.SysProcAttr{}
|
||||||
|
}
|
||||||
|
cmd.SysProcAttr.Setsid = true
|
||||||
|
cmd.SysProcAttr.Setctty = true
|
||||||
|
return StartWithAttrs(cmd, ws, cmd.SysProcAttr)
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartWithAttrs assigns a pseudo-terminal tty os.File to c.Stdin, c.Stdout,
|
||||||
|
// and c.Stderr, calls c.Start, and returns the File of the tty's
|
||||||
|
// corresponding pty.
|
||||||
|
//
|
||||||
|
// This will resize the pty to the specified size before starting the command if a size is provided.
|
||||||
|
// The `attrs` parameter overrides the one set in c.SysProcAttr.
|
||||||
|
//
|
||||||
|
// This should generally not be needed. Used in some edge cases where it is needed to create a pty
|
||||||
|
// without a controlling terminal.
|
||||||
|
func StartWithAttrs(c *exec.Cmd, sz *Winsize, attrs *syscall.SysProcAttr) (*os.File, error) {
|
||||||
pty, tty, err := Open()
|
pty, tty, err := Open()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer tty.Close()
|
defer func() { _ = tty.Close() }() // Best effort.
|
||||||
|
|
||||||
if sz != nil {
|
if sz != nil {
|
||||||
err = Setsize(pty, sz)
|
if err := Setsize(pty, sz); err != nil {
|
||||||
if err != nil {
|
_ = pty.Close() // Best effort.
|
||||||
pty.Close()
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,15 +64,11 @@ func StartWithSize(c *exec.Cmd, sz *Winsize) (pty *os.File, err error) {
|
|||||||
if c.Stdin == nil {
|
if c.Stdin == nil {
|
||||||
c.Stdin = tty
|
c.Stdin = tty
|
||||||
}
|
}
|
||||||
if c.SysProcAttr == nil {
|
|
||||||
c.SysProcAttr = &syscall.SysProcAttr{}
|
c.SysProcAttr = attrs
|
||||||
}
|
|
||||||
c.SysProcAttr.Setctty = true
|
if err := c.Start(); err != nil {
|
||||||
c.SysProcAttr.Setsid = true
|
_ = pty.Close() // Best effort.
|
||||||
c.SysProcAttr.Ctty = int(tty.Fd())
|
|
||||||
err = c.Start()
|
|
||||||
if err != nil {
|
|
||||||
pty.Close()
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return pty, err
|
return pty, err
|
||||||
|
|||||||
64
vendor/github.com/kr/pty/test_crosscompile.sh
generated
vendored
Normal file
64
vendor/github.com/kr/pty/test_crosscompile.sh
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Test script checking that all expected os/arch compile properly.
|
||||||
|
# Does not actually test the logic, just the compilation so we make sure we don't break code depending on the lib.
|
||||||
|
|
||||||
|
echo2() {
|
||||||
|
echo $@ >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
trap end 0
|
||||||
|
end() {
|
||||||
|
[ "$?" = 0 ] && echo2 "Pass." || (echo2 "Fail."; exit 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
cross() {
|
||||||
|
os=$1
|
||||||
|
shift
|
||||||
|
echo2 "Build for $os."
|
||||||
|
for arch in $@; do
|
||||||
|
echo2 " - $os/$arch"
|
||||||
|
GOOS=$os GOARCH=$arch go build
|
||||||
|
done
|
||||||
|
echo2
|
||||||
|
}
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cross linux amd64 386 arm arm64 ppc64 ppc64le s390x mips mipsle mips64 mips64le
|
||||||
|
cross darwin amd64 arm64
|
||||||
|
cross freebsd amd64 386 arm arm64
|
||||||
|
cross netbsd amd64 386 arm arm64
|
||||||
|
cross openbsd amd64 386 arm arm64
|
||||||
|
cross dragonfly amd64
|
||||||
|
cross solaris amd64
|
||||||
|
|
||||||
|
# Not expected to work but should still compile.
|
||||||
|
cross windows amd64 386 arm
|
||||||
|
|
||||||
|
# TODO: Fix compilation error on openbsd/arm.
|
||||||
|
# TODO: Merge the solaris PR.
|
||||||
|
|
||||||
|
# Some os/arch require a different compiler. Run in docker.
|
||||||
|
if ! hash docker; then
|
||||||
|
# If docker is not present, stop here.
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo2 "Build for linux."
|
||||||
|
echo2 " - linux/riscv"
|
||||||
|
docker build -t creack-pty-test -f Dockerfile.riscv .
|
||||||
|
|
||||||
|
# Golang dropped support for darwin 32bits since go1.15. Make sure the lib still compile with go1.14 on those archs.
|
||||||
|
echo2 "Build for darwin (32bits)."
|
||||||
|
echo2 " - darwin/386"
|
||||||
|
docker build -t creack-pty-test -f Dockerfile.golang --build-arg=GOVERSION=1.14 --build-arg=GOOS=darwin --build-arg=GOARCH=386 .
|
||||||
|
echo2 " - darwin/arm"
|
||||||
|
docker build -t creack-pty-test -f Dockerfile.golang --build-arg=GOVERSION=1.14 --build-arg=GOOS=darwin --build-arg=GOARCH=arm .
|
||||||
|
|
||||||
|
# Run a single test for an old go version. Would be best with go1.0, but not available on Dockerhub.
|
||||||
|
# Using 1.6 as it is the base version for the RISCV compiler.
|
||||||
|
# Would also be better to run all the tests, not just one, need to refactor this file to allow for specifc archs per version.
|
||||||
|
echo2 "Build for linux - go1.6."
|
||||||
|
echo2 " - linux/amd64"
|
||||||
|
docker build -t creack-pty-test -f Dockerfile.golang --build-arg=GOVERSION=1.6 --build-arg=GOOS=linux --build-arg=GOARCH=amd64 .
|
||||||
64
vendor/github.com/kr/pty/util.go
generated
vendored
64
vendor/github.com/kr/pty/util.go
generated
vendored
@@ -1,64 +0,0 @@
|
|||||||
// +build !windows
|
|
||||||
|
|
||||||
package pty
|
|
||||||
|
|
||||||
import (
|
|
||||||
"os"
|
|
||||||
"syscall"
|
|
||||||
"unsafe"
|
|
||||||
)
|
|
||||||
|
|
||||||
// InheritSize applies the terminal size of pty to tty. This should be run
|
|
||||||
// in a signal handler for syscall.SIGWINCH to automatically resize the tty when
|
|
||||||
// the pty receives a window size change notification.
|
|
||||||
func InheritSize(pty, tty *os.File) error {
|
|
||||||
size, err := GetsizeFull(pty)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
err = Setsize(tty, size)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// Setsize resizes t to s.
|
|
||||||
func Setsize(t *os.File, ws *Winsize) error {
|
|
||||||
return windowRectCall(ws, t.Fd(), syscall.TIOCSWINSZ)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetsizeFull returns the full terminal size description.
|
|
||||||
func GetsizeFull(t *os.File) (size *Winsize, err error) {
|
|
||||||
var ws Winsize
|
|
||||||
err = windowRectCall(&ws, t.Fd(), syscall.TIOCGWINSZ)
|
|
||||||
return &ws, err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Getsize returns the number of rows (lines) and cols (positions
|
|
||||||
// in each line) in terminal t.
|
|
||||||
func Getsize(t *os.File) (rows, cols int, err error) {
|
|
||||||
ws, err := GetsizeFull(t)
|
|
||||||
return int(ws.Rows), int(ws.Cols), err
|
|
||||||
}
|
|
||||||
|
|
||||||
// Winsize describes the terminal size.
|
|
||||||
type Winsize struct {
|
|
||||||
Rows uint16 // ws_row: Number of rows (in cells)
|
|
||||||
Cols uint16 // ws_col: Number of columns (in cells)
|
|
||||||
X uint16 // ws_xpixel: Width in pixels
|
|
||||||
Y uint16 // ws_ypixel: Height in pixels
|
|
||||||
}
|
|
||||||
|
|
||||||
func windowRectCall(ws *Winsize, fd, a2 uintptr) error {
|
|
||||||
_, _, errno := syscall.Syscall(
|
|
||||||
syscall.SYS_IOCTL,
|
|
||||||
fd,
|
|
||||||
a2,
|
|
||||||
uintptr(unsafe.Pointer(ws)),
|
|
||||||
)
|
|
||||||
if errno != 0 {
|
|
||||||
return syscall.Errno(errno)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
27
vendor/github.com/kr/pty/winsize.go
generated
vendored
Normal file
27
vendor/github.com/kr/pty/winsize.go
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package pty
|
||||||
|
|
||||||
|
import "os"
|
||||||
|
|
||||||
|
// InheritSize applies the terminal size of pty to tty. This should be run
|
||||||
|
// in a signal handler for syscall.SIGWINCH to automatically resize the tty when
|
||||||
|
// the pty receives a window size change notification.
|
||||||
|
func InheritSize(pty, tty *os.File) error {
|
||||||
|
size, err := GetsizeFull(pty)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := Setsize(tty, size); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// Getsize returns the number of rows (lines) and cols (positions
|
||||||
|
// in each line) in terminal t.
|
||||||
|
func Getsize(t *os.File) (rows, cols int, err error) {
|
||||||
|
ws, err := GetsizeFull(t)
|
||||||
|
if err != nil {
|
||||||
|
return 0, 0, err
|
||||||
|
}
|
||||||
|
return int(ws.Rows), int(ws.Cols), nil
|
||||||
|
}
|
||||||
35
vendor/github.com/kr/pty/winsize_unix.go
generated
vendored
Normal file
35
vendor/github.com/kr/pty/winsize_unix.go
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
//go:build !windows
|
||||||
|
//+build !windows
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
"syscall"
|
||||||
|
"unsafe"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Winsize describes the terminal size.
|
||||||
|
type Winsize struct {
|
||||||
|
Rows uint16 // ws_row: Number of rows (in cells)
|
||||||
|
Cols uint16 // ws_col: Number of columns (in cells)
|
||||||
|
X uint16 // ws_xpixel: Width in pixels
|
||||||
|
Y uint16 // ws_ypixel: Height in pixels
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setsize resizes t to s.
|
||||||
|
func Setsize(t *os.File, ws *Winsize) error {
|
||||||
|
//nolint:gosec // Expected unsafe pointer for Syscall call.
|
||||||
|
return ioctl(t.Fd(), syscall.TIOCSWINSZ, uintptr(unsafe.Pointer(ws)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetsizeFull returns the full terminal size description.
|
||||||
|
func GetsizeFull(t *os.File) (size *Winsize, err error) {
|
||||||
|
var ws Winsize
|
||||||
|
|
||||||
|
//nolint:gosec // Expected unsafe pointer for Syscall call.
|
||||||
|
if err := ioctl(t.Fd(), syscall.TIOCGWINSZ, uintptr(unsafe.Pointer(&ws))); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &ws, nil
|
||||||
|
}
|
||||||
23
vendor/github.com/kr/pty/winsize_unsupported.go
generated
vendored
Normal file
23
vendor/github.com/kr/pty/winsize_unsupported.go
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
//go:build windows
|
||||||
|
//+build windows
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Winsize is a dummy struct to enable compilation on unsupported platforms.
|
||||||
|
type Winsize struct {
|
||||||
|
Rows, Cols, X, Y uint16
|
||||||
|
}
|
||||||
|
|
||||||
|
// Setsize resizes t to s.
|
||||||
|
func Setsize(*os.File, *Winsize) error {
|
||||||
|
return ErrUnsupported
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetsizeFull returns the full terminal size description.
|
||||||
|
func GetsizeFull(*os.File) (*Winsize, error) {
|
||||||
|
return nil, ErrUnsupported
|
||||||
|
}
|
||||||
3
vendor/github.com/kr/pty/ztypes_386.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_386.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build 386
|
||||||
|
//+build 386
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_amd64.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_amd64.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build amd64
|
||||||
|
//+build amd64
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_arm.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_arm.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build arm
|
||||||
|
//+build arm
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
|||||||
5
vendor/github.com/kr/pty/ztypes_arm64.go
generated
vendored
5
vendor/github.com/kr/pty/ztypes_arm64.go
generated
vendored
@@ -1,8 +1,9 @@
|
|||||||
|
//go:build arm64
|
||||||
|
//+build arm64
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|
||||||
// +build arm64
|
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_dragonfly_amd64.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build amd64 && dragonfly
|
||||||
|
//+build amd64,dragonfly
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types_dragonfly.go
|
// cgo -godefs types_dragonfly.go
|
||||||
|
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_freebsd_386.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_freebsd_386.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build 386 && freebsd
|
||||||
|
//+build 386,freebsd
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types_freebsd.go
|
// cgo -godefs types_freebsd.go
|
||||||
|
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_freebsd_amd64.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_freebsd_amd64.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build amd64 && freebsd
|
||||||
|
//+build amd64,freebsd
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types_freebsd.go
|
// cgo -godefs types_freebsd.go
|
||||||
|
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_freebsd_arm.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_freebsd_arm.go
generated
vendored
@@ -1,3 +1,6 @@
|
|||||||
|
//go:build arm && freebsd
|
||||||
|
//+build arm,freebsd
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types_freebsd.go
|
// cgo -godefs types_freebsd.go
|
||||||
|
|
||||||
|
|||||||
16
vendor/github.com/kr/pty/ztypes_freebsd_arm64.go
generated
vendored
Normal file
16
vendor/github.com/kr/pty/ztypes_freebsd_arm64.go
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
//go:build arm64 && freebsd
|
||||||
|
//+build arm64,freebsd
|
||||||
|
|
||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs types_freebsd.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
const (
|
||||||
|
_C_SPECNAMELEN = 0xff
|
||||||
|
)
|
||||||
|
|
||||||
|
type fiodgnameArg struct {
|
||||||
|
Len int32
|
||||||
|
Buf *byte
|
||||||
|
}
|
||||||
14
vendor/github.com/kr/pty/ztypes_freebsd_ppc64.go
generated
vendored
Normal file
14
vendor/github.com/kr/pty/ztypes_freebsd_ppc64.go
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types_freebsd.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
const (
|
||||||
|
_C_SPECNAMELEN = 0x3f
|
||||||
|
)
|
||||||
|
|
||||||
|
type fiodgnameArg struct {
|
||||||
|
Len int32
|
||||||
|
Pad_cgo_0 [4]byte
|
||||||
|
Buf *byte
|
||||||
|
}
|
||||||
12
vendor/github.com/kr/pty/ztypes_loong64.go
generated
vendored
Normal file
12
vendor/github.com/kr/pty/ztypes_loong64.go
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
//go:build loong64
|
||||||
|
// +build loong64
|
||||||
|
|
||||||
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_int int32
|
||||||
|
_C_uint uint32
|
||||||
|
)
|
||||||
7
vendor/github.com/kr/pty/ztypes_mipsx.go
generated
vendored
7
vendor/github.com/kr/pty/ztypes_mipsx.go
generated
vendored
@@ -1,9 +1,10 @@
|
|||||||
|
//go:build (mips || mipsle || mips64 || mips64le) && linux
|
||||||
|
//+build linux
|
||||||
|
//+build mips mipsle mips64 mips64le
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|
||||||
// +build linux
|
|
||||||
// +build mips mipsle mips64 mips64le
|
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
type (
|
type (
|
||||||
|
|||||||
17
vendor/github.com/kr/pty/ztypes_netbsd_32bit_int.go
generated
vendored
Normal file
17
vendor/github.com/kr/pty/ztypes_netbsd_32bit_int.go
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
//go:build (386 || amd64 || arm || arm64) && netbsd
|
||||||
|
//+build netbsd
|
||||||
|
//+build 386 amd64 arm arm64
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type ptmget struct {
|
||||||
|
Cfd int32
|
||||||
|
Sfd int32
|
||||||
|
Cn [1024]int8
|
||||||
|
Sn [1024]int8
|
||||||
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
ioctl_TIOCPTSNAME = 0x48087448
|
||||||
|
ioctl_TIOCGRANTPT = 0x20007447
|
||||||
|
)
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
// Created by cgo -godefs - DO NOT EDIT
|
//go:build (386 || amd64 || arm || arm64 || mips64) && openbsd
|
||||||
// cgo -godefs types_openbsd.go
|
//+build openbsd
|
||||||
|
//+build 386 amd64 arm arm64 mips64
|
||||||
|
|
||||||
package pty
|
package pty
|
||||||
|
|
||||||
13
vendor/github.com/kr/pty/ztypes_openbsd_386.go
generated
vendored
13
vendor/github.com/kr/pty/ztypes_openbsd_386.go
generated
vendored
@@ -1,13 +0,0 @@
|
|||||||
// Created by cgo -godefs - DO NOT EDIT
|
|
||||||
// cgo -godefs types_openbsd.go
|
|
||||||
|
|
||||||
package pty
|
|
||||||
|
|
||||||
type ptmget struct {
|
|
||||||
Cfd int32
|
|
||||||
Sfd int32
|
|
||||||
Cn [16]int8
|
|
||||||
Sn [16]int8
|
|
||||||
}
|
|
||||||
|
|
||||||
var ioctl_PTMGET = 0x40287401
|
|
||||||
3
vendor/github.com/kr/pty/ztypes_ppc64.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_ppc64.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build ppc64
|
//go:build ppc64
|
||||||
|
//+build ppc64
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|||||||
3
vendor/github.com/kr/pty/ztypes_ppc64le.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_ppc64le.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build ppc64le
|
//go:build ppc64le
|
||||||
|
//+build ppc64le
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|||||||
12
vendor/github.com/kr/pty/ztypes_riscvx.go
generated
vendored
Normal file
12
vendor/github.com/kr/pty/ztypes_riscvx.go
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
//go:build riscv || riscv64
|
||||||
|
//+build riscv riscv64
|
||||||
|
|
||||||
|
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
|
||||||
|
// cgo -godefs types.go
|
||||||
|
|
||||||
|
package pty
|
||||||
|
|
||||||
|
type (
|
||||||
|
_C_int int32
|
||||||
|
_C_uint uint32
|
||||||
|
)
|
||||||
3
vendor/github.com/kr/pty/ztypes_s390x.go
generated
vendored
3
vendor/github.com/kr/pty/ztypes_s390x.go
generated
vendored
@@ -1,4 +1,5 @@
|
|||||||
// +build s390x
|
//go:build s390x
|
||||||
|
//+build s390x
|
||||||
|
|
||||||
// Created by cgo -godefs - DO NOT EDIT
|
// Created by cgo -godefs - DO NOT EDIT
|
||||||
// cgo -godefs types.go
|
// cgo -godefs types.go
|
||||||
|
|||||||
5
vendor/modules.txt
vendored
5
vendor/modules.txt
vendored
@@ -286,7 +286,7 @@ github.com/hashicorp/errwrap
|
|||||||
github.com/hashicorp/go-multierror
|
github.com/hashicorp/go-multierror
|
||||||
# github.com/hashicorp/go-version v1.3.0
|
# github.com/hashicorp/go-version v1.3.0
|
||||||
github.com/hashicorp/go-version
|
github.com/hashicorp/go-version
|
||||||
# github.com/hinshun/vt10x v0.0.0-20220127042424-3ca73d0126d7
|
# github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02
|
||||||
## explicit
|
## explicit
|
||||||
github.com/hinshun/vt10x
|
github.com/hinshun/vt10x
|
||||||
# github.com/hpcloud/tail v1.0.0
|
# github.com/hpcloud/tail v1.0.0
|
||||||
@@ -311,7 +311,7 @@ github.com/json-iterator/go
|
|||||||
github.com/kballard/go-shellquote
|
github.com/kballard/go-shellquote
|
||||||
# github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351
|
# github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351
|
||||||
github.com/kevinburke/ssh_config
|
github.com/kevinburke/ssh_config
|
||||||
# github.com/kr/pty v1.1.5
|
# github.com/kr/pty v1.1.5 => github.com/creack/pty v1.1.18-0.20220131133352-edfd13da2a92
|
||||||
## explicit
|
## explicit
|
||||||
github.com/kr/pty
|
github.com/kr/pty
|
||||||
# github.com/kubernetes-sigs/service-catalog v0.3.1
|
# github.com/kubernetes-sigs/service-catalog v0.3.1
|
||||||
@@ -1250,3 +1250,4 @@ sigs.k8s.io/yaml
|
|||||||
# k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20211006165314-dacad8cb3fcb
|
# k8s.io/component-helpers => k8s.io/component-helpers v0.0.0-20211006165314-dacad8cb3fcb
|
||||||
# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20210831004331-1199c36daed6
|
# k8s.io/kubectl => github.com/openshift/kubernetes/staging/src/k8s.io/kubectl v0.0.0-20210831004331-1199c36daed6
|
||||||
# k8s.io/metrics => k8s.io/metrics v0.0.0-20211006171351-de75bc981086
|
# k8s.io/metrics => k8s.io/metrics v0.0.0-20211006171351-de75bc981086
|
||||||
|
# github.com/kr/pty => github.com/creack/pty v1.1.18-0.20220131133352-edfd13da2a92
|
||||||
|
|||||||
Reference in New Issue
Block a user