## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm 1.16.0 %bcond check 0 # The '-z now' flag, which is the opposite of '-z lazy', isn't supported: # https://github.com/NVIDIA/nvidia-container-toolkit/commit/1407ace94ab7c150 # https://github.com/NVIDIA/go-nvml/issues/18 # https://github.com/NVIDIA/nvidia-container-toolkit/issues/49 %global _hardening_ldflags %(echo %_hardening_ldflags | sed 's/-Wl,-z,now//g') # These are the extra external linker flags being used: # https://github.com/NVIDIA/nvidia-container-toolkit/commit/772cf77dcc2347ce # https://github.com/NVIDIA/nvidia-container-toolkit/pull/333 # https://github.com/NVIDIA/nvidia-container-toolkit/commit/e2fe5915356a4b31 # https://github.com/NVIDIA/nvidia-container-toolkit/pull/732 %global __golang_extldflags -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files -Wl,-z,lazy %global selinuxtype targeted # https://github.com/NVIDIA/nvidia-container-toolkit %global goipath github.com/NVIDIA/nvidia-container-toolkit Version: 1.17.7 %gometa -L -f %global common_description %{expand: Build and run containers leveraging NVIDIA GPUs.} Name: nvidia-container-toolkit Release: %autorelease Summary: Build and run containers leveraging NVIDIA GPUs # Generated by go-vendor-tools License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT URL: %{gourl} Source0: %{gosource} # Generated by go-vendor-tools Source1: %{archivename}-vendor.tar.bz2 Source2: go-vendor-tools.toml Source3: nvctk-cdi.service Source4: nvidia-container.te BuildRequires: go-vendor-tools BuildRequires: systemd-rpm-macros Requires: (%{name}-selinux = %{version}-%{release} if selinux-policy-%{selinuxtype}) %description %{common_description} %package selinux BuildArch: noarch Summary: SELinux support for %{name} BuildRequires: selinux-policy-devel BuildRequires: container-selinux Requires: container-selinux Requires(post): container-selinux Requires(preun): policycoreutils %{?selinux_requires} %description selinux SELinux support for %{name}. %files selinux %{_datadir}/selinux/packages/%{selinuxtype}/nvidia-container.pp.* %ghost %verify(not md5 size mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/nvidia-container %post selinux %selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/nvidia-container.pp.bz2 %postun selinux if [ $1 -eq 0 ]; then %selinux_modules_uninstall -s %{selinuxtype} %{name} fi %prep %goprep -A %setup -q -T -D -a1 %{forgesetupargs} %autopatch -p1 %generate_buildrequires %go_vendor_license_buildrequires -c %{S:2} %build # %%goprep calls %%goenv, which sets currentgoldflags to: # -X github.com/NVIDIA/nvidia-container-toolkit/version=1.17.4 # # Unfortunately, this definition is incorrect. So, correct it. %undefine currentgoldflags %define currentgoldflags -X %{goipath}/internal/info.version=%{version} for cmd in cmd/nvidia-cdi-hook cmd/nvidia-ctk ; do %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd done %install %go_vendor_license_install -c %{S:2} install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ install -Dpm0644 %{SOURCE3} -t %{buildroot}%{_unitdir} echo 'enable nvctk-cdi.service' | install -Dpm0644 /dev/stdin %{buildroot}%{_prefix}/lib/systemd/system-preset/70-nvctk-cdi.preset install -Dpm0644 /dev/null %{buildroot}%{_sysconfdir}/cdi/nvidia.yaml mkdir selinux cp -p %{SOURCE4} selinux/ pushd selinux make -f %{_datadir}/selinux/devel/Makefile nvidia-container.pp bzip2 -9 nvidia-container.pp install -Dpm0644 nvidia-container.pp.bz2 -t %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype} %check %go_vendor_license_check -c %{S:2} %if %{with check} %gocheck %endif %files -f %{go_vendor_license_filelist} %license vendor/modules.txt %doc README.md %{_bindir}/nvidia-cdi-hook %{_bindir}/nvidia-ctk %{_prefix}/lib/systemd/system-preset/70-nvctk-cdi.preset %dir %{_sysconfdir}/cdi %{_sysconfdir}/cdi/nvidia.yaml %{_unitdir}/nvctk-cdi.service %changelog ## START: Generated by rpmautospec * Sat May 24 2025 John Doe - 1.17.7-1 - Uncommitted changes ## END: Generated by rpmautospec