diff --git a/nvidia-container-toolkit-1.13.1.tar.gz b/nvidia-container-toolkit-1.13.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..6b5a2784892cb3d4a258cd4c07d078fd3fccad08 Binary files /dev/null and b/nvidia-container-toolkit-1.13.1.tar.gz differ diff --git a/nvidia-container-toolkit.spec b/nvidia-container-toolkit.spec new file mode 100644 index 0000000000000000000000000000000000000000..e4042b9b6f2ff1b580ec49a822d259a4058bb9a8 --- /dev/null +++ b/nvidia-container-toolkit.spec @@ -0,0 +1,122 @@ +%define project github.com/NVIDIA/nvidia-container-toolkit +%define debug_package %{nil} +Name: nvidia-container-toolkit +Version: 1.13.1 +Release: 1%{?dist} +Summary: NVIDIA Container Toolkit + +License: Apache-2.0 +URL: https://github.com/NVIDIA/nvidia-container-toolkit +Source0: nvidia-container-toolkit-1.13.1.tar.gz + +BuildRequires: golang +BuildRequires: golang-github-cpuguy83-md2man +Requires: libnvidia-container-tools +Requires: nvidia-container-toolkit-base = %{version}-%{release} +Requires: libseccomp +Provides: nvidia-container-runtime = %{version} +Provides: nvidia-container-runtime +Provides: nvidia-container-runtime-hook + +%description +Provides tools and utilities to enable GPU support in containers. + +%package base +Summary: NVIDIA Container Toolkit Base +Provides: nvidia-container-runtime + +%description base +Provides tools such as the NVIDIA Container Runtime and NVIDIA Container Toolkit CLI to enable GPU support in containers. + + +%package operator-extensions +Summary: NVIDIA Container Toolkit Operator Extensions +Requires: nvidia-container-toolkit-base == %{version}-%{release} + +%description operator-extensions +Provides tools for using the NVIDIA Container Toolkit with the GPU Operator + + +%prep +%autosetup + + +%build +export GOPATH=$HOME/go +mkdir -pv $HOME/go/src/%{project} +rm -rf $HOME/go/src/%{project}/* +cp -avr * $HOME/go/src/%{project} +cd $HOME/go/src/%{project} + +go build -v -ldflags "-s -w" \ + -o bin/nvidia-ctk \ + ./cmd/nvidia-ctk + +go build -v -ldflags "-s -w" \ + -o bin/nvidia-container-runtime-hook \ + ./cmd/nvidia-container-runtime-hook + +go build -v -ldflags "-s -w" \ + -o bin/nvidia-container-runtime \ + ./cmd/nvidia-container-runtime + +go build -v -ldflags "-s -w" \ + -o bin/nvidia-container-runtime.cdi \ + ./cmd/nvidia-container-runtime.cdi + +go build -v -ldflags "-s -w" \ + -o bin/nvidia-container-runtime.legacy \ + ./cmd/nvidia-container-runtime.legacy + +%install +install -D -m 0755 $HOME/go/src/%{project}/bin/nvidia-ctk %{buildroot}/%{_bindir}/nvidia-ctk +install -D -m 0755 $HOME/go/src/%{project}/bin/nvidia-container-runtime-hook %{buildroot}/%{_bindir}/nvidia-container-runtime-hook +install -D -m 0755 $HOME/go/src/%{project}/bin/nvidia-container-runtime %{buildroot}/%{_bindir}/nvidia-container-runtime +install -D -m 0755 $HOME/go/src/%{project}/bin/nvidia-container-runtime.cdi %{buildroot}/%{_bindir}/nvidia-container-runtime.cdi +install -D -m 0755 $HOME/go/src/%{project}/bin/nvidia-container-runtime.legacy %{buildroot}/%{_bindir}/nvidia-container-runtime.legacy + +mkdir -p %{buildroot}/etc/nvidia-container-runtime +install -m 644 config/config.toml.rpm-yum %{buildroot}/etc/nvidia-container-runtime/config.toml + +mkdir -p %{buildroot}/usr/libexec/oci/hooks.d +install -m 755 -t %{buildroot}/usr/libexec/oci/hooks.d oci-nvidia-hook + +mkdir -p %{buildroot}/usr/share/containers/oci/hooks.d +install -m 644 -t %{buildroot}/usr/share/containers/oci/hooks.d oci-nvidia-hook.json + +%post +mkdir -p %{_localstatedir}/lib/rpm-state/nvidia-container-toolkit +cp -af %{_bindir}/nvidia-container-runtime-hook %{_localstatedir}/lib/rpm-state/nvidia-container-toolkit + +%posttrans +if [ ! -e %{_bindir}/nvidia-container-runtime-hook ]; then + cp -avf %{_localstatedir}/lib/rpm-state/nvidia-container-toolkit/nvidia-container-runtime-hook %{_bindir} +fi +rm -rf %{_localstatedir}/lib/rpm-state/nvidia-container-toolkit +ln -sf %{_bindir}/nvidia-container-runtime-hook %{_bindir}/nvidia-container-toolkit + +%postun +if [ "$1" = 0 ]; then + if [ -L %{_bindir}/nvidia-container-toolkit ]; then rm -f %{_bindir}/nvidia-container-toolkit; fi +fi + +%files base +%license LICENSE +%config /etc/nvidia-container-runtime/config.toml +%{_bindir}/nvidia-container-runtime +%{_bindir}/nvidia-ctk + +%files +%license LICENSE +%{_bindir}/nvidia-container-runtime-hook +/usr/libexec/oci/hooks.d/oci-nvidia-hook +/usr/share/containers/oci/hooks.d/oci-nvidia-hook.json + +%files operator-extensions +%license LICENSE +%{_bindir}/nvidia-container-runtime.cdi +%{_bindir}/nvidia-container-runtime.legacy + +%changelog +* Thu Jun 1 2023 forrest_ly - 1.13.1-1 +- Add nvidia-container-toolkit to Anolis 23