~alpine/aports

community/go: update to go 1.6 v1 PROPOSED

Nathan Johnson: 1
 community/go: update to go 1.6

 3 files changed, 13 insertions(+), 74 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.alpinelinux.org/~alpine/aports/patches/2333/mbox | git am -3
Learn more about email & git

[alpine-aports] [PATCH] community/go: update to go 1.6 Export this patch

---
 community/go/APKBUILD                          | 28 ++++++-------
 community/go/default-sc-getpw-r-size-max.patch | 57 --------------------------
 community/go/no-pic.patch                      |  2 +-
 3 files changed, 13 insertions(+), 74 deletions(-)
 delete mode 100644 community/go/default-sc-getpw-r-size-max.patch

diff --git a/community/go/APKBUILD b/community/go/APKBUILD
index 7db7178..bdc53d5 100644
--- a/community/go/APKBUILD
+++ b/community/go/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Eivind Uggedal <eivind@uggedal.com>
pkgname=go
pkgver=1.5.3
pkgver=1.6
# This should be the latest commit on the corresponding release branch
_toolsver="d02228d1857b9f49cd0252788516ff5584266eb6"
_toolsver="c887be1b2ebd11663d4bf2fbca508c449172339e"
pkgrel=0
pkgdesc="Go programming language compiler"
url="http://www.golang.org/"
@@ -17,8 +17,7 @@ install=""
subpackages="$pkgname-doc $pkgname-tools $pkgname-cross"
source="http://golang.org/dl/go${pkgver}.src.tar.gz
	$pkgname-tools-$pkgver.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz
	no-pic.patch
	default-sc-getpw-r-size-max.patch"
	no-pic.patch"

# NOTE: building go for x86 with grsec kernel requires:
#           sysctl -w kernel.modify_ldt=1
@@ -136,15 +135,12 @@ cross() {
	done
}

md5sums="80a0eac7ab750b01b3f7096a1d4667b8  go1.5.3.src.tar.gz
c64b28ba5df8499bcc19adc995da991a  go-tools-1.5.3.tar.gz
b303cb36017c5f1303b1567b31b48de3  no-pic.patch
12a36502180b9801f8d9e60824563c92  default-sc-getpw-r-size-max.patch"
sha256sums="754e06dab1c31ab168fc9db9e32596734015ea9e24bc44cae7f237f417ce4efe  go1.5.3.src.tar.gz
80db6fc563df50eb924dbf4f96cef287fc6b89cc8b98595c1dac3c80a118f290  go-tools-1.5.3.tar.gz
973144c68d10cdc740501ad814841912bae7c3936480fabb3f7fe092ba82ba7f  no-pic.patch
70f8f9b3ad6b8639db2b401ae14747a6e8d762443ca054c358a5aa4815df7d1f  default-sc-getpw-r-size-max.patch"
sha512sums="b348832ea7cb095cf793960cf9f4da5e9f6ca8de7b5262bb819de97efea4835643e30a18efd4a82d01ea3854a1905af9e134271716c4b68c9d2a8f6e15f65ff0  go1.5.3.src.tar.gz
80813c2da74c7b25fa2cfd15b2505757e7f466469ac701cb22d190dc83a607f091c4dea207a2e371e53d7a1f5459e7b53e5eea53c95565e958a6eb7fcb212359  go-tools-1.5.3.tar.gz
e21084dc07a74c7b6437ae22034b62e3a255692d32dba767c15efdb123d3159c03a02437a41350e512eaa2478a7afbd8b409317a779c56ee4939512d060d57fa  no-pic.patch
d59c977341b9ab15664b4b0c4f3df9e74ce48ffbd59594a7abb5a0907469f9d362c4e558606dd4b7cd102c165dd53027bae6aa1c48623c2105461dcad4cee14d  default-sc-getpw-r-size-max.patch"
md5sums="e67833ea37fbc002fbe38efe6c1bcd98  go1.6.src.tar.gz
733a96b59562ed84ff552542f16a3ab3  go-tools-1.6.tar.gz
efa8ac40fa8429f7cd6f23eca05a0a0f  no-pic.patch"
sha256sums="a96cce8ce43a9bf9b2a4c7d470bc7ee0cb00410da815980681c8353218dcf146  go1.6.src.tar.gz
955e5a119babad356d9cf00cdaaf3c27648d4451109b467c872fad8cc94d5b56  go-tools-1.6.tar.gz
1eb60ded9035e9692e4c17b2bb6e9c073e21261eaafa56ee0528d5d2c43a936d  no-pic.patch"
sha512sums="59e9d72a80558fd5e3f176e068897a45333b36e35f6c00393647941a70e741168e65941b6059397378020c3b78ec3471a48809682f7efd97cf33eec6325fc3e8  go1.6.src.tar.gz
955def7cc3e5ceb5d8e47477400007d32c25f3bc2764f04a0451bd0235af507e63a0966d201a345f51ac764471da8620b5357d1099ec39e2422bd04d25fd71b8  go-tools-1.6.tar.gz
51e4c3ee0cda98090db5d00468072bcbf5f0a1a429dd8dedddccaa1467b285f724b012be96d329566b195470bea0aaf4b464e8ba6d2029b0dd42678a7a14b663  no-pic.patch"
diff --git a/community/go/default-sc-getpw-r-size-max.patch b/community/go/default-sc-getpw-r-size-max.patch
deleted file mode 100644
index 77be27d..0000000
--- a/community/go/default-sc-getpw-r-size-max.patch
@@ -1,57 +0,0 @@
From cb867d2fd64adc851f82be3c6eb6e38ec008930b Mon Sep 17 00:00:00 2001
From: Dominik Honnef <dominik@honnef.co>
Date: Sun, 21 Jun 2015 20:07:29 +0200
Subject: [PATCH] os/user: don't depend on _SC_GETPW_R_SIZE_MAX on Linux

Even Linux systems may not have _SC_GETPW_R_SIZE_MAX if using a
different libc than glibc (e.g. musl). Instead of having special-cases
for the BSDs, handle -1 correctly by always using a default buffer size.

Fixes #11319.

Change-Id: I8b1b260eb9830e6dbe7667f3f33d115ae4de4ce8
Reviewed-on: https://go-review.googlesource.com/13772
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
---
 src/os/user/lookup_unix.go | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/os/user/lookup_unix.go b/src/os/user/lookup_unix.go
index f4f603e..e8a1eb1 100644
--- a/src/os/user/lookup_unix.go
+++ b/src/os/user/lookup_unix.go
@@ -9,7 +9,6 @@ package user
 
 import (
 	"fmt"
-	"runtime"
 	"strconv"
 	"strings"
 	"syscall"
@@ -55,17 +54,15 @@ func lookupUnix(uid int, username string, lookupByName bool) (*User, error) {
 	var pwd C.struct_passwd
 	var result *C.struct_passwd
 
-	var bufSize C.long
-	if runtime.GOOS == "dragonfly" || runtime.GOOS == "freebsd" {
-		// DragonFly and FreeBSD do not have _SC_GETPW_R_SIZE_MAX
-		// and just return -1.  So just use the same
-		// size that Linux returns.
+	bufSize := C.sysconf(C._SC_GETPW_R_SIZE_MAX)
+	if bufSize == -1 {
+		// DragonFly and FreeBSD do not have _SC_GETPW_R_SIZE_MAX.
+		// Additionally, not all Linux systems have it, either. For
+		// example, the musl libc returns -1.
 		bufSize = 1024
-	} else {
-		bufSize = C.sysconf(C._SC_GETPW_R_SIZE_MAX)
-		if bufSize <= 0 || bufSize > 1<<20 {
-			return nil, fmt.Errorf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize)
-		}
+	}
+	if bufSize <= 0 || bufSize > 1<<20 {
+		return nil, fmt.Errorf("user: unreasonable _SC_GETPW_R_SIZE_MAX of %d", bufSize)
 	}
 	buf := C.malloc(C.size_t(bufSize))
 	defer C.free(buf)
diff --git a/community/go/no-pic.patch b/community/go/no-pic.patch
index 5a4e396..db1f809 100644
--- a/community/go/no-pic.patch
+++ b/community/go/no-pic.patch
@@ -2,7 +2,7 @@ diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 8ccbec9dd634..4e96bfadc260 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1071,6 +1071,11 @@ func hostlink() {
@@ -1194,6 +1194,11 @@ func hostlink() {
 		argv = append(argv, peimporteddlls()...)
 	}
 
-- 
2.6.4



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Hi,

I applied but reverted it. Seems it does not work properly on x86, but
the build fails. Perhaps go now needs pax marking on x86? Or it's
something else? Any ideas?

I also added Michael to cc as almost similar patch came from him.
Perhaps you can rework this together, or coordinate who looks at this?

Additionally, is there some difference in the 1.6 and 1.6.0 tarballs?

Thanks,
Timo

On Fri, 19 Feb 2016 22:39:25 +0000
Nathan Johnson <nathan@nathanjohnson.info> wrote: