| From c0b8b443576b8a369870e425262c456e1c3a58c5 Mon Sep 17 00:00:00 2001 |
| From: Robert Kolchmeyer <rkolchmeyer@google.com> |
| Date: Wed, 1 Jul 2020 13:56:06 -0700 |
| Subject: [PATCH 1/2] Read the Go tool to use from the environment. |
| |
| We need to pass in the ChromeOS cross compiler. |
| --- |
| Makefile | 42 +++++++++++++++++++++--------------------- |
| 1 file changed, 21 insertions(+), 21 deletions(-) |
| |
| diff --git a/Makefile b/Makefile |
| index f2592adf..9febd026 100644 |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -25,9 +25,9 @@ REVISION=$(shell git rev-parse HEAD)$(shell if ! git diff --no-ext-diff --quiet |
| PACKAGE=github.com/containerd/containerd |
| SHIM_CGO_ENABLED ?= 0 |
| |
| -ifneq "$(strip $(shell command -v go 2>/dev/null))" "" |
| - GOOS ?= $(shell go env GOOS) |
| - GOARCH ?= $(shell go env GOARCH) |
| +ifneq "$(strip $(shell command -v ${GO} 2>/dev/null))" "" |
| + GOOS ?= $(shell ${GO} env GOOS) |
| + GOARCH ?= $(shell ${GO} env GOARCH) |
| else |
| ifeq ($(GOOS),) |
| # approximate GOOS for the platform if we don't have Go and GOOS isn't |
| @@ -69,7 +69,7 @@ RELEASE=containerd-$(VERSION:v%=%).${GOOS}-${GOARCH} |
| PKG=github.com/containerd/containerd |
| |
| # Project packages. |
| -PACKAGES=$(shell go list ./... | grep -v /vendor/) |
| +PACKAGES=$(shell ${GO} list ./... | grep -v /vendor/) |
| INTEGRATION_PACKAGE=${PKG} |
| TEST_REQUIRES_ROOT_PACKAGES=$(filter \ |
| ${PACKAGES}, \ |
| @@ -136,7 +136,7 @@ AUTHORS: .mailmap .git/HEAD |
| |
| generate: protos |
| @echo "$(WHALE) $@" |
| - @PATH="${ROOTDIR}/bin:${PATH}" go generate -x ${PACKAGES} |
| + @PATH="${ROOTDIR}/bin:${PATH}" ${GO} generate -x ${PACKAGES} |
| |
| protos: bin/protoc-gen-gogoctrd ## generate protobuf |
| @echo "$(WHALE) $@" |
| @@ -161,31 +161,31 @@ proto-fmt: ## check format of proto files |
| @test -z "$$(find . -path ./vendor -prune -o -name '*.proto' -type f -exec grep -Hn "Meta meta = " {} \; | grep -v '(gogoproto.nullable) = false' | tee /dev/stderr)" || \ |
| (echo "$(ONI) meta fields in proto files must have option (gogoproto.nullable) = false" && false) |
| |
| -build: ## build the go packages |
| +build: ## build the ${GO} packages |
| @echo "$(WHALE) $@" |
| - @go build ${DEBUG_GO_GCFLAGS} ${GO_GCFLAGS} ${GO_BUILD_FLAGS} ${EXTRA_FLAGS} ${GO_LDFLAGS} ${PACKAGES} |
| + @${GO} build ${DEBUG_GO_GCFLAGS} ${GO_GCFLAGS} ${GO_BUILD_FLAGS} ${EXTRA_FLAGS} ${GO_LDFLAGS} ${PACKAGES} |
| |
| test: ## run tests, except integration tests and tests that require root |
| @echo "$(WHALE) $@" |
| - @go test ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) |
| + @${GO} test ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) |
| |
| root-test: ## run tests, except integration tests |
| @echo "$(WHALE) $@" |
| - @go test ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${TEST_REQUIRES_ROOT_PACKAGES}) -test.root |
| + @${GO} test ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${TEST_REQUIRES_ROOT_PACKAGES}) -test.root |
| |
| integration: ## run integration tests |
| @echo "$(WHALE) $@" |
| - @go test ${TESTFLAGS} -test.root -parallel ${TESTFLAGS_PARALLEL} |
| + @${GO} test ${TESTFLAGS} -test.root -parallel ${TESTFLAGS_PARALLEL} |
| |
| benchmark: ## run benchmarks tests |
| @echo "$(WHALE) $@" |
| - @go test ${TESTFLAGS} -bench . -run Benchmark -test.root |
| + @${GO} test ${TESTFLAGS} -bench . -run Benchmark -test.root |
| |
| FORCE: |
| |
| define BUILD_BINARY = |
| @echo "$(WHALE) $@" |
| -@go build ${DEBUG_GO_GCFLAGS} ${GO_GCFLAGS} ${GO_BUILD_FLAGS} -o $@ ${GO_LDFLAGS} ${GO_TAGS} ./$< |
| +@${GO} build ${DEBUG_GO_GCFLAGS} ${GO_GCFLAGS} ${GO_BUILD_FLAGS} -o $@ ${GO_LDFLAGS} ${GO_TAGS} ./$< |
| endef |
| |
| # Build a binary from a cmd. |
| @@ -194,15 +194,15 @@ bin/%: cmd/% FORCE |
| |
| bin/containerd-shim: cmd/containerd-shim FORCE # set !cgo and omit pie for a static shim build: https://github.com/golang/go/issues/17789#issuecomment-258542220 |
| @echo "$(WHALE) bin/containerd-shim" |
| - @CGO_ENABLED=${SHIM_CGO_ENABLED} go build ${GO_BUILD_FLAGS} -o bin/containerd-shim ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim |
| + @CGO_ENABLED=${SHIM_CGO_ENABLED} ${GO} build ${GO_BUILD_FLAGS} -o bin/containerd-shim ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim |
| |
| bin/containerd-shim-runc-v1: cmd/containerd-shim-runc-v1 FORCE # set !cgo and omit pie for a static shim build: https://github.com/golang/go/issues/17789#issuecomment-258542220 |
| @echo "$(WHALE) bin/containerd-shim-runc-v1" |
| - @CGO_ENABLED=${SHIM_CGO_ENABLED} go build ${GO_BUILD_FLAGS} -o bin/containerd-shim-runc-v1 ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim-runc-v1 |
| + @CGO_ENABLED=${SHIM_CGO_ENABLED} ${GO} build ${GO_BUILD_FLAGS} -o bin/containerd-shim-runc-v1 ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim-runc-v1 |
| |
| bin/containerd-shim-runc-v2: cmd/containerd-shim-runc-v2 FORCE # set !cgo and omit pie for a static shim build: https://github.com/golang/go/issues/17789#issuecomment-258542220 |
| @echo "$(WHALE) bin/containerd-shim-runc-v2" |
| - @CGO_ENABLED=${SHIM_CGO_ENABLED} go build ${GO_BUILD_FLAGS} -o bin/containerd-shim-runc-v2 ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim-runc-v2 |
| + @CGO_ENABLED=${SHIM_CGO_ENABLED} ${GO} build ${GO_BUILD_FLAGS} -o bin/containerd-shim-runc-v2 ${SHIM_GO_LDFLAGS} ${GO_TAGS} ./cmd/containerd-shim-runc-v2 |
| |
| binaries: $(BINARIES) ## build binaries |
| @echo "$(WHALE) $@" |
| @@ -218,11 +218,11 @@ genman: man/containerd.8 man/ctr.8 |
| |
| man/containerd.8: FORCE |
| @echo "$(WHALE) $@" |
| - go run cmd/gen-manpages/main.go $(@F) $(@D) |
| + ${GO} run cmd/gen-manpages/main.go $(@F) $(@D) |
| |
| man/ctr.8: FORCE |
| @echo "$(WHALE) $@" |
| - go run cmd/gen-manpages/main.go $(@F) $(@D) |
| + ${GO} run cmd/gen-manpages/main.go $(@F) $(@D) |
| |
| man/%: docs/man/%.md FORCE |
| @echo "$(WHALE) $@" |
| @@ -284,9 +284,9 @@ uninstall: |
| coverage: ## generate coverprofiles from the unit tests, except tests that require root |
| @echo "$(WHALE) $@" |
| @rm -f coverage.txt |
| - @go test -i ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) 2> /dev/null |
| + @${GO} test -i ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}) 2> /dev/null |
| @( for pkg in $(filter-out ${INTEGRATION_PACKAGE},${PACKAGES}); do \ |
| - go test ${TESTFLAGS} \ |
| + ${GO} test ${TESTFLAGS} \ |
| -cover \ |
| -coverprofile=profile.out \ |
| -covermode=atomic $$pkg || exit; \ |
| @@ -298,9 +298,9 @@ coverage: ## generate coverprofiles from the unit tests, except tests that requi |
| |
| root-coverage: ## generate coverage profiles for unit tests that require root |
| @echo "$(WHALE) $@" |
| - @go test -i ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${TEST_REQUIRES_ROOT_PACKAGES}) 2> /dev/null |
| + @${GO} test -i ${TESTFLAGS} $(filter-out ${INTEGRATION_PACKAGE},${TEST_REQUIRES_ROOT_PACKAGES}) 2> /dev/null |
| @( for pkg in $(filter-out ${INTEGRATION_PACKAGE},${TEST_REQUIRES_ROOT_PACKAGES}); do \ |
| - go test ${TESTFLAGS} \ |
| + ${GO} test ${TESTFLAGS} \ |
| -cover \ |
| -coverprofile=profile.out \ |
| -covermode=atomic $$pkg -test.root || exit; \ |
| -- |
| 2.27.0.212.ge8ba1cc988-goog |
| |