mirror of
https://github.com/containers/podman.git
synced 2025-08-06 03:19:52 +08:00
Merge pull request #21030 from containers/renovate/github.com-vbauerster-mpb-v8-8.x
Update module github.com/vbauerster/mpb/v8 to v8.7.1
This commit is contained in:
2
go.mod
2
go.mod
@ -62,7 +62,7 @@ require (
|
|||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
|
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635
|
||||||
github.com/ulikunitz/xz v0.5.11
|
github.com/ulikunitz/xz v0.5.11
|
||||||
github.com/vbauerster/mpb/v8 v8.7.0
|
github.com/vbauerster/mpb/v8 v8.7.1
|
||||||
github.com/vishvananda/netlink v1.2.1-beta.2
|
github.com/vishvananda/netlink v1.2.1-beta.2
|
||||||
go.etcd.io/bbolt v1.3.8
|
go.etcd.io/bbolt v1.3.8
|
||||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d
|
golang.org/x/exp v0.0.0-20231006140011-7918f672742d
|
||||||
|
4
go.sum
4
go.sum
@ -1074,8 +1074,8 @@ github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN
|
|||||||
github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI=
|
github.com/vbatts/tar-split v0.11.2/go.mod h1:vV3ZuO2yWSVsz+pfFzDG/upWH1JhjOiEaWq6kXyQ3VI=
|
||||||
github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts=
|
github.com/vbatts/tar-split v0.11.5 h1:3bHCTIheBm1qFTcgh9oPu+nNBtX+XJIupG/vacinCts=
|
||||||
github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk=
|
github.com/vbatts/tar-split v0.11.5/go.mod h1:yZbwRsSeGjusneWgA781EKej9HF8vme8okylkAeNKLk=
|
||||||
github.com/vbauerster/mpb/v8 v8.7.0 h1:n2LTGyol7qqNBcLQn8FL5Bga2O8CGF75OOYsJVFsfMg=
|
github.com/vbauerster/mpb/v8 v8.7.1 h1:bQoSMMTFAg/gjsLrBYmO8gbRcZt7aDq6WI2IMa9BTqM=
|
||||||
github.com/vbauerster/mpb/v8 v8.7.0/go.mod h1:0RgdqeTpu6cDbdWeSaDvEvfgm9O598rBnRZ09HKaV0k=
|
github.com/vbauerster/mpb/v8 v8.7.1/go.mod h1:fWgXcAu4W+0cBSUh4ZlaKJyC2KtgU27ZSTaiIk0QNsQ=
|
||||||
github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
|
github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
|
||||||
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
|
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
|
||||||
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
|
github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho=
|
||||||
|
21
vendor/github.com/vbauerster/mpb/v8/bar.go
generated
vendored
21
vendor/github.com/vbauerster/mpb/v8/bar.go
generated
vendored
@ -429,13 +429,11 @@ func (b *Bar) render(tw int) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
frame := &renderFrame{
|
frame := &renderFrame{rows: rows}
|
||||||
rows: rows,
|
|
||||||
shutdown: s.shutdown,
|
|
||||||
rmOnComplete: s.rmOnComplete,
|
|
||||||
noPop: s.noPop,
|
|
||||||
}
|
|
||||||
if s.completed || s.aborted {
|
if s.completed || s.aborted {
|
||||||
|
frame.shutdown = s.shutdown
|
||||||
|
frame.rmOnComplete = s.rmOnComplete
|
||||||
|
frame.noPop = s.noPop
|
||||||
// post increment makes sure OnComplete decorators are rendered
|
// post increment makes sure OnComplete decorators are rendered
|
||||||
s.shutdown++
|
s.shutdown++
|
||||||
}
|
}
|
||||||
@ -460,12 +458,15 @@ func (b *Bar) triggerCompletion(s *bState) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *Bar) tryEarlyRefresh(renderReq chan<- time.Time) {
|
func (b *Bar) tryEarlyRefresh(renderReq chan<- time.Time) {
|
||||||
var anyOtherRunning bool
|
var otherRunning int
|
||||||
b.container.traverseBars(func(bar *Bar) bool {
|
b.container.traverseBars(func(bar *Bar) bool {
|
||||||
anyOtherRunning = b != bar && bar.IsRunning()
|
if b != bar && bar.IsRunning() {
|
||||||
return anyOtherRunning
|
otherRunning++
|
||||||
|
return false // stop traverse
|
||||||
|
}
|
||||||
|
return true // continue traverse
|
||||||
})
|
})
|
||||||
if !anyOtherRunning {
|
if otherRunning == 0 {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case renderReq <- time.Now():
|
case renderReq <- time.Now():
|
||||||
|
74
vendor/github.com/vbauerster/mpb/v8/progress.go
generated
vendored
74
vendor/github.com/vbauerster/mpb/v8/progress.go
generated
vendored
@ -68,14 +68,17 @@ func NewWithContext(ctx context.Context, options ...ContainerOption) *Progress {
|
|||||||
ctx = context.Background()
|
ctx = context.Background()
|
||||||
}
|
}
|
||||||
ctx, cancel := context.WithCancel(ctx)
|
ctx, cancel := context.WithCancel(ctx)
|
||||||
|
delayRC := make(chan struct{}, 1)
|
||||||
|
delayRC <- struct{}{}
|
||||||
s := &pState{
|
s := &pState{
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
hm: make(heapManager),
|
hm: make(heapManager),
|
||||||
dropS: make(chan struct{}),
|
dropS: make(chan struct{}),
|
||||||
dropD: make(chan struct{}),
|
dropD: make(chan struct{}),
|
||||||
renderReq: make(chan time.Time),
|
renderReq: make(chan time.Time),
|
||||||
refreshRate: defaultRefreshRate,
|
|
||||||
popPriority: math.MinInt32,
|
popPriority: math.MinInt32,
|
||||||
|
refreshRate: defaultRefreshRate,
|
||||||
|
delayRC: delayRC,
|
||||||
queueBars: make(map[*Bar]*Bar),
|
queueBars: make(map[*Bar]*Bar),
|
||||||
output: os.Stdout,
|
output: os.Stdout,
|
||||||
debugOut: io.Discard,
|
debugOut: io.Discard,
|
||||||
@ -191,7 +194,7 @@ func (p *Progress) traverseBars(cb func(b *Bar) bool) {
|
|||||||
select {
|
select {
|
||||||
case p.operateState <- func(s *pState) { s.hm.iter(iter, drop) }:
|
case p.operateState <- func(s *pState) { s.hm.iter(iter, drop) }:
|
||||||
for b := range iter {
|
for b := range iter {
|
||||||
if cb(b) {
|
if !cb(b) {
|
||||||
close(drop)
|
close(drop)
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -258,34 +261,52 @@ func (p *Progress) Shutdown() {
|
|||||||
|
|
||||||
func (p *Progress) serve(s *pState, cw *cwriter.Writer) {
|
func (p *Progress) serve(s *pState, cw *cwriter.Writer) {
|
||||||
defer p.pwg.Done()
|
defer p.pwg.Done()
|
||||||
render := func() error { return s.render(cw) }
|
|
||||||
var err error
|
var err error
|
||||||
|
w := cwriter.New(io.Discard)
|
||||||
|
renderReq := s.renderReq
|
||||||
|
operateState := p.operateState
|
||||||
|
interceptIO := p.interceptIO
|
||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case op := <-p.operateState:
|
case <-s.delayRC:
|
||||||
|
w, cw = cw, nil
|
||||||
|
s.delayRC = nil
|
||||||
|
case op := <-operateState:
|
||||||
op(s)
|
op(s)
|
||||||
case fn := <-p.interceptIO:
|
case fn := <-interceptIO:
|
||||||
fn(cw)
|
fn(w)
|
||||||
case <-s.renderReq:
|
case <-renderReq:
|
||||||
e := render()
|
err = s.render(w)
|
||||||
if e != nil {
|
if err != nil {
|
||||||
|
// (*pState).(autoRefreshListener|manualRefreshListener) may block
|
||||||
|
// if not launching following short lived goroutine
|
||||||
|
go func() {
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-s.renderReq:
|
||||||
|
case <-p.done:
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
p.cancel() // cancel all bars
|
p.cancel() // cancel all bars
|
||||||
render = func() error { return nil }
|
renderReq = nil
|
||||||
err = e
|
operateState = nil
|
||||||
|
interceptIO = nil
|
||||||
}
|
}
|
||||||
case <-p.done:
|
case <-p.done:
|
||||||
update := make(chan bool)
|
|
||||||
for s.autoRefresh && err == nil {
|
|
||||||
s.hm.state(update)
|
|
||||||
if <-update {
|
|
||||||
err = render()
|
|
||||||
} else {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_, _ = fmt.Fprintln(s.debugOut, err.Error())
|
_, _ = fmt.Fprintln(s.debugOut, err.Error())
|
||||||
|
} else if s.autoRefresh {
|
||||||
|
update := make(chan bool)
|
||||||
|
for i := 0; i == 0 || <-update; i++ {
|
||||||
|
if err := s.render(w); err != nil {
|
||||||
|
_, _ = fmt.Fprintln(s.debugOut, err.Error())
|
||||||
|
break
|
||||||
|
}
|
||||||
|
s.hm.state(update)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
s.hm.end(s.shutdownNotifier)
|
s.hm.end(s.shutdownNotifier)
|
||||||
return
|
return
|
||||||
@ -293,10 +314,7 @@ func (p *Progress) serve(s *pState, cw *cwriter.Writer) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s pState) autoRefreshListener(done chan struct{}) {
|
func (s *pState) autoRefreshListener(done chan struct{}) {
|
||||||
if s.delayRC != nil {
|
|
||||||
<-s.delayRC
|
|
||||||
}
|
|
||||||
ticker := time.NewTicker(s.refreshRate)
|
ticker := time.NewTicker(s.refreshRate)
|
||||||
defer ticker.Stop()
|
defer ticker.Stop()
|
||||||
for {
|
for {
|
||||||
@ -310,7 +328,7 @@ func (s pState) autoRefreshListener(done chan struct{}) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s pState) manualRefreshListener(done chan struct{}) {
|
func (s *pState) manualRefreshListener(done chan struct{}) {
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case x := <-s.manualRC:
|
case x := <-s.manualRC:
|
||||||
@ -342,9 +360,9 @@ func (s *pState) render(cw *cwriter.Writer) (err error) {
|
|||||||
if s.reqWidth > 0 {
|
if s.reqWidth > 0 {
|
||||||
width = s.reqWidth
|
width = s.reqWidth
|
||||||
} else {
|
} else {
|
||||||
width = 100
|
width = 80
|
||||||
}
|
}
|
||||||
height = 100
|
height = width
|
||||||
}
|
}
|
||||||
|
|
||||||
for b := range iter {
|
for b := range iter {
|
||||||
@ -420,7 +438,7 @@ func (s *pState) flush(cw *cwriter.Writer, height int) error {
|
|||||||
return cw.Flush(len(rows) - popCount)
|
return cw.Flush(len(rows) - popCount)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s pState) push(wg *sync.WaitGroup, b *Bar, sync bool) {
|
func (s *pState) push(wg *sync.WaitGroup, b *Bar, sync bool) {
|
||||||
s.hm.push(b, sync)
|
s.hm.push(b, sync)
|
||||||
wg.Done()
|
wg.Done()
|
||||||
}
|
}
|
||||||
|
2
vendor/modules.txt
vendored
2
vendor/modules.txt
vendored
@ -1057,7 +1057,7 @@ github.com/ulikunitz/xz/lzma
|
|||||||
github.com/vbatts/tar-split/archive/tar
|
github.com/vbatts/tar-split/archive/tar
|
||||||
github.com/vbatts/tar-split/tar/asm
|
github.com/vbatts/tar-split/tar/asm
|
||||||
github.com/vbatts/tar-split/tar/storage
|
github.com/vbatts/tar-split/tar/storage
|
||||||
# github.com/vbauerster/mpb/v8 v8.7.0
|
# github.com/vbauerster/mpb/v8 v8.7.1
|
||||||
## explicit; go 1.17
|
## explicit; go 1.17
|
||||||
github.com/vbauerster/mpb/v8
|
github.com/vbauerster/mpb/v8
|
||||||
github.com/vbauerster/mpb/v8/cwriter
|
github.com/vbauerster/mpb/v8/cwriter
|
||||||
|
Reference in New Issue
Block a user