meta-virtualization.lists.yoctoproject.org archive mirror
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@gmail.com>
To: Andrei Gherzan <andrei@gherzan.com>
Cc: meta-virtualization@lists.yoctoproject.org,
	Andrei Gherzan <andrei.gherzan@huawei.com>
Subject: Re: [meta-virtualization][PATCH 1/2] podman: Fix host contamination
Date: Tue, 5 Jul 2022 16:26:10 -0400	[thread overview]
Message-ID: <20220705202607.GA24762@gmail.com> (raw)
In-Reply-To: <20220705101750.1729143-1-andrei@gherzan.com>

merged.

I'll wait on the upstream-status changes for now, since I'll be
going through a refresh and will re-consider them then.

Bruce

In message: [meta-virtualization][PATCH 1/2] podman: Fix host contamination
on 05/07/2022 Andrei Gherzan wrote:

> From: Andrei Gherzan <andrei.gherzan@huawei.com>
> 
> The project's internal Makefile uses BUILDFLAGS variable to pass
> arguments to `go build` while Yocto/OE defines it as GOBUILDFLAGS. Add a
> patch to align this and avoid using host headers in which case, a musl
> build will fail similarly to:
> 
> | [...]ld: /tmp/go-link-3172010154/000015.o: in function `vfprintf':
> | /usr/include/x86_64-linux-gnu/bits/stdio2.h:130: undefined reference to `__vfprintf_chk'
> | [...]ld: /tmp/go-link-3172010154/000016.o: in function `fprintf':
> | /usr/include/x86_64-linux-gnu/bits/stdio2.h:100: undefined reference to `__fprintf_chk'
> | collect2: error: ld returned 1 exit status
> 
> Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
> ---
>  ...01-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch | 125 ++++++++++++++++++
>  recipes-containers/podman/podman_git.bb       |   1 +
>  2 files changed, 126 insertions(+)
>  create mode 100644 recipes-containers/podman/podman/0001-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch
> 
> diff --git a/recipes-containers/podman/podman/0001-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch b/recipes-containers/podman/podman/0001-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch
> new file mode 100644
> index 0000000..13a736e
> --- /dev/null
> +++ b/recipes-containers/podman/podman/0001-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch
> @@ -0,0 +1,125 @@
> +From 3e18f3a4db638a3df48f49aa0a539f8bb048afc9 Mon Sep 17 00:00:00 2001
> +From: Andrei Gherzan <andrei.gherzan@huawei.com>
> +Date: Tue, 5 Jul 2022 11:51:56 +0200
> +Subject: [PATCH] Rename BUILDFLAGS to GOBUILDFLAGS
> +
> +Yocto uses GOBUILDFLAGS to pass the right build flags while the Makefile
> +uses BUILDFLAGS. Align them accordingly.
> +
> +See go.bbclass for more information.
> +
> +Upstream-Status: Inappropriate [OE specific]
> +Signed-off-by: Andrei Gherzan <andrei.gherzan@huawei.com>
> +---
> + Makefile | 24 ++++++++++++------------
> + 1 file changed, 12 insertions(+), 12 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index cb230d8e9..538b28d41 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -69,7 +69,7 @@ PRE_COMMIT = $(shell command -v bin/venv/bin/pre-commit ~/.local/bin/pre-commit
> + # triggered.
> + SOURCES = $(shell find . -path './.*' -prune -o \( \( -name '*.go' -o -name '*.c' \) -a ! -name '*_test.go' \) -print)
> + 
> +-BUILDFLAGS := -mod=vendor $(BUILDFLAGS)
> ++GOBUILDFLAGS := -mod=vendor $(GOBUILDFLAGS)
> + 
> + BUILDTAGS_CROSS ?= containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper exclude_graphdriver_overlay
> + CONTAINER_RUNTIME := $(shell command -v podman 2> /dev/null || echo docker)
> +@@ -264,11 +264,11 @@ gofmt: ## Verify the source code gofmt
> + 
> + .PHONY: test/checkseccomp/checkseccomp
> + test/checkseccomp/checkseccomp: .gopathok $(wildcard test/checkseccomp/*.go)
> +-	$(GOCMD) build $(BUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS)" -o $@ ./test/checkseccomp
> ++	$(GOCMD) build $(GOBUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS)" -o $@ ./test/checkseccomp
> + 
> + .PHONY: test/testvol/testvol
> + test/testvol/testvol: .gopathok $(wildcard test/testvol/*.go)
> +-	$(GOCMD) build $(BUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -o $@ ./test/testvol
> ++	$(GOCMD) build $(GOBUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -o $@ ./test/testvol
> + 
> + .PHONY: volume-plugin-test-image
> + volume-plugin-test-img:
> +@@ -276,7 +276,7 @@ volume-plugin-test-img:
> + 
> + .PHONY: test/goecho/goecho
> + test/goecho/goecho: .gopathok $(wildcard test/goecho/*.go)
> +-	$(GOCMD) build $(BUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -o $@ ./test/goecho
> ++	$(GOCMD) build $(GOBUILDFLAGS) $(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' -o $@ ./test/goecho
> + 
> + test/version/version: .gopathok version/version.go
> + 	$(GO) build -o $@ ./test/version/
> +@@ -318,7 +318,7 @@ ifeq (,$(findstring systemd,$(BUILDTAGS)))
> + 		distro for journald support."
> + endif
> + 	$(GOCMD) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		$(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' \
> + 		-tags "$(BUILDTAGS)" \
> + 		-o $@ ./cmd/podman
> +@@ -329,14 +329,14 @@ $(SRCBINDIR):
> + 
> + $(SRCBINDIR)/podman$(BINSFX): $(SRCBINDIR) .gopathok $(SOURCES) go.mod go.sum
> + 	$(GOCMD) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		$(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' \
> + 		-tags "${REMOTETAGS}" \
> + 		-o $@ ./cmd/podman
> + 
> + $(SRCBINDIR)/podman-remote-static: $(SRCBINDIR) .gopathok $(SOURCES) go.mod go.sum
> + 	$(GOCMD) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		$(GO_LDFLAGS) '$(LDFLAGS_PODMAN_STATIC)' \
> + 		-tags "${REMOTETAGS}" \
> + 		-o $@ ./cmd/podman
> +@@ -371,7 +371,7 @@ podman-winpath: .gopathok $(SOURCES) go.mod go.sum
> + 	CGO_ENABLED=0 \
> + 		GOOS=windows \
> + 		$(GO) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		-ldflags -H=windowsgui \
> + 		-o bin/windows/winpath.exe \
> + 		./cmd/winpath
> +@@ -390,14 +390,14 @@ podman-mac-helper: ## Build podman-mac-helper for macOS
> + 		GOOS=darwin \
> + 		GOARCH=$(GOARCH) \
> + 		$(GO) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		-o bin/darwin/podman-mac-helper \
> + 		./cmd/podman-mac-helper
> + 
> + bin/rootlessport: .gopathok $(SOURCES) go.mod go.sum
> + 	CGO_ENABLED=$(CGO_ENABLED) \
> + 		$(GO) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		-o $@ ./cmd/rootlessport
> + 
> + .PHONY: rootlessport
> +@@ -420,7 +420,7 @@ bin/podman.cross.%: .gopathok
> + 	GOARCH="$${TARGET##*.}"; \
> + 	CGO_ENABLED=0 \
> + 		$(GO) build \
> +-		$(BUILDFLAGS) \
> ++		$(GOBUILDFLAGS) \
> + 		$(GO_LDFLAGS) '$(LDFLAGS_PODMAN)' \
> + 		-tags '$(BUILDTAGS_CROSS)' \
> + 		-o "$@" ./cmd/podman
> +@@ -864,7 +864,7 @@ install.tools: .install.goimports .install.gitvalidation .install.md2man .instal
> + .PHONY: .install.ginkgo
> + .install.ginkgo: .gopathok
> + 	if [ ! -x "$(GOBIN)/ginkgo" ]; then \
> +-		$(GO) install $(BUILDFLAGS) ./vendor/github.com/onsi/ginkgo/ginkgo ; \
> ++		$(GO) install $(GOBUILDFLAGS) ./vendor/github.com/onsi/ginkgo/ginkgo ; \
> + 	fi
> + 
> + .PHONY: .install.gitvalidation
> +-- 
> +2.25.1
> +
> diff --git a/recipes-containers/podman/podman_git.bb b/recipes-containers/podman/podman_git.bb
> index 913aea8..547bc4e 100644
> --- a/recipes-containers/podman/podman_git.bb
> +++ b/recipes-containers/podman/podman_git.bb
> @@ -20,6 +20,7 @@ DEPENDS = " \
>  SRCREV = "cedbbfa543651a13055a1fe093a4d0a2a28ccdfd"
>  SRC_URI = " \
>      git://github.com/containers/libpod.git;branch=v4.1;protocol=https \
> +    file://0001-Rename-BUILDFLAGS-to-GOBUILDFLAGS.patch;patchdir=src/import \
>  "
>  
>  LICENSE = "Apache-2.0"
> -- 
> 2.25.1
> 

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#7402): https://lists.yoctoproject.org/g/meta-virtualization/message/7402
> Mute This Topic: https://lists.yoctoproject.org/mt/92181862/1050810
> Group Owner: meta-virtualization+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub [bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



      parent reply	other threads:[~2022-07-05 20:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-05 10:17 [meta-virtualization][PATCH 1/2] podman: Fix host contamination Andrei Gherzan
2022-07-05 10:17 ` [meta-virtualization][PATCH 2/2] oci-image-tools: Add Upstream-Status to patch 0001 Andrei Gherzan
2022-07-05 20:26 ` Bruce Ashfield [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220705202607.GA24762@gmail.com \
    --to=bruce.ashfield@gmail.com \
    --cc=andrei.gherzan@huawei.com \
    --cc=andrei@gherzan.com \
    --cc=meta-virtualization@lists.yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).