vmctl: fix build for solaris os (#2555)

* vmctl: fix build for solaris os

* vmctl: updated dependency (using Syscall instead of Syscall6)

* vmctl: updated dependency

* vmctl: updated dependency
This commit is contained in:
Dmytro Kozlov 2022-05-09 22:36:18 +03:00 committed by GitHub
parent a7f18f8cb2
commit c8af625bcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 59 additions and 68 deletions

View File

@ -7,13 +7,12 @@ import (
"strings" "strings"
"time" "time"
"github.com/cheggaaa/pb/v3"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/config" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/config"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/datasource" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/datasource"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/remotewrite" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmalert/remotewrite"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger" "github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal" "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"
"github.com/dmitryk-dk/pb/v3"
) )
var ( var (

View File

@ -3,7 +3,7 @@
// altogether. // altogether.
package barpool package barpool
import "github.com/cheggaaa/pb/v3" import "github.com/dmitryk-dk/pb/v3"
var pool = pb.NewPool() var pool = pb.NewPool()

View File

@ -8,7 +8,7 @@ import (
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/opentsdb" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/opentsdb"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/vm" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/vm"
"github.com/cheggaaa/pb/v3" "github.com/dmitryk-dk/pb/v3"
) )
type otsdbProcessor struct { type otsdbProcessor struct {

View File

@ -13,11 +13,10 @@ import (
"sync" "sync"
"time" "time"
"github.com/cheggaaa/pb/v3"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/barpool" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/barpool"
"github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/limiter" "github.com/VictoriaMetrics/VictoriaMetrics/app/vmctl/limiter"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/decimal" "github.com/VictoriaMetrics/VictoriaMetrics/lib/decimal"
"github.com/dmitryk-dk/pb/v3"
) )
// Config contains list of params to configure // Config contains list of params to configure

2
go.mod
View File

@ -13,7 +13,7 @@ require (
github.com/VictoriaMetrics/metricsql v0.43.0 github.com/VictoriaMetrics/metricsql v0.43.0
github.com/aws/aws-sdk-go v1.44.9 github.com/aws/aws-sdk-go v1.44.9
github.com/cespare/xxhash/v2 v2.1.2 github.com/cespare/xxhash/v2 v2.1.2
github.com/cheggaaa/pb/v3 v3.0.9-0.20211222075416-90c02fa07ea4 github.com/dmitryk-dk/pb/v3 v3.0.9
github.com/golang/snappy v0.0.4 github.com/golang/snappy v0.0.4
github.com/influxdata/influxdb v1.9.6 github.com/influxdata/influxdb v1.9.6
github.com/klauspost/compress v1.15.3 github.com/klauspost/compress v1.15.3

4
go.sum
View File

@ -198,8 +198,6 @@ github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tj
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE=
github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cheggaaa/pb/v3 v3.0.9-0.20211222075416-90c02fa07ea4 h1:sbHAiGddrdLsd3i9/RYsm0OKOEh+UDFOONxai8YMMcw=
github.com/cheggaaa/pb/v3 v3.0.9-0.20211222075416-90c02fa07ea4/go.mod h1:UICbiLec/XO6Hw6k+BHEtHeQFzzBH4i2/qk/ow1EJTA=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@ -244,6 +242,8 @@ github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8
github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/digitalocean/godo v1.52.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= github.com/digitalocean/godo v1.52.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU=
github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8=
github.com/dmitryk-dk/pb/v3 v3.0.9 h1:wpWkldo8V6NeONVgmuCvsDIDjSRkJfbTbdoVigKYJ2I=
github.com/dmitryk-dk/pb/v3 v3.0.9/go.mod h1:o9xpZcwYZHNdNaAlJVvWTA+YH+IlPciBs1myroBOxyM=
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
github.com/docker/docker v17.12.0-ce-rc1.0.20200706150819-a40b877fbb9e+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v17.12.0-ce-rc1.0.20200706150819-a40b877fbb9e+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=

View File

@ -1,15 +0,0 @@
package pb
var (
// Full - preset with all default available elements
// Example: 'Prefix 20/100 [-->______] 20% 1 p/s ETA 1m Suffix'
Full ProgressBarTemplate = `{{string . "prefix"}}{{counters . }} {{bar . }} {{percent . }} {{speed . }} {{rtime . "ETA %s"}}{{string . "suffix"}}`
// Default - preset like Full but without elapsed time
// Example: 'Prefix 20/100 [-->______] 20% 1 p/s ETA 1m Suffix'
Default ProgressBarTemplate = `{{string . "prefix"}}{{counters . }} {{bar . }} {{percent . }} {{speed . }}{{string . "suffix"}}`
// Simple - preset without speed and any timers. Only counters, bar and percents
// Example: 'Prefix 20/100 [-->______] 20% Suffix'
Simple ProgressBarTemplate = `{{string . "prefix"}}{{counters . }} {{bar . }} {{percent . }}{{string . "suffix"}}`
)

View File

@ -1,8 +0,0 @@
// +build linux darwin freebsd netbsd openbsd dragonfly
// +build !appengine
package termutil
import "syscall"
const sysIoctl = syscall.SYS_IOCTL

View File

@ -17,7 +17,7 @@ import (
"github.com/mattn/go-colorable" "github.com/mattn/go-colorable"
"github.com/mattn/go-isatty" "github.com/mattn/go-isatty"
"github.com/cheggaaa/pb/v3/termutil" "github.com/dmitryk-dk/pb/v3/termutil"
) )
// Version of ProgressBar library // Version of ProgressBar library

View File

@ -1,4 +1,4 @@
// +build linux darwin freebsd netbsd openbsd solaris dragonfly windows plan9 aix //go:build linux || darwin || freebsd || netbsd || openbsd || solaris || dragonfly || windows || plan9 || aix
package pb package pb
@ -7,7 +7,7 @@ import (
"sync" "sync"
"time" "time"
"github.com/cheggaaa/pb/v3/termutil" "github.com/dmitryk-dk/pb/v3/termutil"
) )
// Create and start new pool with given bars // Create and start new pool with given bars

View File

@ -1,4 +1,4 @@
// +build windows //go:build windows
package pb package pb
@ -6,7 +6,7 @@ import (
"fmt" "fmt"
"log" "log"
"github.com/cheggaaa/pb/v3/termutil" "github.com/dmitryk-dk/pb/v3/termutil"
) )
func (p *Pool) print(first bool) bool { func (p *Pool) print(first bool) bool {
@ -24,7 +24,7 @@ func (p *Pool) print(first bool) bool {
} }
coords.X = 0 coords.X = 0
err = termutil.SetCursorPos(coords) err = termutil.SetCursorPos(coords)
if err != nil { if err != nil {
log.Panic(err) log.Panic(err)
} }

View File

@ -1,4 +1,4 @@
// +build linux darwin freebsd netbsd openbsd solaris dragonfly plan9 aix //go:build linux || darwin || freebsd || netbsd || openbsd || solaris || dragonfly || plan9 || aix
package pb package pb
@ -6,7 +6,7 @@ import (
"fmt" "fmt"
"os" "os"
"github.com/cheggaaa/pb/v3/termutil" "github.com/dmitryk-dk/pb/v3/termutil"
) )
func (p *Pool) print(first bool) bool { func (p *Pool) print(first bool) bool {

15
vendor/github.com/dmitryk-dk/pb/v3/preset.go generated vendored Normal file
View File

@ -0,0 +1,15 @@
package pb
var (
// Full - preset with all default available elements
// Example: 'Prefix 20/100 [-->______] 20% 1 p/s ETA 1m Suffix'
Full ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }} {{speed . }} {{rtime . "ETA %s"}}{{with string . "suffix"}} {{.}}{{end}}`
// Default - preset like Full but without elapsed time
// Example: 'Prefix 20/100 [-->______] 20% 1 p/s Suffix'
Default ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }} {{speed . }}{{with string . "suffix"}} {{.}}{{end}}`
// Simple - preset without speed and any timers. Only counters, bar and percents
// Example: 'Prefix 20/100 [-->______] 20% Suffix'
Simple ProgressBarTemplate = `{{with string . "prefix"}}{{.}} {{end}}{{counters . }} {{bar . }} {{percent . }}{{with string . "suffix"}} {{.}}{{end}}`
)

View File

@ -1,4 +1,4 @@
// +build appengine //go:build appengine
package termutil package termutil

View File

@ -1,5 +1,4 @@
// +build darwin freebsd netbsd openbsd dragonfly //go:build (darwin || freebsd || netbsd || openbsd || dragonfly) && !appengine
// +build !appengine
package termutil package termutil

View File

@ -1,5 +1,4 @@
// +build linux //go:build linux && !appengine
// +build !appengine
package termutil package termutil

View File

@ -0,0 +1,7 @@
//go:build (linux || darwin || freebsd || netbsd || openbsd || dragonfly) && !appengine
package termutil
import "syscall"
const sysIoctl = syscall.SYS_IOCTL

View File

@ -1,5 +1,4 @@
// +build solaris //go:build solaris && !appengine
// +build !appengine
package termutil package termutil

View File

@ -1,4 +1,4 @@
// +build windows //go:build windows
package termutil package termutil

View File

@ -1,5 +1,4 @@
// +build linux darwin freebsd netbsd openbsd solaris dragonfly //go:build (linux || darwin || freebsd || netbsd || openbsd || solaris || dragonfly) && !appengine
// +build !appengine
package termutil package termutil
@ -16,6 +15,7 @@ var (
unlockSignals = []os.Signal{ unlockSignals = []os.Signal{
os.Interrupt, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGKILL, os.Interrupt, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGKILL,
} }
oldState syscall.Termios
) )
type window struct { type window struct {
@ -53,30 +53,27 @@ func TerminalSize() (rows, cols int, err error) {
return int(w.Row), int(w.Col), nil return int(w.Row), int(w.Col), nil
} }
var oldState syscall.Termios func lockEcho() error {
func lockEcho() (err error) {
fd := tty.Fd() fd := tty.Fd()
if _, _, e := syscall.Syscall6(sysIoctl, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0); e != 0 {
err = fmt.Errorf("Can't get terminal settings: %v", e) if _, _, err := syscall.Syscall(sysIoctl, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&oldState))); err != 0 {
return return fmt.Errorf("error when puts the terminal connected to the given file descriptor: %v", err)
} }
newState := oldState newState := oldState
newState.Lflag &^= syscall.ECHO newState.Lflag &^= syscall.ECHO
newState.Lflag |= syscall.ICANON | syscall.ISIG newState.Lflag |= syscall.ICANON | syscall.ISIG
newState.Iflag |= syscall.ICRNL newState.Iflag |= syscall.ICRNL
if _, _, e := syscall.Syscall6(sysIoctl, fd, ioctlWriteTermios, uintptr(unsafe.Pointer(&newState)), 0, 0, 0); e != 0 { if _, _, e := syscall.Syscall(sysIoctl, fd, ioctlWriteTermios, uintptr(unsafe.Pointer(&newState))); e != 0 {
err = fmt.Errorf("Can't set terminal settings: %v", e) return fmt.Errorf("error update terminal settings: %v", e)
return
} }
return return nil
} }
func unlockEcho() (err error) { func unlockEcho() error {
fd := tty.Fd() fd := tty.Fd()
if _, _, e := syscall.Syscall6(sysIoctl, fd, ioctlWriteTermios, uintptr(unsafe.Pointer(&oldState)), 0, 0, 0); e != 0 { if _, _, err := syscall.Syscall(sysIoctl, fd, ioctlWriteTermios, uintptr(unsafe.Pointer(&oldState))); err != 0 {
err = fmt.Errorf("Can't set terminal settings") return fmt.Errorf("error restores the terminal connected to the given file descriptor: %w", err)
} }
return return nil
} }

8
vendor/modules.txt vendored
View File

@ -93,13 +93,13 @@ github.com/beorn7/perks/quantile
# github.com/cespare/xxhash/v2 v2.1.2 # github.com/cespare/xxhash/v2 v2.1.2
## explicit; go 1.11 ## explicit; go 1.11
github.com/cespare/xxhash/v2 github.com/cespare/xxhash/v2
# github.com/cheggaaa/pb/v3 v3.0.9-0.20211222075416-90c02fa07ea4
## explicit; go 1.12
github.com/cheggaaa/pb/v3
github.com/cheggaaa/pb/v3/termutil
# github.com/cpuguy83/go-md2man/v2 v2.0.2 # github.com/cpuguy83/go-md2man/v2 v2.0.2
## explicit; go 1.11 ## explicit; go 1.11
github.com/cpuguy83/go-md2man/v2/md2man github.com/cpuguy83/go-md2man/v2/md2man
# github.com/dmitryk-dk/pb/v3 v3.0.9
## explicit; go 1.18
github.com/dmitryk-dk/pb/v3
github.com/dmitryk-dk/pb/v3/termutil
# github.com/fatih/color v1.13.0 # github.com/fatih/color v1.13.0
## explicit; go 1.13 ## explicit; go 1.13
github.com/fatih/color github.com/fatih/color