Skip to content

Commit 412ec74

Browse files
authored
Merge pull request #1270 from maximbaz/build-flags-security
Support system's LDFLAGS, make compilation reproducible
2 parents c10caa1 + b131eb9 commit 412ec74

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

Makefile

+6-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ VERSION_PACKAGE = $(REPOPATH)/pkg/skaffold/version
3636
COMMIT = $(shell git rev-parse HEAD)
3737
VERSION ?= $(shell git describe --always --tags --dirty)
3838

39+
GO_GCFLAGS := "all=-trimpath=${PWD}"
40+
GO_ASMFLAGS := "all=-trimpath=${PWD}"
41+
3942
GO_LDFLAGS :="
43+
GO_LDFLAGS += -extldflags \"${LDFLAGS}\"
4044
GO_LDFLAGS += -X $(VERSION_PACKAGE).version=$(VERSION)
4145
GO_LDFLAGS += -X $(VERSION_PACKAGE).buildDate=$(shell date +'%Y-%m-%dT%H:%M:%SZ')
4246
GO_LDFLAGS += -X $(VERSION_PACKAGE).gitCommit=$(COMMIT)
@@ -50,7 +54,7 @@ $(BUILD_DIR)/$(PROJECT): $(BUILD_DIR)/$(PROJECT)-$(GOOS)-$(GOARCH)
5054
cp $(BUILD_DIR)/$(PROJECT)-$(GOOS)-$(GOARCH) $@
5155

5256
$(BUILD_DIR)/$(PROJECT)-%-$(GOARCH): $(GO_FILES) $(BUILD_DIR)
53-
GOOS=$* GOARCH=$(GOARCH) CGO_ENABLED=0 go build -ldflags $(GO_LDFLAGS) -tags $(GO_BUILD_TAGS) -o $@ $(BUILD_PACKAGE)
57+
GOOS=$* GOARCH=$(GOARCH) CGO_ENABLED=0 go build -ldflags $(GO_LDFLAGS) -gcflags $(GO_GCFLAGS) -asmflags $(GO_ASMFLAGS) -tags $(GO_BUILD_TAGS) -o $@ $(BUILD_PACKAGE)
5458

5559
%.sha256: %
5660
shasum -a 256 $< > $@
@@ -76,7 +80,7 @@ test:
7680

7781
.PHONY: install
7882
install: $(GO_FILES) $(BUILD_DIR)
79-
GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go install -ldflags $(GO_LDFLAGS) -tags $(GO_BUILD_TAGS) $(BUILD_PACKAGE)
83+
GOOS=$(GOOS) GOARCH=$(GOARCH) CGO_ENABLED=0 go install -ldflags $(GO_LDFLAGS) -gcflags $(GO_GCFLAGS) -asmflags $(GO_ASMFLAGS) -tags $(GO_BUILD_TAGS) $(BUILD_PACKAGE)
8084

8185
.PHONY: integration
8286
integration: install $(BUILD_DIR)/$(PROJECT)

0 commit comments

Comments
 (0)