Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package go1.25 for openSUSE:Factory checked 
in at 2025-12-03 14:12:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.25 (Old)
 and      /work/SRC/openSUSE:Factory/.go1.25.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "go1.25"

Wed Dec  3 14:12:13 2025 rev:12 rq:1320929 version:1.25.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.25/go1.25.changes    2025-11-27 
15:17:48.951503587 +0100
+++ /work/SRC/openSUSE:Factory/.go1.25.new.14147/go1.25.changes 2025-12-03 
14:13:49.037831859 +0100
@@ -1,0 +2,23 @@
+Tue Dec  2 16:04:24 UTC 2025 - Jeff Kowalczyk <[email protected]>
+
+- go1.25.5 (released 2025-12-02) includes two security fixes to the
+  crypto/x509 package, as well as bug fixes to the mime and os
+  packages.
+  Refs boo#1244485 go1.25 release tracking
+  CVE-2025-61729 CVE-2025-61727
+  * go#76461 go#76445 boo#1254431 security: fix CVE-2025-61729 crypto/x509: 
excessive resource consumption in printing error string for host certificate 
validation
+  * go#76464 go#76442 boo#1254430 security: fix CVE-2025-61727 crypto/x509: 
excluded subdomain constraint doesn't preclude wildcard SAN
+  * go#76245 mime: FormatMediaType and ParseMediaType not compatible across 
1.24 to 1.25
+  * go#76360 os: on windows RemoveAll removing directories containing 
read-only files errors with unlinkat ... Access is denied, ReOpenFile error 
handling followup
+
+-------------------------------------------------------------------
+Mon Dec  1 15:20:28 UTC 2025 - Martin Schreiner <[email protected]>
+
+- Packaging: Migrate from update-alternatives to libalternatives
+  Refs boo#1245878
+  * This is an optional migration controlled via prjconf definition
+    with_libalternatives
+  * If with_libalternatives is not defined packaging continues to
+    use update-alternatives
+
+-------------------------------------------------------------------

Old:
----
  go1.25.4.src.tar.gz

New:
----
  go1.25.5.src.tar.gz

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

Other differences:
------------------
++++++ go1.25.spec ++++++
--- /var/tmp/diff_new_pack.zXSprg/_old  2025-12-03 14:13:49.701859880 +0100
+++ /var/tmp/diff_new_pack.zXSprg/_new  2025-12-03 14:13:49.701859880 +0100
@@ -49,6 +49,22 @@
 # go_api or go_api-foo
 %define go_label %{go_api}
 
+# go_libalternatives is the name for the libalternatives configuration file
+# which denotes its priority
+%define go_libalternatives 125
+
+# with_libalternatives denotes whether or not libalternatives should be used
+# if it is not used, then update-alternatives is used instead
+%define with_libalternatives 0
+
+# with_update_alternatives is automatically defined, based on the
+# value of with_libalternatives
+%if %{with_libalternatives}
+%define with_update_alternatives 0
+%else
+%define with_update_alternatives 1
+%endif
+
 # shared library support
 %if "%{rpm_vercmp %{go_api} 1.5}" > "0"
 %ifarch %ix86 %arm x86_64 aarch64
@@ -91,7 +107,7 @@
 %endif
 
 Name:           go1.25
-Version:        1.25.4
+Version:        1.25.5
 Release:        0
 Summary:        A compiled, garbage-collected, concurrent programming language
 License:        BSD-3-Clause
@@ -127,9 +143,6 @@
 %endif
 #BNC#818502 debug edit tool of rpm fails on i586 builds
 BuildRequires:  rpm >= 4.11.1
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
-
 %if 0%{?suse_version} && 0%{?suse_version} < 1500
 Requires:       gcc7
 %else
@@ -144,6 +157,13 @@
 Obsoletes:      go-emacs <= 1.3.3
 Obsoletes:      go-vim <= 1.3.3
 ExclusiveArch:  %ix86 x86_64 %arm aarch64 ppc64 ppc64le s390x riscv64 
loongarch64
+Requires(post):   update-alternatives
+%if %{with_libalternatives}
+BuildRequires:  alts
+Requires:       alts
+%else
+Requires(postun): update-alternatives
+%endif
 
 %description
 Go is an expressive, concurrent, garbage collected systems programming language
@@ -375,16 +395,38 @@
 sed -i "s/lib/lib64/" $GOROOT/bin/gdbinit.d/go.gdb
 sed -i "s/\$go_label/%{go_label}/" $GOROOT/bin/gdbinit.d/go.gdb
 %endif
+mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d
 
 # update-alternatives
+%if %{with_update_alternatives}
 mkdir -p %{buildroot}%{_sysconfdir}/alternatives
 mkdir -p %{buildroot}%{_bindir}
 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
-mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d
 touch %{buildroot}%{_sysconfdir}/alternatives/{go,gofmt,go.gdb}
 ln -sf %{_sysconfdir}/alternatives/go %{buildroot}%{_bindir}/go
 ln -sf %{_sysconfdir}/alternatives/gofmt %{buildroot}%{_bindir}/gofmt
 ln -sf %{_sysconfdir}/alternatives/go.gdb 
%{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
+%endif
+
+# libalternatives
+%if %{with_libalternatives}
+ln -s %{_libdir}/go/%{go_label}/bin/gdbinit.d/go.gdb 
%{buildroot}%{_sysconfdir}/gdbinit.d/go%{go_label}.gdb
+
+mkdir -p %{buildroot}%{_bindir}
+
+ln -s %{_bindir}/alts %{buildroot}%{_bindir}/go
+ln -s %{_bindir}/alts %{buildroot}%{_bindir}/gofmt
+# create 'go' configuration file
+mkdir -p %{buildroot}%{_datadir}/libalternatives/go
+cat > %{buildroot}%{_datadir}/libalternatives/go/%{go_libalternatives}.conf 
<<EOF
+binary=%{_libdir}/go/%{go_label}/bin/go
+EOF
+# create 'gofmt' configuration file
+mkdir -p %{buildroot}%{_datadir}/libalternatives/gofmt
+cat > %{buildroot}%{_datadir}/libalternatives/gofmt/%{go_libalternatives}.conf 
<<EOF
+binary=%{_libdir}/go/%{go_label}/bin/gofmt
+EOF
+%endif
 
 # documentation and examples
 # fix documetation permissions (rpmlint warning)
@@ -402,16 +444,28 @@
 %fdupes -s %{buildroot}%{_prefix}
 
 %post
-
+%if %{with_update_alternatives}
 update-alternatives \
   --install %{_bindir}/go go %{_libdir}/go/%{go_label}/bin/go $((20+$(echo 
%{go_label} | cut -d. -f2))) \
   --slave %{_bindir}/gofmt gofmt %{_libdir}/go/%{go_label}/bin/gofmt \
   --slave %{_sysconfdir}/gdbinit.d/go.gdb go.gdb 
%{_libdir}/go/%{go_label}/bin/gdbinit.d/go.gdb
+%endif
+
+# this is invoked when a user is migrating from update-alternatives to
+# libalternatives, hence why we always require update-alternatives
+# during %post
+%if %{with_libalternatives}
+if [ $1 -eq 0 ] ; then
+       update-alternatives --remove go %{_libdir}/go/%{go_label}/bin/go
+fi
+%endif
 
 %postun
+%if %{with_update_alternatives}
 if [ $1 -eq 0 ] ; then
        update-alternatives --remove go %{_libdir}/go/%{go_label}/bin/go
 fi
+%endif
 
 %files
 %{_bindir}/go
@@ -421,10 +475,6 @@
 %dir %{_datadir}/go
 %{_datadir}/go/%{go_label}
 %dir %{_sysconfdir}/gdbinit.d/
-%config %{_sysconfdir}/gdbinit.d/go.gdb
-%ghost %{_sysconfdir}/alternatives/go
-%ghost %{_sysconfdir}/alternatives/gofmt
-%ghost %{_sysconfdir}/alternatives/go.gdb
 %dir %{_docdir}/go
 %dir %{_docdir}/go/%{go_label}
 %doc %{_docdir}/go/%{go_label}/CONTRIBUTING.md
@@ -436,6 +486,19 @@
 %else
 %license %{_docdir}/go/%{go_label}/LICENSE
 %endif
+%if %{with_libalternatives}
+%config %{_sysconfdir}/gdbinit.d/go%{go_label}.gdb
+%dir %{_datadir}/libalternatives/go
+%{_datadir}/libalternatives/go/%{go_libalternatives}.conf
+%dir %{_datadir}/libalternatives/gofmt
+%{_datadir}/libalternatives/gofmt/%{go_libalternatives}.conf
+%endif
+%if %{with_update_alternatives}
+%config %{_sysconfdir}/gdbinit.d/go.gdb
+%ghost %{_sysconfdir}/alternatives/go
+%ghost %{_sysconfdir}/alternatives/gofmt
+%ghost %{_sysconfdir}/alternatives/go.gdb
+%endif
 
 # We don't include TSAN in the main Go package.
 %ifarch %{tsan_arch}

++++++ go1.25.4.src.tar.gz -> go1.25.5.src.tar.gz ++++++
/work/SRC/openSUSE:Factory/go1.25/go1.25.4.src.tar.gz 
/work/SRC/openSUSE:Factory/.go1.25.new.14147/go1.25.5.src.tar.gz differ: char 
17, line 1

Reply via email to