merge branch 'pr-3099'

Kir Kolyshkin (1):
  script/release.sh: make builds reproducible

Kailun Qin (1):
  makefile: update ldflags and add strip for static builds

LGTMs: AkihiroSuda cyphar
Closes #3099
This commit is contained in:
Aleksa Sarai
2021-07-29 18:03:56 +10:00
2 changed files with 8 additions and 2 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ endif
GO_BUILD := $(GO) build -trimpath $(GO_BUILDMODE) $(EXTRA_FLAGS) -tags "$(BUILDTAGS)" \
-ldflags "-X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)"
GO_BUILD_STATIC := CGO_ENABLED=1 $(GO) build -trimpath $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo osusergo" \
-ldflags "-w -extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)"
-ldflags "-extldflags -static -X main.gitCommit=$(COMMIT) -X main.version=$(VERSION) $(EXTRA_LDFLAGS)"
.DEFAULT: runc
+7 -1
View File
@@ -43,11 +43,17 @@ function build_project() {
)
mv "$tarball"{,.asc} "$builddir"
# For reproducible builds, add these to EXTRA_LDFLAGS:
# -w to disable DWARF generation;
# -s to disable symbol table;
# -buildid= to remove variable build id.
local ldflags="-w -s -buildid="
# Add -a to go build flags to make sure it links against
# the provided libseccomp, not the system one (otherwise
# it can reuse cached pkg-config results).
make -C "$root" PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" COMMIT_NO= EXTRA_FLAGS="-a" static
make -C "$root" PKG_CONFIG_PATH="${prefix}/lib/pkgconfig" COMMIT_NO= EXTRA_FLAGS="-a" EXTRA_LDFLAGS="${ldflags}" static
rm -rf "$prefix"
strip "$root/$project"
mv "$root/$project" "$1"
}