Message ID | 20220311044816.3222673-1-christian@paral.in |
---|---|
State | Accepted |
Headers | show |
Series | [v3,1/1] package/nerdctl: new package | expand |
Hello, On Thu, 10 Mar 2022 20:48:16 -0800 Christian Stewart via buildroot <buildroot@buildroot.org> wrote: > nerdctl is a CLI for containerd (package docker-containerd) which is drop-in > compatible with the Docker Daemon CLI. > > This allows using the lighter weight containerd daemon directly, instead of via > the additional docker daemon. It also implements rootless mode. > > https://github.com/containerd/nerdctl > > Signed-off-by: Christian Stewart <christian@paral.in> I have finally applied this patch, with a number of changes. See below. > package/Config.in | 1 + > package/nerdctl/Config.in | 24 ++++++++++++++++++++++++ > package/nerdctl/nerdctl.hash | 3 +++ > package/nerdctl/nerdctl.mk | 20 ++++++++++++++++++++ Entry in DEVELOPERS file was missing. > diff --git a/package/nerdctl/Config.in b/package/nerdctl/Config.in > new file mode 100644 > index 0000000000..51a2919d9d > --- /dev/null > +++ b/package/nerdctl/Config.in > @@ -0,0 +1,24 @@ > +config BR2_PACKAGE_NERDCTL > + bool "nerdctl" > + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS > + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS > + depends on BR2_TOOLCHAIN_HAS_THREADS > + depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd > + depends on BR2_USE_MMU # util-linux > + select BR2_PACKAGE_CONTAINERD # containerd runtime dependency > + select BR2_PACKAGE_RUNC # containerd runtime dependency > + select BR2_PACKAGE_UTIL_LINUX # runtime dependency > + select BR2_PACKAGE_UTIL_LINUX_BINARIES # containerd > + select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT # containerd > + select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT # containerd > + select BR2_PACKAGE_UTIL_LINUX_MOUNT # containerd It seems you got confused here with the propagation of the select/depends on. You replicated all "selects" from containerd, but this is useless. selecting containerd is sufficient, as it will itself select runc and util-linux with all its sub-options. What needs to be replicated are the "depends on" of the things you are selecting. > diff --git a/package/nerdctl/nerdctl.hash b/package/nerdctl/nerdctl.hash > new file mode 100644 > index 0000000000..a31b12b26d > --- /dev/null > +++ b/package/nerdctl/nerdctl.hash > @@ -0,0 +1,3 @@ > +# Computed locally > +sha256 be41804ef139a3f92b774edc8439678e56b44033d7ab3fcf4389f0865c1fe069 nerdctl-0.17.1.tar.gz > +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE The hash of the license file was wrong. I checked, the license file is indeed Apache-2.0, so I don't know why you had a bogus hash here. Applied with those changes. Thanks again! Best regards, Thomas
diff --git a/package/Config.in b/package/Config.in index 0d5d763180..8f68c464db 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2554,6 +2554,7 @@ menu "System tools" source "package/monit/Config.in" source "package/multipath-tools/Config.in" source "package/ncdu/Config.in" + source "package/nerdctl/Config.in" source "package/netifrc/Config.in" source "package/numactl/Config.in" source "package/nut/Config.in" diff --git a/package/nerdctl/Config.in b/package/nerdctl/Config.in new file mode 100644 index 0000000000..51a2919d9d --- /dev/null +++ b/package/nerdctl/Config.in @@ -0,0 +1,24 @@ +config BR2_PACKAGE_NERDCTL + bool "nerdctl" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on !BR2_TOOLCHAIN_USES_UCLIBC # containerd + depends on BR2_USE_MMU # util-linux + select BR2_PACKAGE_CONTAINERD # containerd runtime dependency + select BR2_PACKAGE_RUNC # containerd runtime dependency + select BR2_PACKAGE_UTIL_LINUX # runtime dependency + select BR2_PACKAGE_UTIL_LINUX_BINARIES # containerd + select BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT # containerd + select BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT # containerd + select BR2_PACKAGE_UTIL_LINUX_MOUNT # containerd + help + Docker-compatible CLI for containerd, controlling runc. + + https://github.com/containerd/nerdctl + +comment "nerdctl needs a glibc or musl toolchain w/ threads" + depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS + depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC diff --git a/package/nerdctl/nerdctl.hash b/package/nerdctl/nerdctl.hash new file mode 100644 index 0000000000..a31b12b26d --- /dev/null +++ b/package/nerdctl/nerdctl.hash @@ -0,0 +1,3 @@ +# Computed locally +sha256 be41804ef139a3f92b774edc8439678e56b44033d7ab3fcf4389f0865c1fe069 nerdctl-0.17.1.tar.gz +sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/nerdctl/nerdctl.mk b/package/nerdctl/nerdctl.mk new file mode 100644 index 0000000000..3f3c04aa11 --- /dev/null +++ b/package/nerdctl/nerdctl.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# nerdctl +# +################################################################################ + +NERDCTL_VERSION = 0.17.1 +NERDCTL_SITE = $(call github,containerd,nerdctl,v$(NERDCTL_VERSION)) + +NERDCTL_LICENSE = Apache-2.0 +NERDCTL_LICENSE_FILES = LICENSE + +NERDCTL_GOMOD = github.com/containerd/nerdctl + +NERDCTL_LDFLAGS = \ + -X $(NERDCTL_GOMOD)/pkg/version.Version=$(NERDCTL_VERSION) + +NERDCTL_BUILD_TARGETS = cmd/nerdctl + +$(eval $(golang-package))