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
