From de48a5ac9c9c814c5870d9a52c2ff55607a8b1fa Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Mon, 29 May 2017 23:27:25 +0200 Subject: [PATCH] build.go: Strip temporary path, allow reproducible builds --- build.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/build.go b/build.go index adf188f38..b6fd2ad8d 100644 --- a/build.go +++ b/build.go @@ -195,8 +195,11 @@ func cleanEnv() (env []string) { // build runs "go build args..." with GOPATH set to gopath. func build(cwd, goos, goarch, gopath string, args ...string) error { - args = append([]string{"build"}, args...) - cmd := exec.Command("go", args...) + a := []string{"build"} + a = append(a, "-asmflags", fmt.Sprintf("-trimpath=%s", gopath)) + a = append(a, "-gcflags", fmt.Sprintf("-trimpath=%s", gopath)) + a = append(a, args...) + cmd := exec.Command("go", a...) cmd.Env = append(cleanEnv(), "GOPATH="+gopath, "GOARCH="+goarch, "GOOS="+goos) if !enableCGO { cmd.Env = append(cmd.Env, "CGO_ENABLED=0")