From 0fc82d3d0b8c718ac0bbfb72922cf8c72003c646 Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Mon, 29 Apr 2019 20:40:17 +0000 Subject: netns: Upgrade to v0.5.3 Drop obsolete patches and forward-port the remaining required patch. We also need to fix up permissions after the build so that we can clean the build directory without errors if needed. Signed-off-by: Paul Barker Signed-off-by: Bruce Ashfield --- .../0001-Allow-selection-of-go-compiler.patch | 107 --------------------- .../files/0001-Use-correct-go-cross-compiler.patch | 77 --------------- ...orce-rebuilding-all-packages-to-avoid-cgo.patch | 26 ++--- recipes-networking/netns/netns_git.bb | 11 ++- 4 files changed, 23 insertions(+), 198 deletions(-) delete mode 100644 recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch delete mode 100644 recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch diff --git a/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch b/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch deleted file mode 100644 index 84fb9a43..00000000 --- a/recipes-networking/netns/files/0001-Allow-selection-of-go-compiler.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 6576f228339b7931e05a8e861f085f483817806b Mon Sep 17 00:00:00 2001 -From: Paul Barker -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 -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 - diff --git a/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch b/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch deleted file mode 100644 index ed66e11b..00000000 --- a/recipes-networking/netns/files/0001-Use-correct-go-cross-compiler.patch +++ /dev/null @@ -1,77 +0,0 @@ -From d5c319bb61155d94bef2571a095d82983d786b94 Mon Sep 17 00:00:00 2001 -From: Paul Barker -Date: Fri, 13 Oct 2017 17:58:11 +0000 -Subject: [PATCH] Use correct go cross-compiler - -Signed-off-by: Paul Barker -Upstream-status: Pending ---- - Makefile | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/Makefile b/Makefile -index cb9a46d..633f884 100644 ---- a/src/import/Makefile -+++ b/src/import/Makefile -@@ -33,12 +33,12 @@ build: $(NAME) ## Builds a dynamic executable or package - - $(NAME): *.go VERSION - @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,21 +55,21 @@ 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: install - install: ## Installs the executable or package - @echo "+ $@" -- @go install . -+ @$(GO) install . - - 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} .; -@@ -83,7 +83,7 @@ cross: *.go VERSION ## Builds the cross-compiled binaries, creating a clean dire - $(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} .; -@@ -99,7 +99,7 @@ release: *.go VERSION ## Builds the cross-compiled binaries, naming them in such - .PHONY: bump-version - BUMP := patch - bump-version: ## Bump the version in the version file. Set KIND 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 from $(VERSION) to $(NEW_VERSION)" - echo $(NEW_VERSION) > VERSION --- -2.7.4 - diff --git a/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch b/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch index 3b0c0a46..3ed4c21e 100644 --- a/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch +++ b/recipes-networking/netns/files/Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch @@ -1,4 +1,4 @@ -From 09524d187ef108784c854a0c247ac6476a10bb67 Mon Sep 17 00:00:00 2001 +From fa402247e9b24470648a366cfda1c9134660146a Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Mon, 18 Mar 2019 14:04:16 -0400 Subject: [PATCH] Makefile: force rebuilding all packages to avoid cgo @@ -32,23 +32,27 @@ used. Upstream-Status: Inappropriate [only an issue with our builds] Signed-off-by: Mark Asselstine + +Forward-ported to v0.5.3. + +Signed-off-by: Paul Barker --- - Makefile | 2 +- + basic.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/Makefile b/Makefile -index 476cb9b..ecd0df4 100644 ---- a/src/import/Makefile -+++ b/src/import/Makefile -@@ -41,7 +41,7 @@ $(NAME): *.go VERSION.txt +diff --git a/basic.mk b/basic.mk +index 187dff3..fb080b7 100644 +--- a/src/import/basic.mk ++++ b/src/import/basic.mk +@@ -50,7 +50,7 @@ $(NAME): $(wildcard *.go) $(wildcard */*.go) VERSION.txt .PHONY: static - static: ## Builds a static executable + static: prebuild ## Builds a static executable. @echo "+ $@" -- CGO_ENABLED=0 $(GO) build \ -+ CGO_ENABLED=0 $(GO) build -a -pkgdir dontusecurrentpkgs \ +- CGO_ENABLED=$(CGO_ENABLED) $(GO) build \ ++ CGO_ENABLED=$(CGO_ENABLED) $(GO) build -a -pkgdir dontusecurrentpkgs \ -tags "$(BUILDTAGS) static_build" \ ${GO_LDFLAGS_STATIC} -o $(NAME) . -- -2.7.4 +2.17.1 diff --git a/recipes-networking/netns/netns_git.bb b/recipes-networking/netns/netns_git.bb index f5cdace0..da6aac21 100644 --- a/recipes-networking/netns/netns_git.bb +++ b/recipes-networking/netns/netns_git.bb @@ -4,11 +4,10 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://src/import/LICENSE;md5=48ef0979a2bcc3fae14ff30b8a7f5dbf" SRC_URI = "git://github.com/genuinetools/netns;branch=master \ - file://0001-Allow-selection-of-go-compiler.patch \ file://Makefile-force-rebuilding-all-packages-to-avoid-cgo.patch \ " -SRCREV = "0da6ab0997707024debe68c91e940c9168041bf8" -PV = "0.4.0" +SRCREV = "9b103a19b917cc3762a33b7d78244b1d5e45ccfd" +PV = "0.5.3" GO_IMPORT = "import" S = "${WORKDIR}/git" @@ -46,6 +45,12 @@ do_compile() { # Static builds work but are not recommended. See Makefile*cgo patch. #oe_runmake static oe_runmake build + + # Golang forces permissions to 0500 on directories and 0400 on files in + # the module cache which prevents us from easily cleaning up the build + # directory. Let's just fix the permissions here so we don't have to + # hack the clean tasks. + chmod -R u+w vendor/pkg/mod } do_install() { -- cgit v1.2.3-54-g00ecf