79 lines
3.9 KiB
Plaintext
79 lines
3.9 KiB
Plaintext
# Contributor: Stefan Reimer <stefan@zero-downtime.net>
|
|
# Maintainer: Stefan Reimer <stefan@zero-downtime.net>
|
|
pkgname=nvidia-container-toolkit
|
|
pkgver=1.10.0
|
|
pkgrel=1
|
|
pkgdesc="NVIDIA Container toolkit incl. cri hooks"
|
|
url="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/overview.html"
|
|
arch="x86_64"
|
|
license="Apache"
|
|
makedepends="xz"
|
|
depends="glibc-bin nvidia-drivers"
|
|
options="!check !tracedeps"
|
|
|
|
_nv_ver="$pkgver"-1
|
|
_libcap=2.25-2
|
|
_libseccomp=2.3.3-4
|
|
|
|
source="https://nvidia.github.io/libnvidia-container/stable/debian10/amd64/libnvidia-container1_"$_nv_ver"_amd64.deb
|
|
https://nvidia.github.io/libnvidia-container/stable/debian10/amd64/libnvidia-container-tools_"$_nv_ver"_amd64.deb
|
|
https://nvidia.github.io/libnvidia-container/stable/debian10/amd64/nvidia-container-toolkit_"$_nv_ver"_amd64.deb
|
|
http://deb.debian.org/debian/pool/main/libc/libcap2/libcap2_"$_libcap"_amd64.deb
|
|
http://deb.debian.org/debian/pool/main/libs/libseccomp/libseccomp2_"$_libseccomp"_amd64.deb
|
|
config.toml
|
|
oci-nvidia-hook.json
|
|
"
|
|
|
|
build() {
|
|
return 0
|
|
}
|
|
|
|
package() {
|
|
mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/glibc-compat/lib/nvidia
|
|
|
|
# libnvidia-container1
|
|
ar -x "$srcdir"/libnvidia-container1_"$_nv_ver"_amd64.deb && tar xfJ data.tar.xz
|
|
mv usr/lib/x86_64-linux-gnu/* "$pkgdir"/usr/glibc-compat/lib/nvidia
|
|
rm -rf control.tar.xz data.tar.xz debian-binary usr
|
|
|
|
# libnvidia-container-tools
|
|
ar -x "$srcdir"/libnvidia-container-tools_"$_nv_ver"_amd64.deb && tar xfJ data.tar.xz
|
|
mv usr/bin/nvidia-container-cli "$pkgdir"/usr/bin
|
|
rm -rf control.tar.xz data.tar.xz debian-binary usr
|
|
|
|
# nvidia-container-toolkit
|
|
ar -x "$srcdir"/nvidia-container-toolkit_"$_nv_ver"_amd64.deb && tar xfJ data.tar.xz
|
|
mv usr/bin/nvidia* "$pkgdir"/usr/bin
|
|
rm -rf control.tar.xz data.tar.xz debian-binary usr
|
|
|
|
# Add dependencies which also need to be compiled against glibc: libcap, libseccomp
|
|
# libcap
|
|
ar -x "$srcdir"/libcap2_"$_libcap"_amd64.deb && tar xfJ data.tar.xz
|
|
mv lib/x86_64-linux-gnu/libcap.so.* "$pkgdir"/usr/glibc-compat/lib
|
|
rm -rf control.tar.xz data.tar.xz debian-binary usr
|
|
|
|
# libseccomp
|
|
ar -x "$srcdir"/libseccomp2_"$_libseccomp"_amd64.deb && tar xfJ data.tar.xz
|
|
mv usr/lib/x86_64-linux-gnu/libseccomp.so.* "$pkgdir"/usr/glibc-compat/lib
|
|
rm -rf control.tar.xz data.tar.xz debian-binary usr
|
|
|
|
# Now lets patch the elf binaries to fix library paths and order
|
|
doas apk add patchelf@edge-community
|
|
patchelf --remove-rpath "$pkgdir"/usr/bin/nvidia-container-cli
|
|
patchelf --remove-rpath "$pkgdir"/usr/glibc-compat/lib/nvidia/libnvidia-container.so.1
|
|
|
|
# Install our runtime config and oci hook
|
|
install -Dm644 "$srcdir"/oci-nvidia-hook.json "$pkgdir"/usr/share/containers/oci/hooks.d/oci-nvidia-hook.json
|
|
install -Dm644 config.toml "$pkgdir"/etc/nvidia-container-runtime/config.toml
|
|
}
|
|
|
|
sha512sums='
|
|
23ba2aec28f01c0037bbb4812ea542589e96f6527cf49468a4a7c54ca05808cf0984a8dfe13ee3455b8c6ae8468c58590f9e1e6996927c710bcf3e545772a356 libnvidia-container1_1.10.0-1_amd64.deb
|
|
c5369c832bd91703e6e6e86a4431c2eebb2ddeaadff126174b41ed11e969dc8cc49dcab26b3ac18abb43b466a86ce76908eaa2f5e4109c689a0c3a4fa47548b5 libnvidia-container-tools_1.10.0-1_amd64.deb
|
|
3043729bd96dd153db1dc317685167f34da6b9d202134335212fb7d861532a265a59e002c86fff2664c67687f4c8bcc75913c74018930a6c68c0f2044eceacf0 nvidia-container-toolkit_1.10.0-1_amd64.deb
|
|
694a3ec64ef3056d5874ff03b889b868c294bccb16506468fdf1c289fe3aaadc2da25a5934de653af9633a5d993d2bb21491d84b3b2e2529e6b31d92c78a2228 libcap2_2.25-2_amd64.deb
|
|
5a4eaa96e6e774948889909d618a8ed44a82f649cbba11622dc7b4478098bea006995d5a5a60ca026a57b76ad866d1e2c6caebd154a26eb6bd7e15291b558057 libseccomp2_2.3.3-4_amd64.deb
|
|
040ac2e3f58549dc09e5bce0d694e4be2f6aae736014bf0ee90042646562d5f1ef1f5990eb9f2c2a2fdf504587b82f4aa0eb99d04c5d3e407670e4012e3edd4e config.toml
|
|
fe02a2749c18876eda344764026c0cabae1134cd9504d92e877000c000c99783ee7d3af16e1981c85a4e7bad0951060b88028d0576aa17bfae7d241838b86fb6 oci-nvidia-hook.json
|
|
'
|