Hello community,

here is the log from the commit of package go for openSUSE:Factory checked in 
at 2017-06-09 15:55:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go (Old)
 and      /work/SRC/openSUSE:Factory/.go.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "go"

Fri Jun  9 15:55:34 2017 rev:75 rq:501614 version:1.8.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/go/go.changes    2017-01-24 10:43:08.299446976 
+0100
+++ /work/SRC/openSUSE:Factory/.go.new/go.changes       2017-06-09 
15:55:36.854854616 +0200
@@ -1,0 +2,98 @@
+Fri Jun  2 13:08:56 UTC 2017 - [email protected]
+
+- Build with gcc-7 on Tumbleweed
+  + Add gcc7-go.patch
+
+-------------------------------------------------------------------
+Mon May 29 07:32:53 UTC 2017 - [email protected]
+
+- Minor update to go1.8.3
+
+  Fixes included:
+
+  * go1.8.2 (released 2017/05/23) includes a security fix to the
+    crypto/elliptic package (CVE-2017-8932, bsc#1040618).
+
+  * go1.8.3 (released 2017/05/24) includes fixes to the compiler, runtime,
+    documentation, and the database/sql package.
+
+-------------------------------------------------------------------
+Wed May  3 18:14:48 UTC 2017 - [email protected]
+
+- fix update-alternatives usage. This way, we can either use go1.7 or
+  go 1.8 without having to change the docker spec file or any other
+  package that requires go 1.7 but it will require go 1.8 in the
+  future.
+
+-------------------------------------------------------------------
+Thu Apr 27 14:16:00 UTC 2017 - [email protected]
+
+- Update to go1.8.1
+
+  Most of its changes are in the implementation of the toolchain, runtime, and
+  libraries. There are two minor changes to the language specification. As
+  always, the release maintains the Go 1 promise of compatibility. We expect
+  almost all Go programs to continue to compile and run as before.
+
+  The release adds support for 32-bit MIPS, updates the compiler back end to
+  generate more efficient code, reduces GC pauses by eliminating stop-the-world
+  stack rescanning, adds HTTP/2 Push support, adds HTTP graceful shutdown, adds
+  more context support, enables profiling mutexes, and simplifies sorting
+  slices.
+
+  more at: https://golang.org/doc/go1.8
+
+  Update patches:
+    - allow-binary-only-packages.patch
+    - gcc5-go.patch
+    - gcc6-go.patch
+
+-------------------------------------------------------------------
+Wed Apr 26 18:48:39 UTC 2017 - [email protected]
+
+- Remove mercurial build dependency. Mercurial is a version control
+  system, like git. We are not using this in the build service to
+  get the sources.
+
+- Do not set GOBIN. If GOBIN is unset, by default go assumes GOPATH/bin.
+  This way, the user can change GOPATH without the need to change GOBIN.
+  fix bsc#1026658
+
+-------------------------------------------------------------------
+Thu Apr 13 16:01:22 UTC 2017 - [email protected]
+
+- minor update to go1.7.5 because this is required by
+  docker-v17.04.00-ce (bsc#1034053)
+
+  fixes included:
+
+  * go1.7.1 (released 2016/09/07) includes fixes to the compiler, runtime,
+    documentation, and the compress/flate, hash/crc32, io, net, net/http,
+    path/filepath, reflect, and syscall packages.
+    See the Go 1.7.1 milestone on our issue tracker for details:
+      https://github.com/golang/go/issues?q=milestone%3AGo1.7.1
+
+  * go1.7.2 was not released. No changelog.
+
+  * go1.7.3 (released 2016/10/19) includes fixes to the compiler, runtime,
+    and the crypto/cipher, crypto/tls, net/http, and strings packages.
+    See the Go 1.7.3 milestone on our issue tracker for details:
+      https://github.com/golang/go/issues?q=milestone%3AGo1.7.3
+
+  * go1.7.4 (released 2016/12/01) includes two security fixes.
+    See the Go 1.7.4 milestone on our issue tracker for details:
+      https://github.com/golang/go/issues?q=milestone%3AGo1.7.4
+
+  * go1.7.5 (released 2017/01/26) includes fixes to the compiler, runtime,
+    and the crypto/x509 and time packages.
+    See the Go 1.7.5 milestone on our issue tracker for details:
+      https://github.com/golang/go/issues?q=milestone%3AGo1.7.5
+
+-------------------------------------------------------------------
+Fri Mar 31 10:59:40 UTC 2017 - [email protected]
+
+- Add a patch to bump _MaxGomaxprocs so that things like Docker and k8s can run
+  properly on NUMA machines. Don't bump this number too high. bsc#1028865
+  + runtime-bump-MaxGomaxprocs.patch
+
+-------------------------------------------------------------------
@@ -81,0 +180,5 @@
+Tue Jul 26 16:10:56 UTC 2016 - [email protected]
+
+- CVE-2016-5386.patch: fixes bsc#988487 aka https://httpoxy.org/
+
+-------------------------------------------------------------------
@@ -90 +193 @@
-This fixes: bsc#988487
+This fixes: bsc#988487 (CVE-2016-5386), so we remove CVE-2016-5386.patch)
@@ -115 +218 @@
-Wed Apr 13 18:00:49 UTC 2016 - [email protected]
+Tue May 24 16:42:23 UTC 2016 - [email protected]
@@ -117,2 +220 @@
-- fix bsc#974232: CVE-2016-3959: go: Infinite loop in several big
-  integer routines
+- Enable build for ppc64le on SLE12 (bsc#981432)
@@ -121 +223,4 @@
-Fri Feb 19 09:27:32 UTC 2016 - [email protected]
+Tue Apr 26 10:35:17 UTC 2016 - [email protected]
+
+- fix bsc#974232: CVE-2016-3959: go: Infinite loop in several big
+  integer routines
@@ -123 +228 @@
-- Update to version 1.6
+- Update to version 1.6 (bsc#977394)
@@ -137,0 +243,6 @@
+Wed Apr 13 17:58:59 UTC 2016 - [email protected]
+
+- fix bsc#974232 CVE-2016-3959: go: Infinite loop in several big
+  integer routines
+
+-------------------------------------------------------------------
@@ -140 +251 @@
-- Update to version 1.5.3:
+- Update to version 1.5.3 (bnc#968949):

Old:
----
  gcc6-go.patch
  go1.7.src.tar.gz

New:
----
  gcc7-go.patch
  go1.8.3.src.tar.gz
  runtime-bump-MaxGomaxprocs.patch

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

Other differences:
------------------
++++++ go.spec ++++++
--- /var/tmp/diff_new_pack.VN72PN/_old  2017-06-09 15:55:41.614182862 +0200
+++ /var/tmp/diff_new_pack.VN72PN/_new  2017-06-09 15:55:41.614182862 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package go
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -41,11 +41,11 @@
 
 # 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
+%ifarch aarch64 ppc64le ppc64 s390x
 %define with_gccgo 1
 %endif
 
-%define go_api 1.7
+%define go_api 1.8
 
 # shared library support
 %define shared_supported %(echo "%{go_api} >= 1.5" | bc -l)
@@ -67,13 +67,13 @@
 %endif
 
 Name:           go
-Version:        1.7.0
+Version:        1.8.3
 Release:        0
 Summary:        A compiled, garbage-collected, concurrent programming language
 License:        BSD-3-Clause
 Group:          Development/Languages/Other
 Url:            http://golang.org
-Source0:        http://golang.org/dl/go1.7.src.tar.gz
+Source0:        http://golang.org/dl/go%{version}.src.tar.gz
 Source1:        go-rpmlintrc
 Source2:        go.sh
 Source4:        README.SUSE
@@ -97,12 +97,14 @@
 Patch7:         fix_certificates_lookup.patch
 # PATCH-FIX-UPSTREAM [email protected] - find /usr/bin/go-5 when 
bootstrapping with gcc5-go
 Patch8:         gcc5-go.patch
-Patch9:         gcc6-go.patch
+Patch9:         gcc7-go.patch
+# PATCH-FIX-OPENSUSE: Bump _MaxGomaxprocs to a larger number for NUMA machines.
+Patch10:        runtime-bump-MaxGomaxprocs.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 # boostrap
 %if %{with_gccgo}
 %if 0%{?suse_version} > 1320
-BuildRequires:  gcc6-go
+BuildRequires:  gcc7-go
 %else
 BuildRequires:  gcc5-go
 %endif
@@ -110,12 +112,11 @@
 BuildRequires:  go1.4
 %endif
 %if 0%{?suse_version} >= 1210
-BuildRequires:  mercurial
 BuildRequires:  systemd
 %endif
 %if 0%{?suse_version} >= 1100
 BuildRequires:  fdupes
-Recommends:     go-doc
+Recommends:     go-doc = %{version}
 #BNC#818502 debug edit tool of rpm fails on i586 builds
 %if 0%{?suse_version} > 1230
 BuildRequires:  rpm >= 4.11.1
@@ -129,10 +130,11 @@
 Requires:       gcc
 # for golang-macros.rb
 Requires:       ruby
-Provides:       go-devel = %{name}%{version}
-Provides:       go-devel-static = %{name}%{version}
+Provides:       go = %{version}
+Provides:       go-devel = go%{version}
+Provides:       go-devel-static = go%{version}
 Provides:       golang(API) = %{go_api}
-Obsoletes:      go-devel < %{name}%{version}
+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
@@ -148,13 +150,14 @@
 %package doc
 Summary:        Go documentation
 Group:          Documentation/Other
-Requires:       %{name} = %{version}
+Requires:       go = %{version}
+Provides:       go-doc = %{version}
 
 %description doc
 Go examples and documentation.
 
 %prep
-%setup -q -n %{name}
+%setup -q -n go
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
@@ -171,6 +174,7 @@
 %patch8 -p1
 %endif
 %endif
+%patch10 -p1
 cp %{SOURCE4} .
 
 # setup go_arch (BSD-like scheme)
@@ -203,7 +207,7 @@
 export GOROOT_BOOTSTRAP=%{_libdir}/go1.4
 %endif
 export GOROOT="`pwd`"
-export GOROOT_FINAL=%{_libdir}/go
+export GOROOT_FINAL=%{_libdir}/go/%{go_api}
 export GOBIN="$GOROOT/bin"
 mkdir -p "$GOBIN"
 cd src
@@ -220,27 +224,28 @@
 %endif
 
 %install
-export GOROOT="%{buildroot}%{_libdir}/%{name}"
+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/contrib
+install -d  %{buildroot}%{_datadir}/go/%{go_api}/contrib
 install -d  $GOROOT/contrib/pkg/linux_%{go_arch}
-ln -s %{_libdir}/%{name}/contrib/pkg/ %{buildroot}%{_datadir}/go/contrib/pkg
-install -d  %{buildroot}%{_datadir}/go/contrib/cmd
-install -d  %{buildroot}%{_datadir}/go/contrib/src
-ln -s %{_datadir}/go/contrib/src/ %{buildroot}%{_libdir}/%{name}/contrib/src
+ln -s %{_libdir}/go/%{go_api}/contrib/pkg/ 
%{buildroot}%{_datadir}/go/%{go_api}/contrib/pkg
+install -d  %{buildroot}%{_datadir}/go/%{go_api}/contrib/cmd
+install -d  %{buildroot}%{_datadir}/go/%{go_api}/contrib/src
+ln -s %{_datadir}/go/%{go_api}/contrib/src/ 
%{buildroot}%{_libdir}/go/%{go_api}/contrib/src
 install -Dm644 README.SUSE $GOROOT/contrib/
-ln -s %{_libdir}/go/contrib/README.SUSE 
%{buildroot}%{_datadir}/go/contrib/README.SUSE
+ln -s %{_libdir}/go/%{go_api}/contrib/README.SUSE 
%{buildroot}%{_datadir}/go/%{go_api}/contrib/README.SUSE
 
 # source files for go install, godoc, etc
-install -d %{buildroot}%{_datadir}/go
+install -d %{buildroot}%{_datadir}/go/%{go_api}
 for ext in *.{go,c,h,s,S,py}; do
-  find src -name ${ext} -exec install -Dm644 \{\} 
%{buildroot}%{_datadir}/go/\{\} \;
+  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/src);do
-  ln -s /usr/share/go/src/$i $GOROOT/src/$i
+for i in $(ls %{buildroot}/usr/share/go/%{go_api}/src);do
+  ln -s /usr/share/go/%{go_api}/src/$i $GOROOT/src/$i
 done
 
 # copy document templates, packages, obj libs and command utilities
@@ -252,14 +257,23 @@
 mv bin/* $GOROOT/bin
 rm -f %{buildroot}%{_bindir}/{hgpatch,quietgcc}
 
+# gdbinit
+install -Dm644 %{SOURCE6} $GOROOT/bin/gdbinit.d/go.gdb
+%if "%{_lib}" == "lib64"
+sed -i "s/lib/lib64/" $GOROOT/bin/gdbinit.d/go.gdb
+sed -i "s/\$go_api/%{go_api}/" $GOROOT/bin/gdbinit.d/go.gdb
+%endif
+
 # update-alternatives
-mkdir -p %{buildroot}%{_sysconfdir}/alternatives
-mkdir -p %{buildroot}%{_bindir}
-mkdir -p %{buildroot}%{_sysconfdir}/profile.d
-touch %{buildroot}%{_sysconfdir}/alternatives/{go,gofmt,go.sh}
-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
+ 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.sh,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
 # fix documetation permissions (rpmlint warning)
@@ -267,62 +281,62 @@
 # remove unwanted arch-dependant binaries (rpmlint warning)
 rm -rf misc/cgo/test/{_*,*.o,*.out,*.6,*.8}
 # prepare go-doc
-mkdir -p %{buildroot}%{_docdir}/%{name}
-cp -r AUTHORS CONTRIBUTORS CONTRIBUTING.md LICENSE PATENTS README.md 
README.SUSE %{buildroot}%{_docdir}/%{name}
-cp -r doc/* %{buildroot}%{_docdir}/%{name}
-
-# gdbinit
-mkdir -p %{buildroot}%{_sysconfdir}/gdbinit.d
-install -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
-%if "%{_lib}" == "lib64"
-sed -i "s/lib/lib64/" %{buildroot}%{_sysconfdir}/gdbinit.d/go.gdb
-%endif
+mkdir -p %{buildroot}%{_docdir}/go/%{go_api}
+cp -r AUTHORS CONTRIBUTORS CONTRIBUTING.md LICENSE PATENTS README.md 
README.SUSE %{buildroot}%{_docdir}/go/%{go_api}
+cp -r doc/* %{buildroot}%{_docdir}/go/%{go_api}
 
 %if 0%{?suse_version} >= 1100
 %fdupes -s %{buildroot}%{_prefix}
 %endif
 
 %post
+
 update-alternatives \
-       --install %{_bindir}/go go %{_libdir}/%{name}/bin/go 30 \
-       --slave %{_bindir}/gofmt gofmt %{_libdir}/%{name}/bin/gofmt \
-       --slave %{_sysconfdir}/profile.d/go.sh go.sh 
%{_libdir}/%{name}/bin/profile.d/go.sh
+       --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
-       update-alternatives --remove go %{_libdir}/%{name}/bin/go
+       update-alternatives --remove go %{_libdir}/go/%{go_api}/bin/go
 fi
 
 %files
 %defattr(-,root,root,-)
 %{_bindir}/go
 %{_bindir}/gofmt
-%{_libdir}/go/
-%{_datadir}/go/
+%{_libdir}/go
+%{_libdir}/go/%{go_api}
+%{_datadir}/go
+%{_datadir}/go/%{go_api}
+%ghost %{_sysconfdir}/profile.d/go.sh
+%ghost %{_sysconfdir}/gdbinit.d/go.gdb
 %ghost %{_sysconfdir}/alternatives/go
 %ghost %{_sysconfdir}/alternatives/gofmt
 %ghost %{_sysconfdir}/alternatives/go.sh
-%config %{_sysconfdir}/profile.d/go.sh
-%config %{_sysconfdir}/gdbinit.d/go.gdb
-%dir %{_docdir}/%{name}/
-%doc %{_docdir}/%{name}/AUTHORS
-%doc %{_docdir}/%{name}/CONTRIBUTORS
-%doc %{_docdir}/%{name}/CONTRIBUTING.md
-%doc %{_docdir}/%{name}/LICENSE
-%doc %{_docdir}/%{name}/PATENTS
-%doc %{_docdir}/%{name}/README.md
-%doc %{_docdir}/%{name}/README.SUSE
+%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
+%doc %{_docdir}/go/%{go_api}/PATENTS
+%doc %{_docdir}/go/%{go_api}/README.md
+%doc %{_docdir}/go/%{go_api}/README.SUSE
+%doc %{_docdir}/go/%{go_api}/go%{go_api}.txt
 
 %files doc
 %defattr(-,root,root,-)
-%doc %{_docdir}/%{name}/codewalk
-%doc %{_docdir}/%{name}/articles
-%doc %{_docdir}/%{name}/progs
-%doc %{_docdir}/%{name}/play
-%doc %{_docdir}/%{name}/gopher
-%doc %{_docdir}/%{name}/devel
-%doc %{_docdir}/%{name}/*.html
-%doc %{_docdir}/%{name}/*.css
-%doc %{_docdir}/%{name}/*.png
+%doc %{_docdir}/go/%{go_api}/codewalk
+%doc %{_docdir}/go/%{go_api}/articles
+%doc %{_docdir}/go/%{go_api}/progs
+%doc %{_docdir}/go/%{go_api}/play
+%doc %{_docdir}/go/%{go_api}/gopher
+%doc %{_docdir}/go/%{go_api}/devel
+%doc %{_docdir}/go/%{go_api}/*.html
+%doc %{_docdir}/go/%{go_api}/*.css
+%doc %{_docdir}/go/%{go_api}/*.png
 
 %changelog

++++++ allow-binary-only-packages.patch ++++++
--- /var/tmp/diff_new_pack.VN72PN/_old  2017-06-09 15:55:41.678173831 +0200
+++ /var/tmp/diff_new_pack.VN72PN/_new  2017-06-09 15:55:41.678173831 +0200
@@ -1,13 +1,13 @@
 diff --git a/src/cmd/go/pkg.go b/src/cmd/go/pkg.go
-index 0c0cf07..4c0e450 100644
+index 575f187f3b..56e6e29883 100644
 --- a/src/cmd/go/pkg.go
 +++ b/src/cmd/go/pkg.go
-@@ -365,7 +365,7 @@ func loadImport(path, srcDir string, parent *Package, stk 
*importStack, importPo
-               // Not vendoring, or we already found the vendored path.
-               buildMode |= build.IgnoreVendor
-       }
--      bp, err := buildContext.Import(path, srcDir, buildMode)
-+      bp, err := buildContext.Import(path, srcDir, 
build.AllowBinary|buildMode)
-       bp.ImportPath = importPath
-       if gobin != "" {
-               bp.BinDir = gobin
+@@ -363,7 +363,7 @@ func loadImport(path, srcDir string, parent *Package, stk 
*importStack, importPo
+                       // Not vendoring, or we already found the vendored path.
+                       buildMode |= build.IgnoreVendor
+               }
+-              bp, err := buildContext.Import(path, srcDir, buildMode)
++              bp, err := buildContext.Import(path, srcDir, 
build.AllowBinary|buildMode)
+               bp.ImportPath = importPath
+               if gobin != "" {
+                       bp.BinDir = gobin

++++++ gcc5-go.patch ++++++
--- /var/tmp/diff_new_pack.VN72PN/_old  2017-06-09 15:55:41.706169879 +0200
+++ /var/tmp/diff_new_pack.VN72PN/_new  2017-06-09 15:55:41.706169879 +0200
@@ -1,29 +1,30 @@
-diff --git a/src/make.rc b/src/make.rc
-index 243f83c..82bdd8d 100755
---- a/src/make.rc
-+++ b/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-5){
-+      echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go-5.' >[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-5 build 
-o cmd/dist/dist ./cmd/dist
+diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
+index b0b9b2579d..1647935a2b 100644
+--- a/src/cmd/dist/buildtool.go
++++ b/src/cmd/dist/buildtool.go
+@@ -143,7 +143,7 @@ func bootstrapBuildTools() {
+       // https://groups.google.com/d/msg/golang-dev/Ss7mCKsvk8w/Gsq7VYI0AwAJ
+       // Use the math_big_pure_go build tag to disable the assembly in 
math/big
+       // which may contain unsupported instructions.
+-      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go", 
goroot_bootstrap), "install", "-gcflags=-l", "-tags=math_big_pure_go", "-v", 
"bootstrap/cmd/...")
++      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go-5", 
goroot_bootstrap), "install", "-gcflags=-l", "-tags=math_big_pure_go", "-v", 
"bootstrap/cmd/...")
  
- eval `{./cmd/dist/dist env -9}
- echo
+       // Copy binaries into tool binary directory.
+       for _, name := range bootstrapDirs {
 diff --git a/src/make.bash b/src/make.bash
-index 1a1412a..1b2dfd4 100755
+index 84aaab56db..f794d4131c 100755
 --- a/src/make.bash
 +++ b/src/make.bash
-@@ -118,8 +118,8 @@ echo '##### Building Go bootstrap tool.'
+@@ -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}
@@ -34,7 +35,7 @@
        echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4." >&2
        exit 1
  fi
-@@ -129,7 +129,7 @@ if [ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]; then
+@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]; then
        exit 1
  fi
  rm -f cmd/dist/dist
@@ -43,16 +44,24 @@
  
  # -e doesn't propagate out of eval, so check success by hand.
  eval $(./cmd/dist/dist env -p || echo FAIL=true)
-diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
-index a535316..ea739eb 100644
---- a/src/cmd/dist/buildtool.go
-+++ b/src/cmd/dist/buildtool.go
-@@ -119,7 +119,7 @@ func bootstrapBuildTools() {
-       // Run Go 1.4 to build binaries. Use -gcflags=-l to disable inlining to
-       // workaround bugs in Go 1.4's compiler. See discussion thread:
-       // https://groups.google.com/d/msg/golang-dev/Ss7mCKsvk8w/Gsq7VYI0AwAJ
--      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go", 
goroot_bootstrap), "install", "-gcflags=-l", "-v", "bootstrap/...")
-+      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go-5", 
goroot_bootstrap), "install", "-gcflags=-l", "-v", "bootstrap/...")
+diff --git a/src/make.rc b/src/make.rc
+index ba3554cd76..05c33a6f6d 100755
+--- a/src/make.rc
++++ b/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-5){
++      echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go-5.' >[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-5 build 
-o cmd/dist/dist ./cmd/dist
  
-       // Copy binaries into tool binary directory.
-       for _, name := range bootstrapDirs {
+ eval `{./cmd/dist/dist env -9}
+ echo

++++++ gcc6-go.patch -> gcc7-go.patch ++++++
--- /work/SRC/openSUSE:Factory/go/gcc6-go.patch 2016-11-04 21:02:27.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.go.new/gcc7-go.patch    2017-06-09 
15:55:36.626886792 +0200
@@ -1,42 +1,51 @@
 diff --git a/src/cmd/dist/buildtool.go b/src/cmd/dist/buildtool.go
-index a535316..ea739eb 100644
+index b0b9b2579d..f85a35d379 100644
 --- a/src/cmd/dist/buildtool.go
 +++ b/src/cmd/dist/buildtool.go
-@@ -119,7 +119,7 @@ func bootstrapBuildTools() {
-       // Run Go 1.4 to build binaries. Use -gcflags=-l to disable inlining to
-       // workaround bugs in Go 1.4's compiler. See discussion thread:
+@@ -143,7 +143,7 @@ func bootstrapBuildTools() {
        // https://groups.google.com/d/msg/golang-dev/Ss7mCKsvk8w/Gsq7VYI0AwAJ
--      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go", 
goroot_bootstrap), "install", "-gcflags=-l", "-v", "bootstrap/...")
-+      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go-6", 
goroot_bootstrap), "install", "-gcflags=-l", "-v", "bootstrap/...")
+       // Use the math_big_pure_go build tag to disable the assembly in 
math/big
+       // which may contain unsupported instructions.
+-      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go", 
goroot_bootstrap), "install", "-gcflags=-l", "-tags=math_big_pure_go", "-v", 
"bootstrap/cmd/...")
++      run(workspace, ShowOutput|CheckExit, pathf("%s/bin/go-7", 
goroot_bootstrap), "install", "-gcflags=-l", "-tags=math_big_pure_go", "-v", 
"bootstrap/cmd/...")
  
        // Copy binaries into tool binary directory.
        for _, name := range bootstrapDirs {
 diff --git a/src/make.bash b/src/make.bash
-index 1a1412a..1b2dfd4 100755
+index 84aaab56db..950f1bdfbe 100755
 --- a/src/make.bash
 +++ b/src/make.bash
-@@ -118,8 +118,8 @@ echo '##### Building Go bootstrap tool.'
+@@ -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-6" ]; then
-+      echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go-6." >&2
++if [ ! -x "$GOROOT_BOOTSTRAP/bin/go-7" ]; then
++      echo "ERROR: Cannot find $GOROOT_BOOTSTRAP/bin/go-7." >&2
        echo "Set \$GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4." >&2
        exit 1
  fi
-@@ -129,7 +129,7 @@ if [ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]; then
+@@ -131,7 +131,7 @@ if [ "$GOROOT_BOOTSTRAP" == "$GOROOT" ]; then
        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-6" 
build -o cmd/dist/dist ./cmd/dist
++GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go-7" 
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)
 diff --git a/src/make.rc b/src/make.rc
-index 243f83c..82bdd8d 100755
+index ba3554cd76..432e02559e 100755
 --- a/src/make.rc
 +++ b/src/make.rc
 @@ -46,13 +46,13 @@ echo cmd/dist
@@ -45,14 +54,14 @@
        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-6){
-+      echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go-6.' >[1=2]
++if(! test -x $GOROOT_BOOTSTRAP/bin/go-7){
++      echo 'ERROR: Cannot find '$GOROOT_BOOTSTRAP'/bin/go-7.' >[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-6 build 
-o cmd/dist/dist ./cmd/dist
++GOROOT=$GOROOT_BOOTSTRAP GOOS='' GOARCH='' $GOROOT_BOOTSTRAP/bin/go-7 build 
-o cmd/dist/dist ./cmd/dist
  
  eval `{./cmd/dist/dist env -9}
  echo

++++++ go.gdbinit ++++++
--- /var/tmp/diff_new_pack.VN72PN/_old  2017-06-09 15:55:41.778159718 +0200
+++ /var/tmp/diff_new_pack.VN72PN/_new  2017-06-09 15:55:41.778159718 +0200
@@ -1 +1 @@
-add-auto-load-safe-path /usr/lib/go/src/runtime/runtime-gdb.py
+add-auto-load-safe-path /usr/lib/go/$go_api/src/runtime/runtime-gdb.py

++++++ go.sh ++++++
--- /var/tmp/diff_new_pack.VN72PN/_old  2017-06-09 15:55:41.802156331 +0200
+++ /var/tmp/diff_new_pack.VN72PN/_new  2017-06-09 15:55:41.806155767 +0200
@@ -30,11 +30,11 @@
        libdir=lib64
        ;; 
 esac
-export GOROOT=/usr/$libdir/go
+export GOROOT=/usr/$libdir/go/$go_api
 export GOBIN=/usr/bin
-export GOPATH=/usr/share/go/contrib
+export GOPATH=/usr/share/go/$go_api/contrib
 
 if [ `id -u` != 0 ]; then
-  export GOPATH=$HOME/go:/usr/share/go/contrib
-  export GOBIN=$HOME/go/bin
+  export GOPATH=$HOME/go:/usr/share/go/$go_api/contrib
+  unset GOBIN
 fi

++++++ go1.7.src.tar.gz -> go1.8.3.src.tar.gz ++++++
/work/SRC/openSUSE:Factory/go/go1.7.src.tar.gz 
/work/SRC/openSUSE:Factory/.go.new/go1.8.3.src.tar.gz differ: char 6, line 1

++++++ runtime-bump-MaxGomaxprocs.patch ++++++
>From b75347d41a3771f8acab13a4dbd607254fdc5054 Mon Sep 17 00:00:00 2001
From: Aleksa Sarai <[email protected]>
Date: Tue, 14 Mar 2017 00:14:38 +1100
Subject: [PATCH] runtime: bump _MaxGomaxprocs to (1 << 10)

This is required so that we can run k8s and Docker on machines with
quite large numbers of CPUs. (1 << 10) should be big enough /for now/.

SUSE: Don't upstream this.

Ref: bsc#1028865
Ref: https://github.com/golang/go/issues/13908
Signed-off-by: Aleksa Sarai <[email protected]>
---
 src/runtime/runtime2.go | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go
index 2e886742b528..eec28ba74f11 100644
--- a/src/runtime/runtime2.go
+++ b/src/runtime/runtime2.go
@@ -504,7 +504,12 @@ type p struct {
 const (
        // The max value of GOMAXPROCS.
        // There are no fundamental restrictions on the value.
-       _MaxGomaxprocs = 1 << 8
+       //
+       // SUSE: We bump this up quite a bit so you can run Docker and k8s on
+       //       machines with massively more cores. Don't bump this value _too_
+       //       much because it determines the size of some runtime arrays 
(which
+       //       are used in scheduling, obviously).
+       _MaxGomaxprocs = 1 << 10
 )
 
 type schedt struct {
-- 
2.12.0


Reply via email to