summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaochen Tong2020-11-11 12:52:26 +0100
committerDavid Anderson2020-11-16 16:34:21 -0800
commit2e01ccf70e6eeeef85b1c5949e4ee4d6d92c5aa5 (patch)
tree34f57c7683f08e8bae6eef9c249799e691bf97a8
parent4e460db18ac675eceb8ae3a01d6f72c4e906a1b9 (diff)
downloadaur-2e01ccf70e6eeeef85b1c5949e4ee4d6d92c5aa5.tar.gz
Modify according to Go packaging guidelines
- vendor modules in prepare() - propagate *FLAGS - enable PIE - enable -trimpath for reproducibility - allow removing modcache
-rw-r--r--PKGBUILD35
1 files changed, 27 insertions, 8 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 14eaa34db800..0066bb79631f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,13 +15,32 @@ source=("$pkgname::git+http://github.com/tailscale/tailscale.git#tag=v$pkgver")
sha256sums=('SKIP')
install="tailscale.install"
+prepare() {
+ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+ cd "$srcdir/tailscale"
+ go mod vendor
+}
+
+build() {
+ export CGO_CPPFLAGS="${CPPFLAGS}"
+ export CGO_CFLAGS="${CFLAGS}"
+ export CGO_CXXFLAGS="${CXXFLAGS}"
+ export CGO_LDFLAGS="${LDFLAGS}"
+ export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
+ cd "$srcdir/tailscale"
+ eval "$(./version/version.sh)"
+ GO_LDFLAGS="\
+ -X tailscale.com/version.Long=${VERSION_LONG} \
+ -X tailscale.com/version.Short=${VERSION_SHORT} \
+ -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}"
+ go build -v -tags xversion -ldflags "$GO_LDFLAGS" ./cmd/tailscale
+ go build -v -tags xversion -ldflags "$GO_LDFLAGS" ./cmd/tailscaled
+}
+
package() {
- cd tailscale
- eval $(./version/version.sh)
- go build -tags xversion -ldflags "-X tailscale.com/version.Long=${VERSION_LONG} -X tailscale.com/version.Short=${VERSION_SHORT} -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}" ./cmd/tailscale
- go build -tags xversion -ldflags "-X tailscale.com/version.Long=${VERSION_LONG} -X tailscale.com/version.Short=${VERSION_SHORT} -X tailscale.com/version.GitCommit=${VERSION_GIT_HASH}" ./cmd/tailscaled
- mkdir -p "$pkgdir/usr/bin" "$pkgdir/etc/default" "$pkgdir/usr/lib/systemd/system"
- install -m755 tailscale tailscaled "$pkgdir/usr/bin"
- install -m644 cmd/tailscaled/tailscaled.defaults "$pkgdir/etc/default/tailscaled"
- install -m644 cmd/tailscaled/tailscaled.service "$pkgdir/usr/lib/systemd/system"
+ cd "$srcdir/tailscale"
+ install -Dm755 tailscale tailscaled -t "$pkgdir/usr/bin"
+ install -Dm644 cmd/tailscaled/tailscaled.defaults "$pkgdir/etc/default/tailscaled"
+ install -Dm644 cmd/tailscaled/tailscaled.service -t "$pkgdir/usr/lib/systemd/system"
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
}