meta-virtualization/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch
Paul Barker 0aa5985622 netns: Update to v0.4.0
The netns project has been moved into the 'genuinetools' organisation and so
URLs have been updated. The copyright line in the license file has been updated
to reference "The Genuinetools Authors".

The patch name has been updated to make it more suitable for submission
upstream.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2018-05-09 10:49:25 -04:00

108 lines
4.1 KiB
Diff

From 6576f228339b7931e05a8e861f085f483817806b Mon Sep 17 00:00:00 2001
From: Paul Barker <pbarker@toganlabs.com>
Date: Tue, 8 May 2018 11:01:14 +0000
Subject: [PATCH] Allow selection of go compiler
By running `make GO=/path/to/go` we can now select the appropriate go compiler
to use. This also makes it possible to cross compile netns more easily.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Upstream-status: Pending
---
Makefile | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
index 3a22f3e..476cb9b 100644
--- a/src/import/Makefile
+++ b/src/import/Makefile
@@ -23,6 +23,9 @@ CTIMEVAR=-X $(PKG)/version.GITCOMMIT=$(GITCOMMIT) -X $(PKG)/version.VERSION=$(VE
GO_LDFLAGS=-ldflags "-w $(CTIMEVAR)"
GO_LDFLAGS_STATIC=-ldflags "-w $(CTIMEVAR) -extldflags -static"
+# Set our default go compiler
+GO := go
+
# List the GOOS and GOARCH to build
GOOSARCHES = linux/arm linux/arm64 linux/amd64 linux/386
@@ -33,12 +36,12 @@ build: $(NAME) ## Builds a dynamic executable or package
$(NAME): *.go VERSION.txt
@echo "+ $@"
- go build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
+ $(GO) build -tags "$(BUILDTAGS)" ${GO_LDFLAGS} -o $(NAME) .
.PHONY: static
static: ## Builds a static executable
@echo "+ $@"
- CGO_ENABLED=0 go build \
+ CGO_ENABLED=0 $(GO) build \
-tags "$(BUILDTAGS) static_build" \
${GO_LDFLAGS_STATIC} -o $(NAME) .
@@ -55,23 +58,23 @@ lint: ## Verifies `golint` passes
.PHONY: test
test: ## Runs the go tests
@echo "+ $@"
- @go test -v -tags "$(BUILDTAGS) cgo" $(shell go list ./... | grep -v vendor)
+ @$(GO) test -v -tags "$(BUILDTAGS) cgo" $(shell $(GO) list ./... | grep -v vendor)
.PHONY: vet
vet: ## Verifies `go vet` passes
@echo "+ $@"
- @go vet $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
+ @$(GO) vet $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
.PHONY: staticcheck
staticcheck: ## Verifies `staticcheck` passes
@echo "+ $@"
- @staticcheck $(shell go list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
+ @staticcheck $(shell $(GO) list ./... | grep -v vendor) | grep -v '.pb.go:' | tee /dev/stderr
.PHONY: cover
cover: ## Runs go test with coverage
@echo "" > coverage.txt
- @for d in $(shell go list ./... | grep -v vendor); do \
- go test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
+ @for d in $(shell $(GO) list ./... | grep -v vendor); do \
+ $(GO) test -race -coverprofile=profile.out -covermode=atomic "$$d"; \
if [ -f profile.out ]; then \
cat profile.out >> coverage.txt; \
rm profile.out; \
@@ -81,11 +84,11 @@ cover: ## Runs go test with coverage
.PHONY: install
install: ## Installs the executable or package
@echo "+ $@"
- go install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
+ $(GO) install -a -tags "$(BUILDTAGS)" ${GO_LDFLAGS} .
define buildpretty
mkdir -p $(BUILDDIR)/$(1)/$(2);
-GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
-o $(BUILDDIR)/$(1)/$(2)/$(NAME) \
-a -tags "$(BUILDTAGS) static_build netgo" \
-installsuffix netgo ${GO_LDFLAGS_STATIC} .;
@@ -99,7 +102,7 @@ cross: *.go VERSION.txt ## Builds the cross-compiled binaries, creating a clean
$(foreach GOOSARCH,$(GOOSARCHES), $(call buildpretty,$(subst /,,$(dir $(GOOSARCH))),$(notdir $(GOOSARCH))))
define buildrelease
-GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 go build \
+GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
-o $(BUILDDIR)/$(NAME)-$(1)-$(2) \
-a -tags "$(BUILDTAGS) static_build netgo" \
-installsuffix netgo ${GO_LDFLAGS_STATIC} .;
@@ -115,7 +118,7 @@ release: *.go VERSION.txt ## Builds the cross-compiled binaries, naming them in
.PHONY: bump-version
BUMP := patch
bump-version: ## Bump the version in the version file. Set BUMP to [ patch | major | minor ]
- @go get -u github.com/jessfraz/junk/sembump # update sembump tool
+ @$(GO) get -u github.com/jessfraz/junk/sembump # update sembump tool
$(eval NEW_VERSION = $(shell sembump --kind $(BUMP) $(VERSION)))
@echo "Bumping VERSION.txt from $(VERSION) to $(NEW_VERSION)"
echo $(NEW_VERSION) > VERSION.txt
--
2.7.4