Mail archive
alpine-aports

[alpine-aports] [PATCH] main/go: verify integrity of tools subpackage

From: Sören Tempel <soeren+git_at_soeren-tempel.net>
Date: Fri, 14 Aug 2015 22:08:24 +0200

By downloading a tarball instead of cloning the git repository.
---
 main/go/APKBUILD | 39 ++++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/main/go/APKBUILD b/main/go/APKBUILD
index c9cc1e3..d875802 100644
--- a/main/go/APKBUILD
+++ b/main/go/APKBUILD
_at_@ -1,19 +1,24 @@
+# Contributor: Sören Tempel <soeren+alpine_at_soeren-tempel.net>
 # Maintainer: Eivind Uggedal <eivind_at_uggedal.com>
 pkgname=go
 pkgver=1.4.2
-pkgrel=0
+# This should be the latest commit on the corresponding release branch
+_toolsver="abf43428cc239218424c7a44dc9b5987cd351c3e"
+pkgrel=1
 pkgdesc="Go programming language compiler"
 url="http://www.golang.org/"
 arch="x86 x86_64 armhf"
 license="BSD"
 depends=""
 depends_dev=""
-makedepends="bash perl git"
+makedepends="bash perl"
 options="!strip"
 install=""
 subpackages="$pkgname-tools:tools"
 source="
 	http://golang.org/dl/go${pkgver}.src.tar.gz
+	tools.tar.gz::https://github.com/golang/tools/archive/${_toolsver}.tar.gz
+
 	no-werror.patch
 	no-pic.patch
 	no-longjmp-redefine.patch
_at_@ -22,8 +27,7 @@ source="
 	"
 
 _builddir="$srcdir"/$pkgname
-_toolrepo=golang.org/x/tools
-_tooltag=release-branch.go${pkgver%.*}
+_tooldir="$srcdir"/tools-${_toolsver}
 
 prepare() {
 	local i
_at_@ -52,26 +56,22 @@ build() {
 	export GOARCH
 
 	cd "$_builddir/src"
-
 	./make.bash || return 1
 
 	# FIXME: race and bench tests fail:
 	#PATH="$GOROOT/bin:$PATH" ./run.bash --no-rebuild --banner || return 1
 
-	# Build tools provided with the upstream binary distribution:
-	"$GOROOT"/bin/go get -d $_toolrepo/... || reteurn 1
-	(
-		cd "$srcdir"/src/$_toolrepo
-		git checkout -b $_tooltag origin/$_tooltag
-	) || return 1
-	local tool
+	mkdir -p "$GOPATH"/src/golang.org/x/tools
+	cp -r "$_tooldir"/* "$GOPATH"/src/golang.org/x/tools
+
+	local tool=
 	for tool in cover vet godoc; do
-		"$GOROOT"/bin/go install $_toolrepo/cmd/$tool
+		"$GOROOT"/bin/go install golang.org/x/tools/cmd/$tool
 	done
 }
 
 package() {
-	local f d
+	local f= d=
 	cd "$_builddir"
 
 	install -dm755 "$pkgdir"/usr/bin
_at_@ -83,7 +83,7 @@ package() {
 	cp -a pkg "$pkgdir"/usr/lib/go
 
 	# The source needs to be installed due to an upstream
-	# bug (http://code.google.com/p/go/issues/detail?id=2775).
+	# bug (https://github.com/golang/go/issues/2775).
 	# When this is resolved we can split out the source to a
 	# go-doc sub package.
 	install -dm755 "$pkgdir"/usr/lib/go/src
_at_@ -95,15 +95,13 @@ package() {
 }
 
 tools() {
-	local tool
-
 	pkgdesc="Go programming language tools"
 	depends="$pkgname"
 
 	install -Dm755 "$_builddir"/bin/godoc "$subpkgdir"/usr/bin/godoc
-
 	install -dm755 "$subpkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH
 
+	local tool=
 	for tool in cover vet; do
 		mv "$pkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH/$tool \
 			"$subpkgdir"/usr/lib/go/pkg/tool/linux_$GOARCH/$tool
_at_@ -113,24 +111,27 @@ tools() {
 	for tool in cover vet godoc; do
 		install -dm755 "$subpkgdir"/usr/lib/go/src/pkg/$tool
 		sed -e 's/^package main$/package documentation/' \
-			"$srcdir"/src/$_toolrepo/cmd/$tool/doc.go > \
+			"$srcdir"/src/golang.org/x/tools/cmd/$tool/doc.go > \
 			"$subpkgdir"/usr/lib/go/src/pkg/$tool/doc.go
 	done
 }
 
 md5sums="907f85c8fa765d31f7f955836fec4049  go1.4.2.src.tar.gz
+a8bc7ad3d0deff01bd45e4938cc3adb6  tools.tar.gz
 65330c61f6d6c881033b0a95ca228edb  no-werror.patch
 4391be88ce8bacdd7fee433b39635583  no-pic.patch
 93ad940db4a6d51e086f80755eaa8f53  no-longjmp-redefine.patch
 81ac9f3188df7a0c16c52cc4d8cc1ffa  fix-arm-hackery.patch
 fd4d1a7ccb5d37da4ff9c3a2d97aa976  default-sc-getpw-r-size-max.patch"
 sha256sums="299a6fd8f8adfdce15bc06bde926e7b252ae8e24dd5b16b7d8791ed79e7b5e9b  go1.4.2.src.tar.gz
+e754f0e28092f19d70e2c229023ef9b2d935e81ba886ece40e02803a83825f3d  tools.tar.gz
 65d38b9485da2ff9417a2c44a81b6e52cc9bd2727b27e7add10d48a63805d4a3  no-werror.patch
 86fc68a50bc4a9336a003239adf1dcc6d7cabfb9c1bcf09b0d53d09100ceff12  no-pic.patch
 084020e0eb6cb0aceee047bd5962872ed51dbb45465174018d108eb195c26605  no-longjmp-redefine.patch
 fced8436d9c32a43a5cc87f2243529e7a8209ba73a9afd4fd7733245bc55e4e3  fix-arm-hackery.patch
 3757d5f7c4e6d3b2fed4b01c7da6e3e8c0b7789333219ab10ec0b151fb163980  default-sc-getpw-r-size-max.patch"
 sha512sums="cda1a29d4418875dffaf3324004ddae8e1bbb573f7668e6e0c03d8b61284f4db7fca244c181f2859f8ccdd3db6391fb21e0d98a1a9fc15096c15883249d48a9c  go1.4.2.src.tar.gz
+1b4a6fb526029fe7f07a676cf2ee0b9e228e3b3b600e8607b04f129074892a85f39685257ffe25939478044ce1096ce053a283ef2b05465b4e6d8deb10da8e03  tools.tar.gz
 3cf139723e6ff0cbf7aaf76295fe4208f2062f2d4086e36d05cad83919217b5355e0e79b0b515a06a578389301bd07b062cb58b98fc0f9e4badf190cd1c34826  no-werror.patch
 a8e95c3c536a30e15b9bad5e623a085c521739639a58ac638679d99413a1bee8823729783123cbe4495ac42822df31f4776f0380a63786b9f4fc73190e012ae5  no-pic.patch
 3a9b665f8fda89729c4c269ea82f82ee515f0026d26f1d51e2cf84054456e394afc14875e7ed29280a12488907d50c70af313e2e4a5b62c328bbade098db9d4d  no-longjmp-redefine.patch
-- 
2.5.0
---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Fri Aug 14 2015 - 22:08:24 GMT