Hello community, here is the log from the commit of package go1.9 for openSUSE:Leap:15.2 checked in at 2020-05-26 18:32:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/go1.9 (Old) and /work/SRC/openSUSE:Leap:15.2/.go1.9.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.9" Tue May 26 18:32:38 2020 rev:13 rq:808375 version:1.9.7 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/go1.9/go1.9.changes 2020-01-15 15:05:47.425915772 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.go1.9.new.2738/go1.9.changes 2020-05-26 18:32:51.441638309 +0200 @@ -1,0 +2,36 @@ +Fri Jan 31 12:29:31 UTC 2020 - Guillaume GARDET <[email protected]> + +- Drop armv6l.patch to fix build on armv6 + +------------------------------------------------------------------- +Wed Oct 23 16:13:46 UTC 2019 - Stefan Brüns <[email protected]> + +- Remove unneeded systemd BuildRequires. +- Remove specific support for Leap 42.x (EOL), treat it like SLE12 +- Add some missing dir-only markers in files section. + +------------------------------------------------------------------- +Mon Oct 21 17:26:58 UTC 2019 - Stefan Brüns <[email protected]> + +- Let RPM evaluate the go_api version compare, drop no longer required bc. +- Own the gdbinit.d directory, avoid the build dependency on gdb. + +------------------------------------------------------------------- +Sat Jun 22 09:38:30 UTC 2019 - Matwey Kornilov <[email protected]> + +- Enable %arm architecture +- Add gcc9-go.patch: bootstrap works only with gcc9 at armv7l (boo#974800) + +------------------------------------------------------------------- +Thu May 16 07:12:55 UTC 2019 - Martin Liška <[email protected]> + +- Add gcc9-rsp-clobber.patch in order to fix bsc#1121397. + +------------------------------------------------------------------- +Sat Dec 15 12:45:31 UTC 2018 - Aleksa Sarai <[email protected]> + +- Make our profile.d/go.sh no longer set GOROOT=, in order to make switching + between versions no longer break. This ends up removing the need for go.sh + entirely (because GOPATH is also set automatically). boo#1119634 + +------------------------------------------------------------------- Old: ---- armv6l.patch go.sh New: ---- gcc9-go.patch gcc9-rsp-clobber.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ go1.9.spec ++++++ --- /var/tmp/diff_new_pack.UBppsb/_old 2020-05-26 18:32:51.997639523 +0200 +++ /var/tmp/diff_new_pack.UBppsb/_new 2020-05-26 18:32:52.001639532 +0200 @@ -1,7 +1,7 @@ # # spec file for package go1.9 # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,55 +12,40 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # # nodebuginfo -# strip will cause Go's .a archives to become invalid because strip appears to -# reassemble the archive incorrectly. This is a known issue upstream -# (https://github.com/golang/go/issues/17890), but we have to deal with it in -# the meantime. -%undefine _build_create_debug %define __arch_install_post export NO_BRP_STRIP_DEBUG=true - # By default use go and not gccgo %define with_gccgo 0 - # The fallback boostrap method via go1.4 does not work for Factory because # of a known bug with binutils 2.27 https://github.com/golang/go/issues/16906. # Leap will work but we don't have go1.4 in there. %if 0%{?suse_version} > 1320 -# openSUSE Factory -%define with_gccgo 1 -%else -%if 0%{?suse_version} == 1315 && 0%{?is_opensuse} -# openSUSE Leap +# openSUSE Factory, Leap 15.x, SLE 15 %define with_gccgo 1 %endif -%endif - # The fallback bootstrap method via go1.4 doesn't work # for aarch64 nor ppc64le because go 1.4 did not support that architecture. %ifarch aarch64 ppc64le ppc64 s390x %define with_gccgo 1 %endif - # By default we don't include tsan. It's only supported on amd64. %define tsan_arch x86_64 - # Go has precompiled versions of LLVM's compiler-rt inside their source code. # We cannot ship pre-compiled binaries so we have to recompile said source, # however they vendor specific commits from upstream. This value comes from # src/runtime/race/README (and we verify that it matches in check). # See boo#1052528 for more details. %define tsan_commit 68e1532492f9b3fce0e9024f3c31411105965b11 - %define go_api 1.9 - +%ifarch ppc64 +%define with_shared 0 +%endif # shared library support -%define shared_supported %(echo "%{go_api} >= 1.5" | bc -l) -%if %{shared_supported} +%if "%{rpm_vercmp %{go_api} 1.5}" > "0" %if %{with_gccgo} %define with_shared 1 %else @@ -73,20 +58,15 @@ %else %define with_shared 0 %endif -%ifarch ppc64 -%define with_shared 0 -%endif - Name: go1.9 Version: 1.9.7 Release: 0 Summary: A compiled, garbage-collected, concurrent programming language License: BSD-3-Clause Group: Development/Languages/Other -Url: http://golang.org +URL: http://golang.org Source: http://golang.org/dl/go%{version}.src.tar.gz Source1: go-rpmlintrc -Source2: go.sh Source4: README.SUSE Source6: go.gdbinit # We have to compile TSAN ourselves. boo#1052528 @@ -102,15 +82,34 @@ Patch4: go-1.5-install-dont-reinstall-stdlibs.patch # PATCH-FIX-OPENSUSE enable writing tools outside $GOROOT/pkg/tool for packaging Patch5: tools-packaging.patch -# armv6l needs this patch for our build system -# see https://groups.google.com/forum/#!topic/golang-nuts/MqKTX_XIOKE -Patch6: armv6l.patch # PATCH-FIX-UPSTREAM [email protected] - find /usr/bin/go-5 when bootstrapping with gcc5-go Patch8: gcc6-go.patch Patch9: gcc7-go.patch +Patch10: gcc9-go.patch # PATCH-FIX-UPSTREAM (compiler-rt): Fix sanitizer build against latest glibc Patch100: fix-sanitizer-build-against-latest-glibc.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build +Patch101: gcc9-rsp-clobber.patch +BuildRequires: fdupes +#BNC#818502 debug edit tool of rpm fails on i586 builds +BuildRequires: rpm >= 4.11.1 +Requires: gcc +Requires(post): update-alternatives +Requires(postun): update-alternatives +Recommends: %{name}-doc = %{version} +Provides: go = %{version} +Provides: go-devel = go%{version} +Provides: go-devel-static = go%{version} +Provides: golang(API) = %{go_api} +Obsoletes: go-devel < go%{version} +# go-vim/emacs were separate projects starting from 1.4 +Obsoletes: go-emacs <= 1.3.3 +Obsoletes: go-vim <= 1.3.3 +ExclusiveArch: %ix86 x86_64 %arm aarch64 ppc64 ppc64le s390x +# strip will cause Go's .a archives to become invalid because strip appears to +# reassemble the archive incorrectly. This is a known issue upstream +# (https://github.com/golang/go/issues/17890), but we have to deal with it in +# the meantime. +%undefine _build_create_debug # boostrap %if %{with_gccgo} %ifnarch s390 s390x @@ -120,36 +119,20 @@ # SLE12 or Leap 42.x BuildRequires: gcc6-go %else +%ifarch %arm +BuildRequires: gcc9-go +%else BuildRequires: gcc7-go %endif +%endif %else # no gcc-go BuildRequires: go1.4 %endif -BuildRequires: fdupes -BuildRequires: systemd -Recommends: %{name}-doc = %{version} %ifarch %{tsan_arch} # Needed to compile compiler-rt/TSAN. BuildRequires: gcc-c++ %endif -#BNC#818502 debug edit tool of rpm fails on i586 builds -BuildRequires: bc -BuildRequires: rpm >= 4.11.1 -# for go.gdbinit, directory ownership -BuildRequires: gdb -Requires(post): update-alternatives -Requires(postun): update-alternatives -Requires: gcc -Provides: go = %{version} -Provides: go-devel = go%{version} -Provides: go-devel-static = go%{version} -Provides: golang(API) = %{go_api} -Obsoletes: go-devel < go%{version} -# go-vim/emacs were separate projects starting from 1.4 -Obsoletes: go-emacs <= 1.3.3 -Obsoletes: go-vim <= 1.3.3 -ExclusiveArch: %ix86 x86_64 aarch64 ppc64 ppc64le s390x %description Go is an expressive, concurrent, garbage collected systems programming language @@ -172,7 +155,7 @@ %package race Summary: Go runtime race detector Group: Development/Languages/Other -Url: https://compiler-rt.llvm.org/ +URL: https://compiler-rt.llvm.org/ Requires: %{name} = %{version} Supplements: %{name} = %{version} ExclusiveArch: %{tsan_arch} @@ -187,6 +170,7 @@ # compiler-rt %setup -q -T -b 100 -n compiler-rt-g%{tsan_commit} %patch100 -p1 +%patch101 -p1 %endif # go %setup -q -n go @@ -195,17 +179,18 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 -%ifarch armv6hl -%patch6 -p1 -%endif %if %{with_gccgo} %if 0%{?suse_version} == 1315 # SLE12 or Leap 42.x %patch8 -p1 %else +%ifarch %arm +%patch10 -p1 +%else %patch9 -p1 %endif %endif +%endif cp %{SOURCE4} . # setup go_arch (BSD-like scheme) @@ -276,8 +261,6 @@ %install export GOROOT="%{buildroot}%{_libdir}/go/%{go_api}" -install -Dm644 %{SOURCE2} $GOROOT/bin/profile.d/go.sh -sed -i "s/\$go_api/%{go_api}/" $GOROOT/bin/profile.d/go.sh # locations for third party libraries, see README-openSUSE for info about locations. install -d %{buildroot}%{_datadir}/go/%{go_api}/contrib @@ -295,8 +278,8 @@ find src -name ${ext} -exec install -Dm644 \{\} %{buildroot}%{_datadir}/go/%{go_api}/\{\} \; done mkdir -p $GOROOT/src -for i in $(ls %{buildroot}/usr/share/go/%{go_api}/src);do - ln -s /usr/share/go/%{go_api}/src/$i $GOROOT/src/$i +for i in $(ls %{buildroot}%{_datadir}/go/%{go_api}/src);do + ln -s %{_datadir}/go/%{go_api}/src/$i $GOROOT/src/$i done # add lib files that are needed (such as the timezone database). install -d $GOROOT/lib @@ -324,10 +307,9 @@ mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_sysconfdir}/profile.d mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d - touch %{buildroot}%{_sysconfdir}/alternatives/{go,gofmt,go.sh,go.gdb} + 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.sh %{buildroot}%{_sysconfdir}/profile.d/go.sh ln -sf %{_sysconfdir}/alternatives/go.gdb %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb # documentation and examples @@ -348,7 +330,6 @@ --install %{_bindir}/go go %{_libdir}/go/%{go_api}/bin/go 30 \ --slave %{_bindir}/gofmt gofmt %{_libdir}/go/%{go_api}/bin/gofmt \ --slave %{_sysconfdir}/gdbinit.d/go.gdb go.gdb %{_libdir}/go/%{go_api}/bin/gdbinit.d/go.gdb \ - --slave %{_sysconfdir}/profile.d/go.sh go.sh %{_libdir}/go/%{go_api}/bin/profile.d/go.sh %postun if [ $1 -eq 0 ] ; then @@ -359,22 +340,21 @@ %defattr(-,root,root,-) %{_bindir}/go %{_bindir}/gofmt -%{_libdir}/go +%dir %{_libdir}/go %{_libdir}/go/%{go_api} -%{_datadir}/go +%dir %{_datadir}/go %{_datadir}/go/%{go_api} -%config %{_sysconfdir}/profile.d/go.sh +%dir %{_sysconfdir}/gdbinit.d/ %config %{_sysconfdir}/gdbinit.d/go.gdb %ghost %{_sysconfdir}/alternatives/go %ghost %{_sysconfdir}/alternatives/gofmt -%ghost %{_sysconfdir}/alternatives/go.sh %ghost %{_sysconfdir}/alternatives/go.gdb %dir %{_docdir}/go %dir %{_docdir}/go/%{go_api} %doc %{_docdir}/go/%{go_api}/AUTHORS %doc %{_docdir}/go/%{go_api}/CONTRIBUTORS %doc %{_docdir}/go/%{go_api}/CONTRIBUTING.md -%doc %{_docdir}/go/%{go_api}/LICENSE +%license %{_docdir}/go/%{go_api}/LICENSE %doc %{_docdir}/go/%{go_api}/PATENTS %doc %{_docdir}/go/%{go_api}/README.md %doc %{_docdir}/go/%{go_api}/README.SUSE ++++++ gcc9-go.patch ++++++ Index: go/src/cmd/dist/buildtool.go =================================================================== --- go.orig/src/cmd/dist/buildtool.go +++ go/src/cmd/dist/buildtool.go @@ -164,7 +164,7 @@ func bootstrapBuildTools() { // Use the math_big_pure_go build tag to disable the assembly in math/big // which may contain unsupported instructions. cmd := []string{ - pathf("%s/bin/go", goroot_bootstrap), + pathf("%s/bin/go-9", goroot_bootstrap), "install", "-gcflags=-l", "-tags=math_big_pure_go", Index: go/src/make.bash =================================================================== --- go.orig/src/make.bash +++ go/src/make.bash @@ -41,7 +41,7 @@ # This is used by cgo. Default is CC. # # CXX_FOR_TARGET: Command line to run to compile C++ code for GOARCH. -# This is used by cgo. Default is CXX, or, if that is not set, +# This is used by cgo. Default is CXX, or, if that is not set, # "g++" or "clang++". # # FC: Command line to run to compile Fortran code for GOARCH. @@ -120,8 +120,8 @@ echo '##### Building Go bootstrap tool.' echo cmd/dist export GOROOT="$(cd .. && pwd)" GOROOT_BOOTSTRAP=${GOROOT_BOOTSTRAP:-$HOME/go1.4} -if [ ! -x "$GOROOT_BOOTSTRAP/bin/go" ]; then - echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go." >&2 +if [ ! -x "$GOROOT_BOOTSTRAP/bin/go-9" ]; then + echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go-9." >&2 echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4." >&2 exit 1 fi @@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; exit 1 fi rm -f cmd/dist/dist -GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist +GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go-9" build -o cmd/dist/dist ./cmd/dist # -e doesn't propagate out of eval, so check success by hand. eval $(./cmd/dist/dist env -p || echo FAIL=true) Index: go/src/make.rc =================================================================== --- go.orig/src/make.rc +++ go/src/make.rc @@ -46,13 +46,13 @@ echo cmd/dist GOROOT = `{cd .. && pwd} if(! ~ $#GOROOT_BOOTSTRAP 1) GOROOT_BOOTSTRAP = $home/go1.4 -if(! test -x $GOROOT_BOOTSTRAP/bin/go){ - echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go.' >[1=2] +if(! test -x $GOROOT_BOOTSTRAP/bin/go-9){ + echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go-9.' >[1=2] echo 'Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.' >[1=2] exit bootstrap } rm -f cmd/dist/dist -GOROOT=$GOROOT_BOOTSTRAP GOOS='' GOARCH='' $GOROOT_BOOTSTRAP/bin/go build -o cmd/dist/dist ./cmd/dist +GOROOT=$GOROOT_BOOTSTRAP GOOS='' GOARCH='' $GOROOT_BOOTSTRAP/bin/go-9 build -o cmd/dist/dist ./cmd/dist eval `{./cmd/dist/dist env -9} echo ++++++ gcc9-rsp-clobber.patch ++++++ --- a/lib/sanitizer_common/sanitizer_linux.cc 2018-01-11 23:53:30.000000000 +0100 +++ b/lib/sanitizer_common/sanitizer_linux.cc.new 2019-03-10 21:23:23.824919781 +0100 @@ -1243,7 +1243,7 @@ "d"(parent_tidptr), "r"(r8), "r"(r10) - : "rsp", "memory", "r11", "rcx"); + : "memory", "r11", "rcx"); return res; } #elif defined(__mips__)
