[Buildroot] [PATCH v2 5/6] package/nvidia-container-toolkit: new package

Christian Stewart christian at paral.in
Sat Aug 8 12:39:17 UTC 2020


NVIDIA Container Toolkit is a OCI-spec hook for support for mounting GPUs into
containers.

https://github.com/NVIDIA/nvidia-container-toolkit

Signed-off-by: Christian Stewart <christian at paral.in>

v2:

 - cjs: bump version from 1.2.0 -> 1.2.1

---
 package/Config.in                             |  1 +
 package/nvidia-container-toolkit/Config.in    | 18 +++++++++++
 .../nvidia-container-toolkit.hash             |  3 ++
 .../nvidia-container-toolkit.mk               | 30 +++++++++++++++++++
 4 files changed, 52 insertions(+)
 create mode 100644 package/nvidia-container-toolkit/Config.in
 create mode 100644 package/nvidia-container-toolkit/nvidia-container-toolkit.hash
 create mode 100644 package/nvidia-container-toolkit/nvidia-container-toolkit.mk

diff --git a/package/Config.in b/package/Config.in
index dd1c6e1395..dc2a68933a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2387,6 +2387,7 @@ menu "System tools"
 	source "package/numactl/Config.in"
 	source "package/nut/Config.in"
 	source "package/nvidia-container-runtime/Config.in"
+	source "package/nvidia-container-toolkit/Config.in"
 	source "package/openrc/Config.in"
 	source "package/openvmtools/Config.in"
 	source "package/pamtester/Config.in"
diff --git a/package/nvidia-container-toolkit/Config.in b/package/nvidia-container-toolkit/Config.in
new file mode 100644
index 0000000000..ff75b152a2
--- /dev/null
+++ b/package/nvidia-container-toolkit/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_NVIDIA_CONTAINER_TOOLKIT
+	bool "nvidia-container-toolkit"
+	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_GLIBC # fexecve
+	select BR2_PACKAGE_LIBNVIDIA_CONTAINER
+	select BR2_PACKAGE_NVIDIA_CONTAINER_RUNTIME
+	help
+	  NVIDIA Container Toolkit is a OCI-spec hook for
+	  support for mounting GPUs into containers.
+
+	  https://github.com/NVIDIA/nvidia-container-toolkit
+
+comment "nvidia-container-toolkit needs a glibc 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_TOOLCHAN_USES_GLIBC
diff --git a/package/nvidia-container-toolkit/nvidia-container-toolkit.hash b/package/nvidia-container-toolkit/nvidia-container-toolkit.hash
new file mode 100644
index 0000000000..6473e8bb81
--- /dev/null
+++ b/package/nvidia-container-toolkit/nvidia-container-toolkit.hash
@@ -0,0 +1,3 @@
+# Locally computed
+sha256  f386cba53b818e557583a18e7d84a6772d2eb1fa32778854557f7a210f44153e  nvidia-container-toolkit-1.2.1.tar.gz
+sha256  552a739c3b25792263f731542238b92f6f8d07e9a488eae27e6c4690038a8243  LICENSE
diff --git a/package/nvidia-container-toolkit/nvidia-container-toolkit.mk b/package/nvidia-container-toolkit/nvidia-container-toolkit.mk
new file mode 100644
index 0000000000..afc876119b
--- /dev/null
+++ b/package/nvidia-container-toolkit/nvidia-container-toolkit.mk
@@ -0,0 +1,30 @@
+################################################################################
+#
+# nvidia-container-toolkit
+#
+################################################################################
+
+NVIDIA_CONTAINER_TOOLKIT_VERSION = 1.2.1
+NVIDIA_CONTAINER_TOOLKIT_SITE = $(call github,NVIDIA,nvidia-container-toolkit,v$(NVIDIA_CONTAINER_TOOLKIT_VERSION))
+
+NVIDIA_CONTAINER_TOOLKIT_LICENSE = Apache-2.0
+NVIDIA_CONTAINER_TOOLKIT_LICENSE_FILES = LICENSE
+
+NVIDIA_CONTAINER_TOOLKIT_DEPENDENCIES = nvidia-container-runtime libnvidia-container
+
+NVIDIA_CONTAINER_TOOLKIT_BUILD_TARGETS = github.com/NVIDIA/container-toolkit/pkg
+NVIDIA_CONTAINER_TOOLKIT_BIN_NAME = nvidia-container-toolkit
+NVIDIA_CONTAINER_TOOLKIT_TAGS = cgo static_build
+
+define NVIDIA_CONTAINER_TOOLKIT_INSTALL_SUPPORT
+	ln -fs /usr/bin/$(NVIDIA_CONTAINER_TOOLKIT_BIN_NAME) \
+		$(TARGET_DIR)/usr/bin/nvidia-container-runtime-hook
+	$(INSTALL) -D -m 644 $(@D)/oci-nvidia-hook.json \
+		$(TARGET_DIR)/usr/share/containers/oci/hooks.d/oci-nvidia-hook.json
+	$(INSTALL) -D -m 755 $(@D)/oci-nvidia-hook \
+		$(TARGET_DIR)/usr/libexec/oci/hooks.d/oci-nvidia-hook
+endef
+
+NVIDIA_CONTAINER_TOOLKIT_POST_INSTALL_TARGET_HOOKS += NVIDIA_CONTAINER_TOOLKIT_INSTALL_SUPPORT
+
+$(eval $(golang-package))
-- 
2.28.0




More information about the buildroot mailing list