Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package minio-client for openSUSE:Factory checked in at 2023-10-25 18:04:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/minio-client (Old) and /work/SRC/openSUSE:Factory/.minio-client.new.24901 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "minio-client" Wed Oct 25 18:04:25 2023 rev:52 rq:1120217 version:20231024T214222Z Changes: -------- --- /work/SRC/openSUSE:Factory/minio-client/minio-client.changes 2023-10-24 20:09:02.986035291 +0200 +++ /work/SRC/openSUSE:Factory/.minio-client.new.24901/minio-client.changes 2023-10-25 18:05:07.627093113 +0200 @@ -1,0 +2,8 @@ +Wed Oct 25 08:44:24 UTC 2023 - ka...@b1-systems.de + +- Update to version 20231024T214222Z: + * fix: print updates/merge multiple policy for a user (#4691) + * revamp spinner in `mc support diag` (#4727) + * use Dockerfile ADD feature deprecate curl (#4728) + +------------------------------------------------------------------- Old: ---- mc-20231024T051828Z.obscpio New: ---- mc-20231024T214222Z.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ minio-client.spec ++++++ --- /var/tmp/diff_new_pack.cH0eb0/_old 2023-10-25 18:05:08.875135086 +0200 +++ /var/tmp/diff_new_pack.cH0eb0/_new 2023-10-25 18:05:08.879135221 +0200 @@ -22,7 +22,7 @@ %define binary_name minio-client Name: minio-client -Version: 20231024T051828Z +Version: 20231024T214222Z Release: 0 Summary: Client for MinIO License: AGPL-3.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.cH0eb0/_old 2023-10-25 18:05:08.911136297 +0200 +++ /var/tmp/diff_new_pack.cH0eb0/_new 2023-10-25 18:05:08.915136432 +0200 @@ -5,7 +5,7 @@ <param name="exclude">.git</param> <param name="changesgenerate">enable</param> <param name="versionformat">@PARENT_TAG@</param> - <param name="revision">RELEASE.2023-10-24T05-18-28Z</param> + <param name="revision">RELEASE.2023-10-24T21-42-22Z</param> <param name="match-tag">RELEASE.*</param> <param name="versionrewrite-pattern">RELEASE\.(.*)-(.*)-(.*)-(.*)-(.*)</param> <param name="versionrewrite-replacement">\1\2\3\4\5</param> @@ -19,7 +19,7 @@ <param name="compression">gz</param> </service> <service name="go_modules" mode="manual"> - <param name="archive">mc-20231024T051828Z.obscpio</param> + <param name="archive">mc-20231024T214222Z.obscpio</param> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.cH0eb0/_old 2023-10-25 18:05:08.939137239 +0200 +++ /var/tmp/diff_new_pack.cH0eb0/_new 2023-10-25 18:05:08.943137374 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/minio/mc</param> - <param name="changesrevision">97cc12fdc539361cf175ffc2f00480eec0836d82</param></service></servicedata> + <param name="changesrevision">75e722216a2269b39316494a66e1bfa182c0403e</param></service></servicedata> (No newline at EOF) ++++++ mc-20231024T051828Z.obscpio -> mc-20231024T214222Z.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/CREDITS new/mc-20231024T214222Z/CREDITS --- old/mc-20231024T051828Z/CREDITS 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/CREDITS 2023-10-24 23:42:22.000000000 +0200 @@ -11595,3 +11595,32 @@ ================================================================ +github.com/vbauerster/mpb +https://github.com/vbauerster/mpb +---------------------------------------------------------------- +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to <http://unlicense.org/> + +================================================================ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/Dockerfile.release new/mc-20231024T214222Z/Dockerfile.release --- old/mc-20231024T051828Z/Dockerfile.release 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/Dockerfile.release 2023-10-24 23:42:22.000000000 +0200 @@ -17,8 +17,8 @@ COPY CREDITS /licenses/CREDITS COPY LICENSE /licenses/LICENSE -RUN \ - curl -s -q https://dl.minio.io/client/mc/release/linux-${TARGETARCH}/archive/mc.${RELEASE} -o /usr/bin/mc && \ - chmod +x /usr/bin/mc +ADD https://dl.minio.io/client/mc/release/linux-${TARGETARCH}/archive/mc.${RELEASE} /usr/bin/mc + +RUN chmod +x /usr/bin/mc ENTRYPOINT ["mc"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/Dockerfile.release.fips new/mc-20231024T214222Z/Dockerfile.release.fips --- old/mc-20231024T051828Z/Dockerfile.release.fips 1970-01-01 01:00:00.000000000 +0100 +++ new/mc-20231024T214222Z/Dockerfile.release.fips 2023-10-24 23:42:22.000000000 +0200 @@ -0,0 +1,24 @@ +FROM --platform=linux/amd64 registry.access.redhat.com/ubi8/ubi-minimal:8.8 as build + +RUN microdnf update --nodocs && microdnf install ca-certificates --nodocs && microdnf clean all + +FROM registry.access.redhat.com/ubi8/ubi-micro:8.8 + +ARG TARGETARCH +ARG RELEASE + +LABEL maintainer="MinIO Inc <d...@min.io>" + +# On RHEL the certificate bundle is located at: +# - /etc/pki/tls/certs/ca-bundle.crt (RHEL 6) +# - /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem (RHEL 7) +COPY --from=build /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem /etc/pki/ca-trust/extracted/pem/ + +COPY CREDITS /licenses/CREDITS +COPY LICENSE /licenses/LICENSE + +ADD https://dl.minio.io/client/mc/release/linux-${TARGETARCH}/archive/mc.${RELEASE}.fips /usr/bin/mc + +RUN chmod +x /usr/bin/mc + +ENTRYPOINT ["mc"] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/cmd/admin-user-policy.go new/mc-20231024T214222Z/cmd/admin-user-policy.go --- old/mc-20231024T051828Z/cmd/admin-user-policy.go 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/cmd/admin-user-policy.go 2023-10-24 23:42:22.000000000 +0200 @@ -19,12 +19,15 @@ import ( "fmt" + "os" "strings" "github.com/fatih/color" "github.com/minio/cli" + json "github.com/minio/colorjson" "github.com/minio/mc/pkg/probe" "github.com/minio/pkg/v2/console" + "github.com/minio/pkg/v2/policy" ) var adminUserPolicyCmd = cli.Command{ @@ -76,12 +79,24 @@ fatalIf(probe.NewError(e).Trace(args...), "Unable to fetch user policy document") } - policies := strings.Split(user.PolicyName, ",") - for _, policy := range policies { - pinfo, e := getPolicyInfo(client, policy) - fatalIf(probe.NewError(e).Trace(args...), "Unable to fetch user policy document for policy "+policy) - fmt.Println(string(pinfo.Policy)) + policyNames := strings.Split(user.PolicyName, ",") + + var policies []policy.Policy + for _, policyName := range policyNames { + if policyName == "" { + continue + } + policyInfo, e := getPolicyInfo(client, policyName) + fatalIf(probe.NewError(e).Trace(), "Unable to fetch user policy document for policy "+policyName) + + var policyObj policy.Policy + if e := json.Unmarshal(policyInfo.Policy, &policyObj); e != nil { + fatalIf(probe.NewError(e).Trace(), "Unable to unmarshal policy") + } + policies = append(policies, policyObj) } + mergedPolicy := policy.MergePolicies(policies...) + json.NewEncoder(os.Stdout).Encode(mergedPolicy) return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/cmd/support-diag-spinner-v3.go new/mc-20231024T214222Z/cmd/support-diag-spinner-v3.go --- old/mc-20231024T051828Z/cmd/support-diag-spinner-v3.go 1970-01-01 01:00:00.000000000 +0100 +++ new/mc-20231024T214222Z/cmd/support-diag-spinner-v3.go 2023-10-24 23:42:22.000000000 +0200 @@ -0,0 +1,107 @@ +// Copyright (c) 2015-2023 MinIO, Inc. +// +// # This file is part of MinIO Object Storage stack +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see <http://www.gnu.org/licenses/>. + +package cmd + +import ( + "errors" + "fmt" + "io" + "sync" + "time" + + json "github.com/minio/colorjson" + "github.com/minio/madmin-go/v3" + "github.com/vbauerster/mpb/v8" + "github.com/vbauerster/mpb/v8/decor" +) + +func receiveHealthInfo(decoder *json.Decoder) (info madmin.HealthInfo, e error) { + var wg sync.WaitGroup + pg := mpb.New(mpb.WithWaitGroup(&wg), mpb.WithWidth(16)) + + spinnerStyle := mpb.SpinnerStyle().Meta(func(s string) string { + return infoText(s) + }).PositionLeft() + + type progressSpinner struct { + name string + spinner *mpb.Bar + cond func(madmin.HealthInfo) bool + } + spinners := []progressSpinner{} + + createSpinner := func(name string, cond func(madmin.HealthInfo) bool) { + caption := fmt.Sprintf("%s %s ...", dot, name) + wip := mpb.PrependDecorators(decor.Name(greenText(caption))) + done := mpb.BarFillerOnComplete(greenText(check)) + spinner := pg.New(1, spinnerStyle, wip, done) + spinners = append(spinners, progressSpinner{ + name: name, + cond: cond, + spinner: spinner, + }) + } + + createSpinner("CPU Info", func(info madmin.HealthInfo) bool { return len(info.Sys.CPUInfo) > 0 }) + createSpinner("Disk Info", func(info madmin.HealthInfo) bool { return len(info.Sys.Partitions) > 0 }) + createSpinner("OS Info", func(info madmin.HealthInfo) bool { return len(info.Sys.OSInfo) > 0 }) + createSpinner("Mem Info", func(info madmin.HealthInfo) bool { return len(info.Sys.MemInfo) > 0 }) + createSpinner("Process Info", func(info madmin.HealthInfo) bool { return len(info.Sys.ProcInfo) > 0 }) + createSpinner("Server Config", func(info madmin.HealthInfo) bool { return info.Minio.Config.Config != nil }) + createSpinner("System Errors", func(info madmin.HealthInfo) bool { return len(info.Sys.SysErrs) > 0 }) + createSpinner("System Services", func(info madmin.HealthInfo) bool { return len(info.Sys.SysServices) > 0 }) + createSpinner("System Config", func(info madmin.HealthInfo) bool { return len(info.Sys.SysConfig) > 0 }) + createSpinner("Admin Info", func(info madmin.HealthInfo) bool { return len(info.Minio.Info.Servers) > 0 }) + + wg.Add(len(spinners)) + start := time.Now() + + markDone := func(bar *mpb.Bar) { + if bar.Current() == 0 { + bar.EwmaIncrement(time.Since(start)) + wg.Done() + } + } + + receivedLast := false + progress := func(info madmin.HealthInfo) { + receivedLast = len(info.Minio.Info.Servers) > 0 + + for _, bar := range spinners { + if receivedLast || bar.cond(info) { + markDone(bar.spinner) + } + } + } + + go func() { + for { + if e = decoder.Decode(&info); e != nil { + if errors.Is(e, io.EOF) { + e = nil + } + + break + } + + progress(info) + } + }() + pg.Wait() + return +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/cmd/support-diag.go new/mc-20231024T214222Z/cmd/support-diag.go --- old/mc-20231024T051828Z/cmd/support-diag.go 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/cmd/support-diag.go 2023-10-24 23:42:22.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (c) 2015-2022 MinIO, Inc. +// Copyright (c) 2015-2023 MinIO, Inc. // // This file is part of MinIO Object Storage stack // @@ -325,19 +325,6 @@ admin(len(info.Minio.Info.Servers) > 0) } - progress := func(info madmin.HealthInfo) { - _ = cpu(len(info.Sys.CPUInfo) > 0) && - diskHw(len(info.Sys.Partitions) > 0) && - osInfo(len(info.Sys.OSInfo) > 0) && - mem(len(info.Sys.MemInfo) > 0) && - process(len(info.Sys.ProcInfo) > 0) && - config(info.Minio.Config.Config != nil) && - syserr(len(info.Sys.SysErrs) > 0) && - syssrv(len(info.Sys.SysServices) > 0) && - sysconfig(len(info.Sys.SysConfig) > 0) && - admin(len(info.Minio.Info.Servers) > 0) - } - // Fetch info of all servers (cluster or single server) resp, version, e := client.ServerHealthInfo(cont, *opts, ctx.Duration("deadline")) if e != nil { @@ -389,19 +376,7 @@ } healthInfo = info case madmin.HealthInfoVersion: - info := madmin.HealthInfo{} - for { - if e = decoder.Decode(&info); e != nil { - if errors.Is(e, io.EOF) { - e = nil - } - - break - } - - progress(info) - } - healthInfo = info + healthInfo, e = receiveHealthInfo(decoder) } // cancel the context if supportDiagChan has returned. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/docker-buildx.sh new/mc-20231024T214222Z/docker-buildx.sh --- old/mc-20231024T051828Z/docker-buildx.sh 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/docker-buildx.sh 2023-10-24 23:42:22.000000000 +0200 @@ -23,13 +23,21 @@ release=$(git describe --abbrev=0 --tags) docker buildx build --push --no-cache \ - --build-arg RELEASE="${release}" \ - -t "minio/mc:latest" \ - -t "minio/mc:${release}" \ - -t "quay.io/minio/mc:${release}" \ - -t "quay.io/minio/mc:latest" \ - --platform=linux/arm64,linux/amd64,linux/ppc64le,linux/s390x \ - -f Dockerfile.release . + --build-arg RELEASE="${release}" \ + -t "minio/mc:latest" \ + -t "minio/mc:${release}" \ + -t "quay.io/minio/mc:${release}" \ + -t "quay.io/minio/mc:latest" \ + --platform=linux/arm64,linux/amd64,linux/ppc64le,linux/s390x \ + -f Dockerfile.release . + +docker buildx prune -f + +docker buildx build --push --no-cache \ + --build-arg RELEASE="${release}" \ + -t "minio/minio:${release}.fips" \ + -t "quay.io/minio/mc:${release}.fips" \ + --platform=linux/amd64 -f Dockerfile.release.fips . docker buildx prune -f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/go.mod new/mc-20231024T214222Z/go.mod --- old/mc-20231024T051828Z/go.mod 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/go.mod 2023-10-24 23:42:22.000000000 +0200 @@ -53,11 +53,14 @@ github.com/olekukonko/tablewriter v0.0.5 github.com/prometheus/client_model v0.4.0 github.com/rivo/tview v0.0.0-20230909130259-ba6a2a345459 + github.com/vbauerster/mpb/v8 v8.6.2 golang.org/x/term v0.13.0 ) require ( aead.dev/minisign v0.2.0 // indirect + github.com/VividCortex/ewma v1.2.0 // indirect + github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/kr/pretty v0.3.1 // indirect github.com/minio/mux v1.9.0 // indirect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mc-20231024T051828Z/go.sum new/mc-20231024T214222Z/go.sum --- old/mc-20231024T051828Z/go.sum 2023-10-24 07:18:28.000000000 +0200 +++ new/mc-20231024T214222Z/go.sum 2023-10-24 23:42:22.000000000 +0200 @@ -1,6 +1,10 @@ aead.dev/minisign v0.2.0 h1:kAWrq/hBRu4AARY6AlciO83xhNnW9UaC8YipS2uhLPk= aead.dev/minisign v0.2.0/go.mod h1:zdq6LdSd9TbuSxchxwhpA9zEb9YXcVGoE8JakuiGaIQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= +github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= @@ -243,6 +247,8 @@ github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI= github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk= github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY= +github.com/vbauerster/mpb/v8 v8.6.2 h1:9EhnJGQRtvgDVCychJgR96EDCOqgg2NsMuk5JUcX4DA= +github.com/vbauerster/mpb/v8 v8.6.2/go.mod h1:oVJ7T+dib99kZ/VBjoBaC8aPXiSAihnzuKmotuihyFo= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= ++++++ mc.obsinfo ++++++ --- /var/tmp/diff_new_pack.cH0eb0/_old 2023-10-25 18:05:09.223146791 +0200 +++ /var/tmp/diff_new_pack.cH0eb0/_new 2023-10-25 18:05:09.227146925 +0200 @@ -1,5 +1,5 @@ name: mc -version: 20231024T051828Z -mtime: 1698124708 -commit: 97cc12fdc539361cf175ffc2f00480eec0836d82 +version: 20231024T214222Z +mtime: 1698183742 +commit: 75e722216a2269b39316494a66e1bfa182c0403e ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/minio-client/vendor.tar.gz /work/SRC/openSUSE:Factory/.minio-client.new.24901/vendor.tar.gz differ: char 5, line 1