[meta-virtualization] [PATCH] netns: Upgrade to v0.5.3

paul at betafive.co.uk paul at betafive.co.uk
Mon Apr 29 13:40:17 PDT 2019


From: Paul Barker <paul at betafive.co.uk>

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 <paul at betafive.co.uk>
---
 .../0001-Allow-selection-of-go-compiler.patch | 107 ------------------
 .../0001-Use-correct-go-cross-compiler.patch  |  77 -------------
 ...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 84fb9a4..0000000
--- 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 <pbarker at 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 at 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
-
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 ed66e11..0000000
--- 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 <pbarker at toganlabs.com>
-Date: Fri, 13 Oct 2017 17:58:11 +0000
-Subject: [PATCH] Use correct go cross-compiler
-
-Signed-off-by: Paul Barker <pbarker at toganlabs.com>
-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 3b0c0a4..3ed4c21 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 <mark.asselstine at windriver.com>
 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 <mark.asselstine at windriver.com>
+
+Forward-ported to v0.5.3.
+
+Signed-off-by: Paul Barker <paul at betafive.co.uk>
 ---
- 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 f5cdace..da6aac2 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() {
-- 
2.17.1



More information about the meta-virtualization mailing list