Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package go1.19 for openSUSE:Factory checked 
in at 2023-04-18 15:52:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.19 (Old)
 and      /work/SRC/openSUSE:Factory/.go1.19.new.2023 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "go1.19"

Tue Apr 18 15:52:01 2023 rev:14 rq:1079837 version:1.19.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.19/go1.19.changes    2023-04-15 
23:08:35.373825621 +0200
+++ /work/SRC/openSUSE:Factory/.go1.19.new.2023/go1.19.changes  2023-04-18 
15:52:02.589126542 +0200
@@ -1,0 +2,41 @@
+Fri Apr 14 23:41:22 UTC 2023 - Jeff Kowalczyk <jkowalc...@suse.com>
+
+- Build subpackage go1.1x-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
+  * On x86_64 export GOAMD64=v1 as per the current baseline.
+    At this time forgo GOAMD64=v3 option for x86_64_v3 support.
+  * On x86_64 %define go_amd64=v1 as current instruction baseline
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ go1.19.spec ++++++
--- /var/tmp/diff_new_pack.tJ8Wbw/_old  2023-04-18 15:52:03.321130757 +0200
+++ /var/tmp/diff_new_pack.tJ8Wbw/_new  2023-04-18 15:52:03.325130781 +0200
@@ -24,29 +24,25 @@
 %undefine _build_create_debug
 %define __arch_install_post export NO_BRP_STRIP_DEBUG=true NO_BRP_AR=true
 
-# Used to bootstrap go toolchain with specific existing package
-%define go_bootstrap_version go1.16
-
-# Used to bootstrap go toolchain using specific version of gcc-go
+# 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.18
 %else
+# Use gccgo and go1.x specified by upstream Go
 %define gcc_go_version 11
+%define go_bootstrap_version go1.17
 %endif
 
 # Bootstrap go toolchain using existing go package go_bootstrap_version
 # To bootstrap using gccgo use '--with gccgo'
 %bcond_with 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
-%bcond_without gccgo
-%endif
-%endif
-
 # gccgo on ppc64le with default PIE enabled fails with:
 # error while loading shared libraries:
 # R_PPC64_ADDR16_HA re10143fb0c for symbol `' out of range
@@ -74,7 +70,7 @@
 #
 # In order to update the TSAN version, modify _service. See boo#1052528 for
 # more details.
-%ifarch x86_64
+%ifarch x86_64 %{?x86_64}
 %define tsan_commit 127e59048cd3d8dbb80c14b3036918c114089529
 %else
 %define tsan_commit 41cb504b7c4b18ac15830107431a0c1eec73a6b2
@@ -115,6 +111,8 @@
 %endif
 %ifarch x86_64
 %define go_arch amd64
+# set GOAMD64 consistently
+%define go_amd64 v1
 %endif
 %ifarch aarch64
 %define go_arch arm64
@@ -140,9 +138,9 @@
 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
@@ -164,7 +162,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++
@@ -194,7 +196,6 @@
 %package doc
 Summary:        Go documentation
 Group:          Documentation/Other
-Requires:       %{name} = %{version}
 Provides:       go-doc = %{version}
 
 %description doc
@@ -204,7 +205,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}
@@ -215,6 +216,19 @@
 -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)
@@ -269,6 +283,10 @@
 export GOARCH=arm
 export GOARM=7
 %endif
+%ifarch x86_64 %{?x86_64}
+# use the baseline defined above. Other option is GOAMD64=v3 for x86_64_v3 
support
+export GOAMD64=%go_amd64
+%endif
 export GOROOT="`pwd`"
 export GOROOT_FINAL=%{_libdir}/go/%{go_label}
 export GOBIN="$GOROOT/bin"
@@ -283,7 +301,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
@@ -410,6 +446,15 @@
 %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
 %doc %{_docdir}/go/%{go_label}/*.html
 
@@ -418,4 +463,12 @@
 %{_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
+
 %changelog

Reply via email to