On 09/09/2019 05:35 PM, Stefan Agner wrote:
Hi Chen,

On 2019-08-07 03:14, Chen Qi wrote:
Add a new PACKAGECONFIG, static, which when enabled will build
runc as static. Default to enable it.

We need this because we should allow users to build runc as not
static so that when docker's cgroup driver is set to systemd,
we don't get error.
Do you happen to know why we use statically linked runc by default? It
seems that distros nowadays use statically linked version of it.

To some degree it seems that we overturn a distro decision here
(DISABLE_STATIC).

--
Stefan


Please refer to https://lists.yoctoproject.org/pipermail/meta-virtualization/2019-August/004338.html

Best Regards,
Chen Qi

Signed-off-by: Chen Qi <[email protected]>
---
  ...-GOBUILDFLAGS-for-runc-and-remove-re.patch | 35 +++++++++++++++++++
  ...ld-drop-recvtty-and-use-GOBUILDFLAGS.patch | 22 ------------
  recipes-containers/runc/runc-docker_git.bb    |  2 +-
  .../runc/runc-opencontainers_git.bb           |  1 +
  recipes-containers/runc/runc.inc              | 10 ++++--
  5 files changed, 45 insertions(+), 25 deletions(-)
  create mode 100644
recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch
  delete mode 100644
recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch

diff --git
a/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch
b/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch
new file mode 100644
index 0000000..94cbb4c
--- /dev/null
+++
b/recipes-containers/runc/files/0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch
@@ -0,0 +1,35 @@
+From d2c47a973f354ffd505bb4e809c59e57b543726d Mon Sep 17 00:00:00 2001
+From: Chen Qi <[email protected]>
+Date: Tue, 6 Aug 2019 19:01:45 +0800
+Subject: [PATCH] Makefile: respect GOBUILDFLAGS for runc and remove recvtty
+ from static
+
+Signed-off-by: Chen Qi <[email protected]>
+---
+ Makefile | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 0f26a1c8..a0c6b40b 100644
+--- a/src/import/Makefile
++++ b/src/import/Makefile
+@@ -30,7 +30,7 @@ SHELL := $(shell command -v bash 2>/dev/null)
+ .DEFAULT: runc
+
+ runc: $(SOURCES)
+-      $(GO) build -buildmode=pie $(EXTRA_FLAGS) -ldflags "-X
main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)"
-tags "$(BUILDTAGS)" -o runc .
++      $(GO) build $(GOBUILDFLAGS) $(EXTRA_FLAGS) -ldflags "-X
main.gitCommit=${COMMIT} -X main.version=${VERSION} $(EXTRA_LDFLAGS)"
-tags "$(BUILDTAGS)" -o runc .
+
+ all: runc recvtty
+
+@@ -41,7 +41,6 @@ contrib/cmd/recvtty/recvtty: $(SOURCES)
+
+ static: $(SOURCES)
+       CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo
osusergo static_build" -installsuffix netgo -ldflags "-w -extldflags
-static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}
$(EXTRA_LDFLAGS)" -o runc .
+-      CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo
osusergo static_build" -installsuffix netgo -ldflags "-w -extldflags
-static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}
$(EXTRA_LDFLAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty
+
+ release:
+       script/release.sh -r release/$(VERSION) -v $(VERSION)
+--
+2.17.1
+
diff --git
a/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch
b/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch
deleted file mode 100644
index 9ba9957..0000000
---
a/recipes-containers/runc/runc-docker/0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From a9a2b9e72027d0b2357f6dfe8b154762aaa8dd02 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <[email protected]>
-Date: Thu, 19 Apr 2018 16:39:41 -0400
-Subject: [PATCH] build: drop recvtty and use GOBUILDFLAGS
-
-Signed-off-by: Bruce Ashfield <[email protected]>
----
- Makefile | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-Index: git/src/import/Makefile
-===================================================================
---- git.orig/src/import/Makefile
-+++ git/src/import/Makefile
-@@ -41,7 +41,6 @@
-
- static: $(SOURCES)
-       CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo
osusergo static_build" -installsuffix netgo -ldflags "-w -extldflags
-static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}
$(EXTRA_LDFLAGS)" -o runc .
--      CGO_ENABLED=1 $(GO) build $(EXTRA_FLAGS) -tags "$(BUILDTAGS) netgo
osusergo static_build" -installsuffix netgo -ldflags "-w -extldflags
-static -X main.gitCommit=${COMMIT} -X main.version=${VERSION}
$(EXTRA_LDFLAGS)" -o contrib/cmd/recvtty/recvtty ./contrib/cmd/recvtty
-
- release:
-       script/release.sh -r release/$(VERSION) -v $(VERSION)
diff --git a/recipes-containers/runc/runc-docker_git.bb
b/recipes-containers/runc/runc-docker_git.bb
index 2bf6222..c9f460b 100644
--- a/recipes-containers/runc/runc-docker_git.bb
+++ b/recipes-containers/runc/runc-docker_git.bb
@@ -5,7 +5,7 @@ include runc.inc
  SRCREV_runc-docker = "425e105d5a03fabd737a126ad93d62a9eeede87f"
  SRC_URI = "git://github.com/opencontainers/runc;nobranch=1;name=runc-docker \
             file://0001-runc-Add-console-socket-dev-null.patch \
-           file://0001-build-drop-recvtty-and-use-GOBUILDFLAGS.patch \
+
file://0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch
\
             file://0001-runc-docker-SIGUSR1-daemonize.patch \
            "
diff --git a/recipes-containers/runc/runc-opencontainers_git.bb
b/recipes-containers/runc/runc-opencontainers_git.bb
index 76ab794..361bc94 100644
--- a/recipes-containers/runc/runc-opencontainers_git.bb
+++ b/recipes-containers/runc/runc-opencontainers_git.bb
@@ -3,5 +3,6 @@ include runc.inc
  SRCREV = "652297c7c7e6c94e8d064ad5916c32891a6fd388"
  SRC_URI = " \
      git://github.com/opencontainers/runc;branch=master \
+    file://0001-Makefile-respect-GOBUILDFLAGS-for-runc-and-remove-re.patch \
      "
  RUNC_VERSION = "1.0.0-rc8"
diff --git a/recipes-containers/runc/runc.inc b/recipes-containers/runc/runc.inc
index 46fd09d..41ea41b 100644
--- a/recipes-containers/runc/runc.inc
+++ b/recipes-containers/runc/runc.inc
@@ -14,8 +14,10 @@ inherit go
  inherit goarch
  inherit pkgconfig
-PACKAGECONFIG ??= ""
+PACKAGECONFIG ??= "static"
  PACKAGECONFIG[seccomp] = "seccomp,,libseccomp"
+# This PACKAGECONFIG serves the purpose of whether building runc as
static or not
+PACKAGECONFIG[static] = ""
PROVIDES += "virtual/runc"
  RPROVIDES_${PN} = "virtual/runc"
@@ -54,7 +56,11 @@ do_compile() {
        export CFLAGS=""
        export LDFLAGS=""
- oe_runmake static
+       if ${@bb.utils.contains('PACKAGECONFIG', 'static', 'true', 'false', 
d)}; then
+               oe_runmake static
+       else
+               oe_runmake runc
+       fi
  }
do_install() {
--
2.17.1


--
_______________________________________________
meta-virtualization mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-virtualization

Reply via email to