Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package arkade for openSUSE:Factory checked in at 2023-09-15 22:05:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/arkade (Old) and /work/SRC/openSUSE:Factory/.arkade.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arkade" Fri Sep 15 22:05:13 2023 rev:17 rq:1111536 version:0.10.7 Changes: -------- --- /work/SRC/openSUSE:Factory/arkade/arkade.changes 2023-09-14 16:28:07.519854257 +0200 +++ /work/SRC/openSUSE:Factory/.arkade.new.1766/arkade.changes 2023-09-15 22:10:30.075917609 +0200 @@ -1,0 +2,20 @@ +Fri Sep 15 09:27:07 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.10.7: + * Fix typo in test + * Update vendor + * Update to v2 of go-execute + +------------------------------------------------------------------- +Thu Sep 14 12:39:32 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.10.6: + * Fix Windows template for K9s + +------------------------------------------------------------------- +Thu Sep 14 12:38:08 UTC 2023 - ka...@b1-systems.de + +- Update to version 0.10.5: + * Fix jq executable name for release 1.7 + +------------------------------------------------------------------- Old: ---- arkade-0.10.4.obscpio New: ---- arkade-0.10.7.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ arkade.spec ++++++ --- /var/tmp/diff_new_pack.TvmkDI/_old 2023-09-15 22:10:31.591971815 +0200 +++ /var/tmp/diff_new_pack.TvmkDI/_new 2023-09-15 22:10:31.595971958 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: arkade -Version: 0.10.4 +Version: 0.10.7 Release: 0 Summary: Open Source Kubernetes Marketplace License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.TvmkDI/_old 2023-09-15 22:10:31.619972816 +0200 +++ /var/tmp/diff_new_pack.TvmkDI/_new 2023-09-15 22:10:31.623972958 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/alexellis/arkade</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">0.10.4</param> + <param name="revision">0.10.7</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.TvmkDI/_old 2023-09-15 22:10:31.639973531 +0200 +++ /var/tmp/diff_new_pack.TvmkDI/_new 2023-09-15 22:10:31.643973674 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/alexellis/arkade</param> - <param name="changesrevision">944a86bc3a649fc220992df360d67a39a1b498cf</param></service></servicedata> + <param name="changesrevision">fec33ae658a975b59aa645f23d48e74930f43dda</param></service></servicedata> (No newline at EOF) ++++++ arkade-0.10.4.obscpio -> arkade-0.10.7.obscpio ++++++ /work/SRC/openSUSE:Factory/arkade/arkade-0.10.4.obscpio /work/SRC/openSUSE:Factory/.arkade.new.1766/arkade-0.10.7.obscpio differ: char 50, line 1 ++++++ arkade.obsinfo ++++++ --- /var/tmp/diff_new_pack.TvmkDI/_old 2023-09-15 22:10:31.679974961 +0200 +++ /var/tmp/diff_new_pack.TvmkDI/_new 2023-09-15 22:10:31.683975104 +0200 @@ -1,5 +1,5 @@ name: arkade -version: 0.10.4 -mtime: 1694638093 -commit: 944a86bc3a649fc220992df360d67a39a1b498cf +version: 0.10.7 +mtime: 1694711385 +commit: fec33ae658a975b59aa645f23d48e74930f43dda ++++++ vendor.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/LICENSE new/vendor/github.com/alexellis/go-execute/LICENSE --- old/vendor/github.com/alexellis/go-execute/LICENSE 2023-09-14 06:49:18.000000000 +0200 +++ new/vendor/github.com/alexellis/go-execute/LICENSE 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Inlets - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -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 OR COPYRIGHT HOLDERS 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. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/pkg/v1/exec.go new/vendor/github.com/alexellis/go-execute/pkg/v1/exec.go --- old/vendor/github.com/alexellis/go-execute/pkg/v1/exec.go 2023-09-14 06:49:18.000000000 +0200 +++ new/vendor/github.com/alexellis/go-execute/pkg/v1/exec.go 1970-01-01 01:00:00.000000000 +0100 @@ -1,134 +0,0 @@ -package execute - -import ( - "bytes" - "fmt" - "io" - "os" - "os/exec" - "strings" -) - -type ExecTask struct { - Command string - Args []string - Shell bool - Env []string - Cwd string - - // Stdin connect a reader to stdin for the command - // being executed. - Stdin io.Reader - - // StreamStdio prints stdout and stderr directly to os.Stdout/err as - // the command runs. - StreamStdio bool - - // PrintCommand prints the command before executing - PrintCommand bool -} - -type ExecResult struct { - Stdout string - Stderr string - ExitCode int -} - -func (et ExecTask) Execute() (ExecResult, error) { - argsSt := "" - if len(et.Args) > 0 { - argsSt = strings.Join(et.Args, " ") - } - - if et.PrintCommand { - fmt.Println("exec: ", et.Command, argsSt) - } - - var cmd *exec.Cmd - - if et.Shell { - var args []string - if len(et.Args) == 0 { - startArgs := strings.Split(et.Command, " ") - script := strings.Join(startArgs, " ") - args = append([]string{"-c"}, fmt.Sprintf("%s", script)) - - } else { - script := strings.Join(et.Args, " ") - args = append([]string{"-c"}, fmt.Sprintf("%s %s", et.Command, script)) - - } - - cmd = exec.Command("/bin/bash", args...) - } else { - if strings.Index(et.Command, " ") > 0 { - parts := strings.Split(et.Command, " ") - command := parts[0] - args := parts[1:] - cmd = exec.Command(command, args...) - - } else { - cmd = exec.Command(et.Command, et.Args...) - } - } - - cmd.Dir = et.Cwd - - if len(et.Env) > 0 { - overrides := map[string]bool{} - for _, env := range et.Env { - key := strings.Split(env, "=")[0] - overrides[key] = true - cmd.Env = append(cmd.Env, env) - } - - for _, env := range os.Environ() { - key := strings.Split(env, "=")[0] - - if _, ok := overrides[key]; !ok { - cmd.Env = append(cmd.Env, env) - } - } - } - if et.Stdin != nil { - cmd.Stdin = et.Stdin - } - - stdoutBuff := bytes.Buffer{} - stderrBuff := bytes.Buffer{} - - var stdoutWriters io.Writer - var stderrWriters io.Writer - - if et.StreamStdio { - stdoutWriters = io.MultiWriter(os.Stdout, &stdoutBuff) - stderrWriters = io.MultiWriter(os.Stderr, &stderrBuff) - } else { - stdoutWriters = &stdoutBuff - stderrWriters = &stderrBuff - } - - cmd.Stdout = stdoutWriters - cmd.Stderr = stderrWriters - - startErr := cmd.Start() - - if startErr != nil { - return ExecResult{}, startErr - } - - exitCode := 0 - execErr := cmd.Wait() - if execErr != nil { - if exitError, ok := execErr.(*exec.ExitError); ok { - - exitCode = exitError.ExitCode() - } - } - - return ExecResult{ - Stdout: string(stdoutBuff.Bytes()), - Stderr: string(stderrBuff.Bytes()), - ExitCode: exitCode, - }, nil -} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/.DEREK.yml new/vendor/github.com/alexellis/go-execute/v2/.DEREK.yml --- old/vendor/github.com/alexellis/go-execute/v2/.DEREK.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/.DEREK.yml 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1 @@ +redirect: https://raw.githubusercontent.com/openfaas/faas/master/.DEREK.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/.gitignore new/vendor/github.com/alexellis/go-execute/v2/.gitignore --- old/vendor/github.com/alexellis/go-execute/v2/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/.gitignore 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1,2 @@ +/go-execute +main.go diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/LICENSE new/vendor/github.com/alexellis/go-execute/v2/LICENSE --- old/vendor/github.com/alexellis/go-execute/v2/LICENSE 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/LICENSE 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Alex Ellis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +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 OR COPYRIGHT HOLDERS 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. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/Makefile new/vendor/github.com/alexellis/go-execute/v2/Makefile --- old/vendor/github.com/alexellis/go-execute/v2/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/Makefile 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1,2 @@ +all: + go test -v ./... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/README.md new/vendor/github.com/alexellis/go-execute/v2/README.md --- old/vendor/github.com/alexellis/go-execute/v2/README.md 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/README.md 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1,141 @@ +## go-execute + +A wrapper for Go's command execution packages. + +`go get github.com/alexellis/go-execute/v2` + +## Docs + +See docs at pkg.go.dev: [github.com/alexellis/go-execute](https://pkg.go.dev/github.com/alexellis/go-execute) + +## go-execute users + +[Used by dozens of projects as identified by GitHub](https://github.com/alexellis/go-execute/network/dependents), notably: + +* [alexellis/arkade](https://github.com/alexellis/arkade) +* [openfaas/faas-cli](https://github.com/openfaas/faas-cli) +* [inlets/inletsctl](https://github.com/inlets/inletsctl) +* [inlets/cloud-provision](https://github.com/inlets/cloud-provision) +* [alexellis/k3sup](https://github.com/alexellis/k3sup) +* [openfaas/connector-sdk](https://github.com/openfaas/connector-sdk) +* [openfaas-incubator/ofc-bootstrap](https://github.com/openfaas-incubator/ofc-bootstrap) + +Community examples: + +* [dokku/lambda-builder](https://github.com/dokku/lambda-builder) +* [027xiguapi/pear-rec](https://github.com/027xiguapi/pear-rec) +* [cnrancher/autok3s](https://github.com/cnrancher/autok3s) +* [ainsleydev/hupi](https://github.com/ainsleydev/hupi) +* [andiwork/andictl](https://github.com/andiwork/andictl) +* [tonit/rekind](https://github.com/tonit/rekind) +* [lucasrod16/ec2-k3s](https://github.com/lucasrod16/ec2-k3s) +* [seaweedfs/seaweed-up](https://github.com/seaweedfs/seaweed-up) +* [jsiebens/inlets-on-fly](https://github.com/jsiebens/inlets-on-fly) +* [jsiebens/hashi-up](https://github.com/jsiebens/hashi-up) +* [edgego/ecm](https://github.com/edgego/ecm) +* [ministryofjustice/cloud-platform-terraform-upgrade](https://github.com/ministryofjustice/cloud-platform-terraform-upgrade) +* [mattcanty/go-ffmpeg-transcode](https://github.com/mattcanty/go-ffmpeg-transcode) +* [Popoola-Opeyemi/meeseeks](https://github.com/Popoola-Opeyemi/meeseeks) +* [aidun/minicloud](https://github.com/aidun/minicloud) + +Feel free to add a link to your own projects in a PR. + +## Main options + +* `DisableStdioBuffer` - Discard Stdio, rather than buffering into memory +* `StreamStdio` - Stream stderr and stdout to the console, useful for debugging and testing +* `Shell` - Use bash as a shell to execute the command, rather than exec a binary directly +* `StdOutWriter` - an additional writer for stdout, useful for mutating or filtering the output +* `StdErrWriter` - an additional writer for stderr, useful for mutating or filtering the output +* `PrintCommand` - print the command to stdout before executing it + +## Example of exec without streaming to STDIO + +This example captures the values from stdout and stderr without relaying to the console. This means the values can be inspected and used for automation. + +```golang +package main + +import ( + "fmt" + + execute "github.com/alexellis/go-execute/v2" +) + +func main() { + cmd := execute.ExecTask{ + Command: "docker", + Args: []string{"version"}, + StreamStdio: false, + } + + res, err := cmd.Execute() + if err != nil { + panic(err) + } + + if res.ExitCode != 0 { + panic("Non-zero exit code: " + res.Stderr) + } + + fmt.Printf("stdout: %s, stderr: %s, exit-code: %d\n", res.Stdout, res.Stderr, res.ExitCode) +} +``` + + +## Example with "shell" and exit-code 0 + +```golang +package main + +import ( + "fmt" + + execute "github.com/alexellis/go-execute/v2" +) + +func main() { + ls := execute.ExecTask{ + Command: "ls", + Args: []string{"-l"}, + Shell: true, + } + res, err := ls.Execute() + if err != nil { + panic(err) + } + + fmt.Printf("stdout: %q, stderr: %q, exit-code: %d\n", res.Stdout, res.Stderr, res.ExitCode) +} +``` + +## Example with "shell" and exit-code 1 + +```golang +package main + +import ( + "fmt" + + execute "github.com/alexellis/go-execute/v2" +) + +func main() { + ls := execute.ExecTask{ + Command: "exit 1", + Shell: true, + } + res, err := ls.Execute() + if err != nil { + panic(err) + } + + fmt.Printf("stdout: %q, stderr: %q, exit-code: %d\n", res.Stdout, res.Stderr, res.ExitCode) +} +``` + +## Contributing + +Commits must be signed off with `git commit -s` + +License: MIT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/github.com/alexellis/go-execute/v2/exec.go new/vendor/github.com/alexellis/go-execute/v2/exec.go --- old/vendor/github.com/alexellis/go-execute/v2/exec.go 1970-01-01 01:00:00.000000000 +0100 +++ new/vendor/github.com/alexellis/go-execute/v2/exec.go 2023-09-15 11:27:07.000000000 +0200 @@ -0,0 +1,190 @@ +package execute + +import ( + "bytes" + "context" + "fmt" + "io" + "os" + "os/exec" + "strings" +) + +type ExecTask struct { + // Command is the command to execute. This can be the path to an executable + // or the executable with arguments. The arguments are detected by looking for + // a space. + // + // Examples: + // - Just a binary executable: `/bin/ls` + // - Binary executable with arguments: `/bin/ls -la /` + Command string + + // Args are the arguments to pass to the command. These are ignored if the + // Command contains arguments. + Args []string + + // Shell run the command in a bash shell. + // Note that the system must have `bash` installed in the PATH or in /bin/bash + Shell bool + + // Env is a list of environment variables to add to the current environment, + // these are used to override any existing environment variables. + Env []string + + // Cwd is the working directory for the command + Cwd string + + // Stdin connect a reader to stdin for the command + // being executed. + Stdin io.Reader + + // PrintCommand prints the command before executing + PrintCommand bool + + // StreamStdio prints stdout and stderr directly to os.Stdout/err as + // the command runs. + StreamStdio bool + + // DisableStdioBuffer prevents any output from being saved in the + // TaskResult, which is useful for when the result is very large, or + // when you want to stream the output to another writer exclusively. + DisableStdioBuffer bool + + // StdoutWriter when set will receive a copy of stdout from the command + StdOutWriter io.Writer + + // StderrWriter when set will receive a copy of stderr from the command + StdErrWriter io.Writer +} + +type ExecResult struct { + Stdout string + Stderr string + ExitCode int + Cancelled bool +} + +func (et ExecTask) Execute(ctx context.Context) (ExecResult, error) { + argsSt := "" + if len(et.Args) > 0 { + argsSt = strings.Join(et.Args, " ") + } + + if et.PrintCommand { + fmt.Println("exec: ", et.Command, argsSt) + } + + // don't try to run if the context is already cancelled + if ctx.Err() != nil { + return ExecResult{ + // the exec package returns -1 for cancelled commands + ExitCode: -1, + Cancelled: ctx.Err() == context.Canceled, + }, ctx.Err() + } + + var command string + var commandArgs []string + if et.Shell { + + // On a NixOS system, /bin/bash doesn't exist at /bin/bash + // the default behavior of exec.Command is to look for the + // executable in PATH. + + command = "bash" + // There is a chance that PATH is not populate or propagated, therefore + // when bash cannot be resolved, set it to /bin/bash instead. + if _, err := exec.LookPath(command); err != nil { + command = "/bin/bash" + } + + if len(et.Args) == 0 { + // use Split and Join to remove any extra whitespace? + startArgs := strings.Split(et.Command, " ") + script := strings.Join(startArgs, " ") + commandArgs = append([]string{"-c"}, script) + + } else { + script := strings.Join(et.Args, " ") + commandArgs = append([]string{"-c"}, fmt.Sprintf("%s %s", et.Command, script)) + } + } else { + if strings.Contains(et.Command, " ") { + parts := strings.Split(et.Command, " ") + command = parts[0] + commandArgs = parts[1:] + } else { + command = et.Command + commandArgs = et.Args + } + } + + cmd := exec.CommandContext(ctx, command, commandArgs...) + cmd.Dir = et.Cwd + + if len(et.Env) > 0 { + overrides := map[string]bool{} + for _, env := range et.Env { + key := strings.Split(env, "=")[0] + overrides[key] = true + cmd.Env = append(cmd.Env, env) + } + + for _, env := range os.Environ() { + key := strings.Split(env, "=")[0] + + if _, ok := overrides[key]; !ok { + cmd.Env = append(cmd.Env, env) + } + } + } + if et.Stdin != nil { + cmd.Stdin = et.Stdin + } + + stdoutBuff := bytes.Buffer{} + stderrBuff := bytes.Buffer{} + + var stdoutWriters []io.Writer + var stderrWriters []io.Writer + + // Always capture to a buffer + stdoutWriters = append(stdoutWriters, &stdoutBuff) + stderrWriters = append(stderrWriters, &stderrBuff) + + if et.StreamStdio { + stdoutWriters = append(stdoutWriters, os.Stdout) + stderrWriters = append(stderrWriters, os.Stderr) + } + + if et.StdOutWriter != nil { + stdoutWriters = append(stdoutWriters, et.StdOutWriter) + } + if et.StdErrWriter != nil { + stderrWriters = append(stderrWriters, et.StdErrWriter) + } + + cmd.Stdout = io.MultiWriter(stdoutWriters...) + cmd.Stderr = io.MultiWriter(stderrWriters...) + + startErr := cmd.Start() + if startErr != nil { + return ExecResult{}, startErr + } + + exitCode := 0 + execErr := cmd.Wait() + if execErr != nil { + if exitError, ok := execErr.(*exec.ExitError); ok { + exitCode = exitError.ExitCode() + } + } + + return ExecResult{ + Stdout: stdoutBuff.String(), + Stderr: stderrBuff.String(), + ExitCode: exitCode, + Cancelled: ctx.Err() == context.Canceled, + }, ctx.Err() +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/vendor/modules.txt new/vendor/modules.txt --- old/vendor/modules.txt 2023-09-14 06:49:18.000000000 +0200 +++ new/vendor/modules.txt 2023-09-15 11:27:07.000000000 +0200 @@ -6,7 +6,9 @@ github.com/VividCortex/ewma # github.com/alexellis/go-execute v0.6.0 ## explicit; go 1.19 -github.com/alexellis/go-execute/pkg/v1 +# github.com/alexellis/go-execute/v2 v2.0.0 +## explicit; go 1.20 +github.com/alexellis/go-execute/v2 # github.com/cheggaaa/pb/v3 v3.1.4 ## explicit; go 1.17 github.com/cheggaaa/pb/v3