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
