[meta-virtualization] [PATCH V2 2/2] runc: add PACKAGECONFIG to allow building as static or not
ChenQi
Qi.Chen at windriver.com
Mon Sep 9 03:14:09 PDT 2019
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 <Qi.Chen at windriver.com>
>> ---
>> ...-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 <Qi.Chen at windriver.com>
>> +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 <Qi.Chen at windriver.com>
>> +---
>> + 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 <bruce.ashfield at windriver.com>
>> -Date: Thu, 19 Apr 2018 16:39:41 -0400
>> -Subject: [PATCH] build: drop recvtty and use GOBUILDFLAGS
>> -
>> -Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
>> ----
>> - 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
More information about the meta-virtualization
mailing list