diff mbox series

[1/1] package/crun: support crun as runtime in containerd

Message ID 20221006140754.46144-1-tianyuanhao3@163.com
State Accepted
Headers show
Series [1/1] package/crun: support crun as runtime in containerd | expand

Commit Message

TIAN Yuanhao Oct. 6, 2022, 2:07 p.m. UTC
Create runc symlink to crun when runc is missing.

See: https://github.com/containerd/containerd/discussions/6162

Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>
---
 package/containerd/Config.in | 2 +-
 package/crun/crun.mk         | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

Comments

Christian Stewart Nov. 21, 2022, 3:08 p.m. UTC | #1
Hi all,

On Thu, Oct 6, 2022, 7:08 AM TIAN Yuanhao <tianyuanhao3@163.com> wrote:

> Create runc symlink to crun when runc is missing.
>
> See: https://github.com/containerd/containerd/discussions/6162
>
> Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>
> ---
>  package/containerd/Config.in | 2 +-
>  package/crun/crun.mk         | 7 +++++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/package/containerd/Config.in b/package/containerd/Config.in
> index 0e3a55ef39..e69dd6768a 100644
> --- a/package/containerd/Config.in
> +++ b/package/containerd/Config.in
> @@ -5,7 +5,7 @@ config BR2_PACKAGE_CONTAINERD
>         depends on BR2_TOOLCHAIN_HAS_THREADS
>         depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
>         depends on BR2_USE_MMU # util-linux
> -       select BR2_PACKAGE_RUNC # runtime dependency
> +       select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
>         select BR2_PACKAGE_UTIL_LINUX # runtime dependency
>         select BR2_PACKAGE_UTIL_LINUX_BINARIES
>         select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
> diff --git a/package/crun/crun.mk b/package/crun/crun.mk
> index 4a0c150594..19dda71a9f 100644
> --- a/package/crun/crun.mk
> +++ b/package/crun/crun.mk
> @@ -36,4 +36,11 @@ else
>  CRUN_CONF_OPTS += --disable-systemd
>  endif
>
> +ifeq ($(BR2_PACKAGE_RUNC),)
> +define CRUN_CREATE_SYMLINK
> +       ln -sf crun $(TARGET_DIR)/usr/bin/runc
> +endef
> +CRUN_POST_INSTALL_TARGET_HOOKS += CRUN_CREATE_SYMLINK
> +endif
> +
>  $(eval $(autotools-package))
> --
> 2.25.1
>

Reviewed-by: Christian Stewart <christian@paral.in>

Thanks!

>
>
TIAN Yuanhao Dec. 21, 2022, 1:23 a.m. UTC | #2
Hi all,




I hope this patch will be merged before 2023.02.



Thanks!
At 2022-10-06 22:07:54, "TIAN Yuanhao" <tianyuanhao3@163.com> wrote:
>Create runc symlink to crun when runc is missing.
>
>See: https://github.com/containerd/containerd/discussions/6162
>
>Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>
>---
> package/containerd/Config.in | 2 +-
> package/crun/crun.mk         | 7 +++++++
> 2 files changed, 8 insertions(+), 1 deletion(-)
>
>diff --git a/package/containerd/Config.in b/package/containerd/Config.in
>index 0e3a55ef39..e69dd6768a 100644
>--- a/package/containerd/Config.in
>+++ b/package/containerd/Config.in
>@@ -5,7 +5,7 @@ config BR2_PACKAGE_CONTAINERD
> 	depends on BR2_TOOLCHAIN_HAS_THREADS
> 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
> 	depends on BR2_USE_MMU # util-linux
>-	select BR2_PACKAGE_RUNC # runtime dependency
>+	select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
> 	select BR2_PACKAGE_UTIL_LINUX # runtime dependency
> 	select BR2_PACKAGE_UTIL_LINUX_BINARIES
> 	select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
>diff --git a/package/crun/crun.mk b/package/crun/crun.mk
>index 4a0c150594..19dda71a9f 100644
>--- a/package/crun/crun.mk
>+++ b/package/crun/crun.mk
>@@ -36,4 +36,11 @@ else
> CRUN_CONF_OPTS += --disable-systemd
> endif
> 
>+ifeq ($(BR2_PACKAGE_RUNC),)
>+define CRUN_CREATE_SYMLINK
>+	ln -sf crun $(TARGET_DIR)/usr/bin/runc
>+endef
>+CRUN_POST_INSTALL_TARGET_HOOKS += CRUN_CREATE_SYMLINK
>+endif
>+
> $(eval $(autotools-package))
>-- 
>2.25.1
Christian Stewart Jan. 8, 2023, 2:40 a.m. UTC | #3
Hi all,


On Thu, Oct 6, 2022 at 7:08 AM TIAN Yuanhao <tianyuanhao3@163.com> wrote:
>
> Create runc symlink to crun when runc is missing.
>
> See: https://github.com/containerd/containerd/discussions/6162
>
> Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>
> ---
>  package/containerd/Config.in | 2 +-
>  package/crun/crun.mk         | 7 +++++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/package/containerd/Config.in b/package/containerd/Config.in
> index 0e3a55ef39..e69dd6768a 100644
> --- a/package/containerd/Config.in
> +++ b/package/containerd/Config.in
> @@ -5,7 +5,7 @@ config BR2_PACKAGE_CONTAINERD
>         depends on BR2_TOOLCHAIN_HAS_THREADS
>         depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
>         depends on BR2_USE_MMU # util-linux
> -       select BR2_PACKAGE_RUNC # runtime dependency
> +       select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
>         select BR2_PACKAGE_UTIL_LINUX # runtime dependency
>         select BR2_PACKAGE_UTIL_LINUX_BINARIES
>         select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
> diff --git a/package/crun/crun.mk b/package/crun/crun.mk
> index 4a0c150594..19dda71a9f 100644
> --- a/package/crun/crun.mk
> +++ b/package/crun/crun.mk
> @@ -36,4 +36,11 @@ else
>  CRUN_CONF_OPTS += --disable-systemd
>  endif
>

This patch is still good, seems stalled though, can we merge?

Thanks!
Christian
Yann E. MORIN Jan. 8, 2023, 4:12 p.m. UTC | #4
Yuanhao, All,

On 2022-10-06 07:07 -0700, TIAN Yuanhao spake thusly:
> Create runc symlink to crun when runc is missing.

I've split this patch in two, as they are semantically separate:
 1. have crun impersonate runc if the latter is not enabled,
 2. do not force runc in containerd if crun is enabled

Indeed, one may very well want to use crun as an anternative to runc,
even without using containerd.

> See: https://github.com/containerd/containerd/discussions/6162
> 
> Signed-off-by: TIAN Yuanhao <tianyuanhao3@163.com>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  package/containerd/Config.in | 2 +-
>  package/crun/crun.mk         | 7 +++++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/package/containerd/Config.in b/package/containerd/Config.in
> index 0e3a55ef39..e69dd6768a 100644
> --- a/package/containerd/Config.in
> +++ b/package/containerd/Config.in
> @@ -5,7 +5,7 @@ config BR2_PACKAGE_CONTAINERD
>  	depends on BR2_TOOLCHAIN_HAS_THREADS
>  	depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
>  	depends on BR2_USE_MMU # util-linux
> -	select BR2_PACKAGE_RUNC # runtime dependency
> +	select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
>  	select BR2_PACKAGE_UTIL_LINUX # runtime dependency
>  	select BR2_PACKAGE_UTIL_LINUX_BINARIES
>  	select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
> diff --git a/package/crun/crun.mk b/package/crun/crun.mk
> index 4a0c150594..19dda71a9f 100644
> --- a/package/crun/crun.mk
> +++ b/package/crun/crun.mk
> @@ -36,4 +36,11 @@ else
>  CRUN_CONF_OPTS += --disable-systemd
>  endif
>  
> +ifeq ($(BR2_PACKAGE_RUNC),)
> +define CRUN_CREATE_SYMLINK
> +	ln -sf crun $(TARGET_DIR)/usr/bin/runc
> +endef
> +CRUN_POST_INSTALL_TARGET_HOOKS += CRUN_CREATE_SYMLINK
> +endif
> +
>  $(eval $(autotools-package))
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/package/containerd/Config.in b/package/containerd/Config.in
index 0e3a55ef39..e69dd6768a 100644
--- a/package/containerd/Config.in
+++ b/package/containerd/Config.in
@@ -5,7 +5,7 @@  config BR2_PACKAGE_CONTAINERD
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on !BR2_TOOLCHAIN_USES_UCLIBC # runc
 	depends on BR2_USE_MMU # util-linux
-	select BR2_PACKAGE_RUNC # runtime dependency
+	select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN # runtime dependency
 	select BR2_PACKAGE_UTIL_LINUX # runtime dependency
 	select BR2_PACKAGE_UTIL_LINUX_BINARIES
 	select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT
diff --git a/package/crun/crun.mk b/package/crun/crun.mk
index 4a0c150594..19dda71a9f 100644
--- a/package/crun/crun.mk
+++ b/package/crun/crun.mk
@@ -36,4 +36,11 @@  else
 CRUN_CONF_OPTS += --disable-systemd
 endif
 
+ifeq ($(BR2_PACKAGE_RUNC),)
+define CRUN_CREATE_SYMLINK
+	ln -sf crun $(TARGET_DIR)/usr/bin/runc
+endef
+CRUN_POST_INSTALL_TARGET_HOOKS += CRUN_CREATE_SYMLINK
+endif
+
 $(eval $(autotools-package))