Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package go1.16 for openSUSE:Factory checked 
in at 2024-02-28 19:45:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.16 (Old)
 and      /work/SRC/openSUSE:Factory/.go1.16.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "go1.16"

Wed Feb 28 19:45:19 2024 rev:25 rq:1152296 version:1.16.15

Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.16/go1.16.changes    2023-04-15 
23:08:30.489797269 +0200
+++ /work/SRC/openSUSE:Factory/.go1.16.new.1770/go1.16.changes  2024-02-28 
19:45:40.202645364 +0100
@@ -1,0 +2,43 @@
+Tue Feb 27 11:33:06 UTC 2024 - Dominique Leuenberger <dims...@opensuse.org>
+
+- Use %patch -P N instead of deprecated %patchN.
+
+-------------------------------------------------------------------
+Fri Apr 14 23:41:22 UTC 2023 - Jeff Kowalczyk <jkowalc...@suse.com>
+
+- Build subpackage go1.x-libstd compiled shared object libstd.so
+  only on Tumbleweed at this time.
+  Refs jsc#PED-1962
+
+-------------------------------------------------------------------
+Fri Apr 14 23:20:06 UTC 2023 - Jeff Kowalczyk <jkowalc...@suse.com>
+
+- Add subpackage go1.x-libstd for compiled shared object libstd.so.
+  Refs jsc#PED-1962
+  * Main go1.x package included libstd.so in previous versions
+  * Split libstd.so into subpackage that can be installed standalone
+  * Continues the slimming down of main go1.x package by 40 Mb
+  * Experimental and not recommended for general use, Go currently has no ABI
+  * Upstream Go has not committed to support buildmode=shared long-term
+  * Do not use in packaging, build static single binaries (the default)
+  * Upstream Go go1.x binary releases do not include libstd.so
+  * go1.x Suggests go1.x-libstd so not installed by default Recommends
+  * go1.x-libstd does not Require: go1.x so can install standalone
+  * Provides go-libstd unversioned package name
+  * Fix build step -buildmode=shared std to omit -linkshared
+- Packaging improvements:
+  * go1.x Suggests go1.x-doc so not installed by default Recommends
+  * Use Group: Development/Languages/Go instead of Other
+
+-------------------------------------------------------------------
+Fri Apr 14 23:06:51 UTC 2023 - Jeff Kowalczyk <jkowalc...@suse.com>
+
+- Improvements to go1.x packaging spec:
+  * On Tumbleweed bootstrap with current default gcc13 and gccgo118
+  * On SLE-12 aarch64 ppc64le ppc64 remove overrides to bootstrap
+    using go1.x package (%bcond_without gccgo). This is no longer
+    needed on current SLE-12:Update and removing will consolidate
+    the build configurations used.
+  * Change source URLs to go.dev as per Go upstream
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ go1.16.spec ++++++
--- /var/tmp/diff_new_pack.NCGtjM/_old  2024-02-28 19:45:40.898670685 +0100
+++ /var/tmp/diff_new_pack.NCGtjM/_new  2024-02-28 19:45:40.898670685 +0100
@@ -24,29 +24,24 @@
 %undefine _build_create_debug
 %define __arch_install_post export NO_BRP_STRIP_DEBUG=true NO_BRP_AR=true
 
-%if 0%{?suse_version} == 1315
-%define go_bootstrap_version go1.4
-%else
-%define go_bootstrap_version go1.14
-%endif
-%if 0%{?suse_version} > 1550
+# Specify Go toolchain version used to bootstrap this package's Go toolchain
+# go_bootstrap_version bootstrap go toolchain with specific existing go1.x 
package
+# gcc_go_version       bootstrap go toolchain with specific version of gcc-go
+%if 0%{?suse_version} > 1500
 # openSUSE Tumbleweed
+# Usually ahead of bootstrap version specified by upstream Go
+# Use Tumbleweed default gccgo and N-1 go1.x for testing
 %define gcc_go_version 13
+%define go_bootstrap_version go1.15
 %else
+# Use gccgo and go1.x specified by upstream Go
 %define gcc_go_version 11
+%define go_bootstrap_version go1.15
 %endif
 
-# Bootstrap go toolchain using gccgo package gcc_go_version
-# To bootstrap using go use '--without gccgo'
-%bcond_without gccgo
-
-# Boostrapping using existing go package can fail on certain SLE-12 
architectures
-# Override here as needed
-%if 0%{?suse_version} == 1315
-%ifarch aarch64 ppc64le ppc64 s390x
-%bcond_without gccgo
-%endif
-%endif
+# Bootstrap go toolchain using existing go package go_bootstrap_version
+# To bootstrap using gccgo use '--with gccgo'
+%bcond_with gccgo
 
 # gccgo on ppc64le with default PIE enabled fails with:
 # error while loading shared libraries:
@@ -59,9 +54,7 @@
 #!BuildIgnore: gcc-PIE
 %endif
 
-# Build go-race only on platforms where it's supported (both amd64 and aarch64
-# requires SLE15-or-later because of C++14, and ppc64le doesn't build at all
-# on openSUSE yet).
+# Build go-race only on platforms where C++14 is supported (SLE-15)
 %if 0%{?suse_version} >= 1500 || 0%{?sle_version} >= 150000
 %define tsan_arch x86_64 aarch64
 %else
@@ -139,13 +132,15 @@
 Release:        0
 Summary:        A compiled, garbage-collected, concurrent programming language
 License:        BSD-3-Clause
-Group:          Development/Languages/Other
-URL:            http://golang.org
-Source:         http://golang.org/dl/go%{version}.src.tar.gz
+Group:          Development/Languages/Go
+URL:            https://go.dev/
+Source:         https://go.dev/dl/go%{version}.src.tar.gz
 Source1:        go-rpmlintrc
 Source4:        README.SUSE
 Source6:        go.gdbinit
 # We have to compile TSAN ourselves. boo#1052528
+# Preferred form when all arches share llvm race version
+# Source100:      llvm-%{tsan_commit}.tar.xz
 Source100:      llvm-%{tsan_commit}.tar.xz
 # PATCH-FIX-OPENSUSE: https://go-review.googlesource.com/c/go/+/391115
 Patch7:         dont-force-gold-on-arm64.patch
@@ -160,7 +155,11 @@
 BuildRequires:  %{go_bootstrap_version}
 %endif
 BuildRequires:  fdupes
-Recommends:     %{name}-doc = %{version}
+Suggests:       %{name}-doc = %{version}
+%if 0%{?suse_version} > 1500
+# openSUSE Tumbleweed
+Suggests:       %{name}-libstd = %{version}
+%endif
 %ifarch %{tsan_arch}
 # Needed to compile compiler-rt/TSAN.
 BuildRequires:  gcc-c++
@@ -190,7 +189,6 @@
 %package doc
 Summary:        Go documentation
 Group:          Documentation/Other
-Requires:       %{name} = %{version}
 Provides:       go-doc = %{version}
 
 %description doc
@@ -200,7 +198,7 @@
 # boo#1052528
 %package race
 Summary:        Go runtime race detector
-Group:          Development/Languages/Other
+Group:          Development/Languages/Go
 URL:            https://compiler-rt.llvm.org/
 Requires:       %{name} = %{version}
 Supplements:    %{name} = %{version}
@@ -211,21 +209,35 @@
 -race option, in order to detect race conditions present in your Go programs.
 %endif
 
+%if %{with_shared}
+%if 0%{?suse_version} > 1500
+# openSUSE Tumbleweed
+%package libstd
+Summary:        Go compiled shared library libstd.so
+Group:          Development/Languages/Go
+Provides:       go-libstd = %{version}
+
+%description libstd
+Go standard library compiled to a dynamically loadable shared object libstd.so
+%endif
+%endif
+
 %prep
 %ifarch %{tsan_arch}
 # compiler-rt (from LLVM)
 %setup -q -T -b 100 -n llvm-%{tsan_commit}
 %endif
+
 # go
 %setup -q -n go
-%patch7 -p1
+%patch -P 7 -p1
 %if %{with gccgo}
 # Currently gcc-go does not manage an update-alternatives entry and will
 # never be symlinked as "go", even if gcc-go is the only installed go 
toolchain.
 # Patch go bootstrap scripts to find hardcoded go-(gcc-go-version) e.g. go-8
 # Substitute defined gcc_go_version into gcc-go.patch
 sed -i "s/\$gcc_go_version/%{gcc_go_version}/" $RPM_SOURCE_DIR/gcc-go.patch
-%patch8 -p1
+%patch -P 8 -p1
 %endif
 
 cp %{SOURCE4} .
@@ -274,7 +286,25 @@
 %endif
 
 %if %{with_shared}
-bin/go install -buildmode=shared -linkshared std
+%if 0%{?suse_version} > 1500
+# openSUSE Tumbleweed
+# Compile Go standard library as a dynamically loaded shared object libstd.so
+# for inclusion in a subpackage which can be installed standalone.
+# Upstream Go binary releases do not ship a compiled libstd.so.
+# Standard practice is to build Go binaries as a single executable.
+# Upstream Go discussed removing this feature, opted to fix current support:
+# Relevant upstream comments on: https://github.com/golang/go/issues/47788
+#
+# -buildmode=shared
+#    Combine all the listed non-main packages into a single shared
+#    library that will be used when building with the -linkshared
+#    option. Packages named main are ignored.
+#
+# -linkshared
+#    build code that will be linked against shared libraries previously
+#    created with -buildmode=shared.
+bin/go install -buildmode=shared std
+%endif
 %endif
 
 %check
@@ -397,8 +427,16 @@
 %exclude %{_datadir}/go/%{go_label}/src/runtime/race/race_linux_%{go_arch}.syso
 %endif
 
+# We don't include libstd.so in the main Go package.
+%if %{with_shared}
+%if 0%{?suse_version} > 1500
+# openSUSE Tumbleweed
+# ./go/1.20/pkg/linux_amd64_dynlink/libstd.so
+%exclude %{_libdir}/go/%{go_label}/pkg/linux_%{go_arch}_dynlink/libstd.so
+%endif
+%endif
+
 %files doc
-%defattr(-,root,root,-)
 %doc %{_docdir}/go/%{go_label}/*.html
 
 %ifarch %{tsan_arch}
@@ -406,3 +444,11 @@
 %{_datadir}/go/%{go_label}/src/runtime/race/race_linux_%{go_arch}.syso
 %endif
 
+%if %{with_shared}
+%if 0%{?suse_version} > 1500
+# openSUSE Tumbleweed
+%files libstd
+%{_libdir}/go/%{go_label}/pkg/linux_%{go_arch}_dynlink/libstd.so
+%endif
+%endif
+

Reply via email to