Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package shfmt for openSUSE:Factory checked 
in at 2025-08-25 20:37:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shfmt (Old)
 and      /work/SRC/openSUSE:Factory/.shfmt.new.30751 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "shfmt"

Mon Aug 25 20:37:55 2025 rev:2 rq:1301140 version:3.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/shfmt/shfmt.changes      2022-07-19 
17:19:48.468402306 +0200
+++ /work/SRC/openSUSE:Factory/.shfmt.new.30751/shfmt.changes   2025-08-25 
20:38:54.626132823 +0200
@@ -1,0 +2,294 @@
+Sun Aug 24 14:32:07 UTC 2025 - Alessio Biancalana <dottorblas...@opensuse.org>
+
+- Update to version 3.12.0:
+  * CHANGELOG: add entry for v3.12.0
+  * README.md: add another example to caveats
+  * interp: add HandlerContext.Builtin
+  * interp: add test cases with exit inside a process substitution
+  * interp: add HandlerContext.Pos
+  * interp: swap math/rand for math/rand/v2
+  * interp: add exitStatus.ok for `code == 0` comparisons
+  * interp: move oneIf under exitStatus
+  * interp: export IsBuiltin
+  * interp: refactor builtins to return an exitStatus
+  * interp: remove Runner.exitShell
+  * interp: simplify trapping on error
+  * interp: reduce the size of exitStatus
+  * interp: convert strings to integers as int64
+  * interp: reject return with invalid arguments
+  * syntax: skip allocating in SplitBraces when there are no braces
+  * interp: avoid always copying CallExpr.Args to expand aliases
+  * interp: move Runner.setFatalErr to exitStatus
+  * interp: forward custom exit status errors when using `wait`
+  * interp: keep custom exit status errors when using a naked `exit`
+  * interp: positional parameters are unset when missing
+  * interp: support reading $RANDOM and $SRANDOM
+  * interp: add and fix more subshell exit and errexit edge cases
+  * interp: propagate custom exit status errors in command substitutions
+  * interp: simplify code with the exitStatus type
+  * interp: use the Runner.Run context for calls to ReadDirHandlerFunc2
+  * interp: group "exit status" Runner fields into a type
+  * interp: add more custom exit error test cases
+  * interp: simplify returning exit codes in builtinCode
+  * interp: forward custom non-fatal errors in pipefail and subshells
+  * interp: a non-nil fatalErr implies a non-zero exit status code
+  * interp: properly deprecate ReadDirHandlerFunc
+  * interp: a non-nil fatalErr implies exiting is true
+  * interp: add test cases for custom exit status errors being dropped
+  * interp: wait with arguments returns the status code of the last job
+  * update golang.org/x deps
+  * pattern: deduplicate the implementation of the `*` regular expression
+  * pattern: simplify the regexp flag logic
+  * all: modernize -fix
+  * pattern: skip needsEscaping loop if the mode discards the shortcut
+  * pattern: the shortcut cannot be taken when NoGlobCase is given
+  * pattern: globstar does not need `(?s)` as it does not use `.`
+  * pattern: add test cases matching newlines
+  * pattern: drop tests combining Shortest and EntireString
+  * pattern: implement Shortest via (?U)
+  * pattern: refactor Regexp to use a tiny string lexer
+  * pattern: test error strings properly
+  * pattern: allow ** to match non-leading dots
+  * pattern: allow * to match non-leading dots
+  * expand: always use pattern.NoGlobStar option
+  * expand: resolve iterator warnings spotted by gopls
+  * interp: turn flattenAssigns into an iterator
+  * interp: reuse flagParser for `declare` flags
+  * interp: allow joint flags on `declare`
+  * interp: do not panic on extglob in another scenario
+  * Revert "all: assume C.UTF-8 is available in the tests"
+  * cmd/shfmt: do not allow --write to replace non-regular files
+  * cmd/shfmt: add test case for #843
+  * fileutil: treat all non-regular files as definitely not shell scripts
+  * cmd/shfmt: improve symlink testscript tests
+  * cmd/shfmt: add support for simplify and minify via EditorConfig
+  * cmd/shfmt: test that we don't mix sibling EditorConfig file settings
+  * update dependencies
+  * interp: undo removal of "unnecessary" type conversion
+  * pattern: make the globstar "**" not match leading dots in basenames
+  * expand: rely on pattern's handling of leading dots with "*"
+  * pattern: make "*" not match leading dots in basenames
+  * pattern: tweak how **/ is transpiled as a regexp
+  * pattern: remove the broken Braces mode
+  * all: remove two unnecessary type conversions
+  * pattern: add test cases for matching dot-prefixed filenames
+  * interp: subshells in a pipe are run concurrently
+  * pattern: replace bytes.Buffer with strings.Builder
+  * pattern: "**" only acts as globstar when alone as a path element
+  * pattern: add more test cases for globstar not used on its own
+  * interp: expose ExitStatus and deprecate NewExitStatus and IsExitStatus
+  * interp: return non-fatal ExecHandler errors via Runner.Run
+  * interp: make tests reliable on MacOS
+  * interp: clarify that Runner.err is for fatal errors only at this point
+  * interp: decouple `return` from Runner.err
+  * interp: add more test cases for exec handler errors causing a stop
+  * interp: set exit status 1 as a fallback on custom exec handler errors
+  * interp: add more test cases for failing pipes
+  * interp: correct the exit statuses of commands used in tests
+  * interp: add more test cases for exec handler errors and exit statuses
+  * interp: show which errors end up in Runner.Run in the handler tests
+  * docs: `prettier-plugin-sh` now uses `sh-syntax`
+  * README: polish a few bits and add the main interpreter caveat
+  * README: actually include sh-syntax link
+  * _js: drop mvdan-sh JS package built with GopherJS
+  * pattern: add NoGlobStar mode
+  * Add README entry
+  * chore: a tiny typo in comment
+  * interp: make the new background shell tests more resilient
+  * interp: document overlayEnviron a bit more
+  * interp: make a full copy of the environment for background subshells
+  * interp: initial support for $! and wait PID
+  * interp: clarify handler docs a bit
+  * expand: tweak tilde expansion to match Bash semantics
+  * interp: add comment next to prev.Local = false
+  * interp: support modifying local vars from parent caller funcs
+  * interp: refactor overlayEnviron.Set to deduplicate map lookups
+  * interp: add more test cases for local vars and parent funcs
+  * interp: set BASH_REMATCH when doing a regular expression match with `=~`
+  * expand: clarify Variable.Set
+  * expand: heredocs unescape \$, \\, and \`, just not \"
+  * update deps
+  * all: make more use of strings.Cut and friends
+  * CHANGELOG: add entry for v3.11.0
+  * interp: skip handler test using process substitutions on Windows
+  * interp: only obey TMPDIR if it is an absolute dir
+  * update all dependencies
+  * interp: do not hard-code the use of os.TempDir for named pipes
+  * interp: do not open our own ProcSubst FIFO files via OpenHandler
+  * interp: test process substitutions with an OpenHandler
+  * fileutil: shebang detection improvements
+  * syntax: use LangError consistently and add a LangUsed field
+  * syntax: make IsIncomplete more robust
+  * syntax: cover "EOF immediately after heredoc" in Stmts via a test
+  * all: start exposing iter.Seq2[T, error] APIs
+  * all: run gopls's modernize -fix
+  * all: gofumpt
+  * interp: better support for directories in test -r, -w, -x checks
+  * all: make use of slices.Backward
+  * README: Add neoformat NeoVim / Vim plugin
+  * interp: second attempt at fixing /dev/null on Windows
+  * interp: work around apparent Go 1.24 regression with os.DevNull on Windows
+  * interp: add a test case where OpenHandler gets given a non-local path
+  * update x/sys and x/term
+  * start using range-over-func
+  * make use of maps.Keys and maps.Values from Go 1.23
+  * add Go 1.24.x, drop 1.22.x
+  * go mod tidy
+  * interp: deduplicate calls to Runner.lookupVar
+  * interp,expand: rethink setting variables
+  * interp: add more tests for 1108
+  * expand: don't unescape characters inside here-documents
+  * expand: make ValueKind a fmt.Stringer
+  * interp: process substitutions are not waited for
+  * interp: document that HandlerContext.Stdin is always a file
+  * expand: fix broken links
+  * interp: improve method signature
+  * all: add godoc links where possible
+  * pattern: fix outdated comment, and add godoc links
+  * cmd/shfmt: switch away from func() int for testscript
+  * syntax: use generics to walk nilable node fields
+  * syntax: use generics to walk over lists of nodes
+  * syntax: recover binary commands properly
+  * syntax: initial support for recovering from missing tokens
+  * interp: skip cancellable reader test on Windows
+  * interp: don't test cancelling a read via os.Stdin
+  * interp: drop muesli/cancelreader for os.File.SetReadDeadline
+  * interp: simplify context logic thanks to context.AfterFunc
+  * all: fix a few typos
+  * CI: test `go build` for plan9 and wasm
+  * all: fix build on plan9
+  * syntax: linkify syntax node godocs
+  * cmd/shfmt: support -l=0 and -f=0 flags
+  * update deps
+  * expand: fix sequential '\' in double quote literals
+  * CHANGELOG: prepare for v3.10.0
+  * cmd/shfmt: bump deps in Dockerfile
+  * interp: let HandlerContext.Stdin be nil again when there is no stdin
+  * interp: support closing stdin, stdout, and stderr files
+  * cmd/shfmt: move --filename out of parser options
+  * interp: test and fix `read` with regular files as stdin
+  * all: clarify that the "keep padding" formatting option is deprecated
+  * cmd/shfmt: report correct language read from EditorConfig in errors
+  * cmd/shfmt: show broken behavior in test for #1102
+  * update all deps
+  * interp: add an Interactive option to be used by cmd/gosh
+  * cmd/gosh: add bad test case for #1100
+  * syntax: parse all CRLF line endings as LF
+  * syntax: add a few godoc links
+  * cmd/shfmt: test that -i=0 does not skip ignore=true from EditorConfig
+  * README: clarify caveat for `declare`
+  * expand: use cmp.Or
+  * syntax: include skipped backslashes in backticks for column numbers
+  * syntax: actually use qt.CmpEquals
+  * syntax: include skipped null bytes in column numbers
+  * syntax: add test case for positions after skipped null bytes
+  * syntax: do not use %d verb for syntax.Pos
+  * all: more tweaks thanks to Go 1.22
+  * syntax/typedjson: use reflect.TypeFor
+  * go.mod: update dependencies
+  * syntax: fix a fmt.Sprintf issue spotted by the latest go vet
+  * all: swap bytes.Buffer for strings.Builder
+  * CHANGELOG: prepare for v3.9.0
+  * add Go 1.23.x, drop 1.21.x
+  * interp: add -s (silent) support to the read builtin
+  * cmd/gosh: use an os.Pipe in another interactive test
+  * interp: fix data race regression with stdin pipe changes
+  * interp: use os.Pipe when StdIO or OpenHandler produce non-file stdins
+  * interp: add a broken test for stdin draining with StdIO
+  * interp: do not include TODOs in godoc comments
+  * interp: implement here-documents via os.Pipe
+  * interp: verify tests with Bash 5.2
+  * syntax: use the min builtin
+  * update dependencies
+  * syntax: use Parser.matched consistently
+  * update editorconfig and golang.org/x deps
+  * interp: implement -O and -G tests
+  * expand: allocate fewer objects in Fields
+  * expand: replace sort.SearchStrings with slices.BinarySearchFunc
+  * update dependencies
+  * syntax: add support for the Bash 5.2 @k expansion operator
+  * expand: avoid a panic when ParamExp.Repl.Orig is nil
+  * syntax: avoid a slice bounds check on every input byte
+  * syntax: implement basic offset overflow protection
+  * syntax: reduce the amount of allocation batching again
+  * syntax: remove colOverflow conditional
+  * syntax: make Parser.reset a bit more conservative
+  * syntax: move benchmarks to a separate file
+  * syntax: quicktest can take go-cmp options now
+  * cmd/shfmt: drop SHFMT_NO_EDITORCONFIG warning
+  * cmd/shfmt: swap out pkg/diff for internal/diff
+  * cmd/shfmt: simplify with fewer globals
+  * all: update dependencies
+  * all: shadow the variable in type switches
+  * DebugPrint: Print the string value of tokens
+  * Allow case-insensitive filename globbing; add nocaseglob
+  * interp: cancellable reads; EOF on "read" sets var to ""
+  * syntax: swap frankban/quicktest for go-quicktest/qt
+  * syntax: drop go1.18 build tag for fuzz_test.go
+  * all: make use of the slices package
+  * cmd/shfmt: fix typo in shfmt.1.scd
+  * cmd/shfmt: document when --filename is needed for EditorConfig support
+  * CHANGELOG: prepare for v3.8.0
+  * all: start using Go 1.21 std APIs
+  * CI: bump bash image version
+  * add Go 1.22, drop Go 1.20
+  * CI: bump github actions
+  * bump dependencies before the next release
+  * cmd/shfmt: add --apply-ignore flag for tools and editors
+  * cmd/shfmt: support editorconfig language sections
+  * syntax: backquotes affect backslashes in single quotes too
+  * syntax: better column numbers for escapes inside backquotes
+  * cmd/shfmt: document how EditorConfig's "ignore" works
+  * syntax: detect bash 5.2 rather than 5.1
+  * update dependencies
+  * README: fix up a few links
+  * Update Arch Linux package URL in README.md
+  * interp: support subshells with FuncEnviron as Env
+  * expand: support zero-padding in brace expansions
+  * syntax: support brace expansions with uppercase letters
+  * interp: support parentheses in classic test commands
+  * interp: add TODOs about test operator precedence
+  * interp,expand: add support for fs.DirEntry
+  * appease unparam
+  * interp: determine access to a directory via unix.Access
+  * syntax: allow redirects before all arguments
+  * all: add Go 1.21, drop 1.19
+  * Update README.md
+  * syntax: better error when using "function" in POSIX mode
+  * cmd/shfmt: don't recommend inline EditorConfig comments
+  * CHANGELOG: fix formatting on the latest link references
+
+-------------------------------------------------------------------
+Sun Jul 23 16:01:14 UTC 2023 - Jeff Kowalczyk <jkowalc...@suse.com>
+
+- Packaging improvements:
+  * Re-enable binary stripping and debuginfo boo#121093
+  * Use BuildRequires: golang(API) >= 1.19 as a clearer way to
+    indicate the minimum Go toolchain version in go.mod is go1.19.
+  * Add comment embedding version info via ldflags is necessary
+    here due to upstream code choice to always return (devel).
+  * Add basic %check to execute the binary --help, also --version
+    since that is an open issue for this package.
+  * Fix rpmlint warnings to not repeat package name in
+    summary. This package currently only includes the formatter
+    binary, not the parser or interpreter. Update the summary and
+    description to reflect that.
+
+-------------------------------------------------------------------
+Sun Jul 23 01:28:01 UTC 2023 - Erefd X <zzndb...@gmail.com>
+
+- Update to version 3.7.0:
+  * prepare for v3.7.0
+  * cmd/shfmt: bump Dockerfile image versions
+  * CHANGELOG: start the release notes for v3.7.0
+  * syntax: stop embedding Pos in error struct types
+  * all: assume C.UTF-8 is available in the tests
+  * syntax: treat &> as an error in POSIX mode
+  * syntax: run "confirm" shell commands in a temp dir
+  * syntax: don't parse `$foo#bar` as a comment
+  * all: apply minor suggestions from gopls
+  * syntax: add TODO about writer methods on Printer
+- Add ldflags version info back since --version option always print (devel)
+- Update required version to BuildRequires: golang(API) > 1.18
+
+-------------------------------------------------------------------

Old:
----
  sh-3.5.1.obscpio

New:
----
  sh-3.12.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ shfmt.spec ++++++
--- /var/tmp/diff_new_pack.gdrW0E/_old  2025-08-25 20:38:55.470168182 +0200
+++ /var/tmp/diff_new_pack.gdrW0E/_new  2025-08-25 20:38:55.474168349 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package shfmt
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,33 +15,47 @@
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
-%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
 
 %define prj_name sh
 
 Name:           shfmt
-Version:        3.5.1
+Version:        3.12.0
 Release:        0
-Summary:        A shell parser, formatter, and interpreter with bash support; 
includes shfmt
+Summary:        A shell formatter with bash support
 License:        BSD-3-Clause
 URL:            https://github.com/mvdan/sh
 Source0:        %{prj_name}-%{version}.tar.xz
 Source1:        vendor.tar.xz
-BuildRequires:  golang(API) >= 1.17
+BuildRequires:  golang(API) >= 1.19
 
 %description
-A shell parser, formatter, and interpreter. Supports POSIX Shell, Bash, and 
mksh.
+A shell formatter. Supports POSIX Shell, Bash, and mksh.
 
 %prep
 %setup -q -a1 -n %{prj_name}-%{version}
 
 %build
+# Embedding version info via ldflags is necessary here due to upstream
+# choice to always return (devel) in:
+# https://github.com/mvdan/sh/blob/master/cmd/shfmt/main.go#L73 and
+# https://github.com/mvdan/sh/blob/master/cmd/shfmt/main.go#L168-L176
+# TODO: PR upstream to use runtime/debug.ReadBuildInfo available in go1.18+
 go build \
    -mod=vendor \
    -tags extended \
    -buildmode=pie \
+   -ldflags "-X main.version=%{version}" \
    ./cmd/shfmt
 
+%check
+# execute the binary as a basic check
+./%{name} --help
+# also check version since this application requires unusual packaging 
(ldflags)
+if [ "$(./%{name} --version)" != "%{version}" ] ; then
+    echo "Version information embedded in binary is not the value expected"
+    exit 1
+fi
+
 %install
 install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}"
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.gdrW0E/_old  2025-08-25 20:38:55.510169858 +0200
+++ /var/tmp/diff_new_pack.gdrW0E/_new  2025-08-25 20:38:55.510169858 +0200
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="disabled">
     <param name="url">https://github.com/mvdan/sh.git</param>
     <param name="scm">git</param>
-    <param name="revision">v3.5.1</param>
+    <param name="revision">v3.12.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>
@@ -14,7 +14,7 @@
   </service>
   <service name="set_version" mode="disabled" />
   <service name="go_modules" mode="disabled">
-    <param name="archive">sh-3.5.1.obscpio</param>
+    <param name="archive">sh-3.12.0.obscpio</param>
     <param name="compression">xz</param>
   </service>
 </services>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.gdrW0E/_old  2025-08-25 20:38:55.534170863 +0200
+++ /var/tmp/diff_new_pack.gdrW0E/_new  2025-08-25 20:38:55.538171031 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/mvdan/sh.git</param>
-              <param 
name="changesrevision">747507a87443fe982c60b102de701e8a9834b849</param></service></servicedata>
+              <param 
name="changesrevision">8202166b7d1e3473a7c65eeac53ddbdb55d5b808</param></service></servicedata>
 (No newline at EOF)
 

++++++ sh-3.5.1.obscpio -> sh-3.12.0.obscpio ++++++
++++ 233328 lines of diff (skipped)

++++++ sh.obsinfo ++++++
--- /var/tmp/diff_new_pack.gdrW0E/_old  2025-08-25 20:38:56.190198346 +0200
+++ /var/tmp/diff_new_pack.gdrW0E/_new  2025-08-25 20:38:56.206199017 +0200
@@ -1,5 +1,5 @@
 name: sh
-version: 3.5.1
-mtime: 1653338003
-commit: 747507a87443fe982c60b102de701e8a9834b849
+version: 3.12.0
+mtime: 1751836096
+commit: 8202166b7d1e3473a7c65eeac53ddbdb55d5b808
 

++++++ vendor.tar.xz ++++++
++++ 105782 lines of diff (skipped)

Reply via email to