[Buildroot] [git commit] package/cni-plugins: new package

Thomas Petazzoni thomas.petazzoni at bootlin.com
Mon Oct 31 10:39:35 UTC 2022


commit: https://git.buildroot.net/buildroot/commit/?id=d76655c86ecc8ce302490422e8d6a286857ef36c
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Container Networking Interface plugins.

https://github.com/containernetworking/plugins

Dependency of podman.

Signed-off-by: Christian Stewart <christian at paral.in>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 DEVELOPERS                           |  1 +
 package/Config.in                    |  1 +
 package/cni-plugins/Config.in        | 16 +++++++++++
 package/cni-plugins/cni-plugins.hash |  3 +++
 package/cni-plugins/cni-plugins.mk   | 51 ++++++++++++++++++++++++++++++++++++
 5 files changed, 72 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index 5939361ba8..64af4deb53 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -534,6 +534,7 @@ F:	package/python-pylibftdi/
 N:	Christian Stewart <christian at paral.in>
 F:	package/batman-adv/
 F:	package/catatonit/
+F:	package/cni-plugins/
 F:	package/containerd/
 F:	package/crun/
 F:	package/delve/
diff --git a/package/Config.in b/package/Config.in
index cbdaed2279..450a73d4ca 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1821,6 +1821,7 @@ menu "Networking"
 	source "package/bluez5_utils-headers/Config.in"
 	source "package/c-ares/Config.in"
 	source "package/cgic/Config.in"
+	source "package/cni-plugins/Config.in"
 	source "package/cppzmq/Config.in"
 	source "package/curlpp/Config.in"
 	source "package/czmq/Config.in"
diff --git a/package/cni-plugins/Config.in b/package/cni-plugins/Config.in
new file mode 100644
index 0000000000..e01cadc026
--- /dev/null
+++ b/package/cni-plugins/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_CNI_PLUGINS
+	bool "cni-plugins"
+	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 # no fexecve
+	depends on BR2_USE_MMU
+	help
+	  Container Networking Interface plugins.
+
+	  https://github.com/containernetworking/plugins
+
+comment "cni-plugins needs a glibc or musl toolchain w/ threads"
+	depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS && \
+		BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_UCLIBC
diff --git a/package/cni-plugins/cni-plugins.hash b/package/cni-plugins/cni-plugins.hash
new file mode 100644
index 0000000000..fc3b5a7ead
--- /dev/null
+++ b/package/cni-plugins/cni-plugins.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  c86c44877c47f69cd23611e22029ab26b613f620195b76b3ec20f589367a7962  cni-plugins-1.1.1.tar.gz
+sha256  b40930bbcf80744c86c46a12bc9da056641d722716c378f5659b9e555ef833e1  LICENSE
diff --git a/package/cni-plugins/cni-plugins.mk b/package/cni-plugins/cni-plugins.mk
new file mode 100644
index 0000000000..b30937095a
--- /dev/null
+++ b/package/cni-plugins/cni-plugins.mk
@@ -0,0 +1,51 @@
+################################################################################
+#
+# cni-plugins
+#
+################################################################################
+
+CNI_PLUGINS_VERSION = 1.1.1
+CNI_PLUGINS_SITE = $(call github,containernetworking,plugins,v$(CNI_PLUGINS_VERSION))
+CNI_PLUGINS_LICENSE = Apache-2.0
+CNI_PLUGINS_LICENSE_FILES = LICENSE
+
+CNI_PLUGINS_BUILD_TARGETS = \
+	plugins/ipam/dhcp \
+	plugins/main/bridge \
+	plugins/main/host-device \
+	plugins/main/ipvlan \
+	plugins/main/loopback \
+	plugins/main/macvlan \
+	plugins/main/ptp \
+	plugins/main/vlan \
+	plugins/meta/bandwidth \
+	plugins/meta/firewall \
+	plugins/meta/portmap \
+	plugins/meta/tuning \
+	plugins/meta/vrf
+CNI_PLUGINS_INSTALL_BINS = $(CNI_PLUGINS_BUILD_TARGETS)
+
+ifeq ($(BR2_PACKAGE_LIBAPPARMOR),y)
+CNI_PLUGINS_DEPENDENCIES += libapparmor
+CNI_PLUGINS_TAGS += apparmor
+endif
+
+ifeq ($(BR2_PACKAGE_LIBSECCOMP),y)
+CNI_PLUGINS_TAGS += seccomp
+CNI_PLUGINS_DEPENDENCIES += libseccomp host-pkgconf
+endif
+
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+CNI_PLUGINS_TAGS += selinux
+CNI_PLUGINS_DEPENDENCIES += libselinux
+endif
+
+define CNI_PLUGINS_INSTALL_TARGET_CMDS
+	$(INSTALL) -d -m 0755 $(TARGET_DIR)/opt/cni/bin
+	$(foreach d,$(CNI_PLUGINS_INSTALL_BINS),\
+		$(INSTALL) -D -m 0755 $(@D)/bin/$$(basename $(d)) \
+			$(TARGET_DIR)/opt/cni/bin
+	)
+endef
+
+$(eval $(golang-package))



More information about the buildroot mailing list