# Backport missing architecture macros %{!?x86_64: %global x86_64 x86_64 amd64 em64t} %{!?arm64: %global arm64 aarch64} # Because Red Hat broke this macro by not including kernel-rpm-macros in the base buildroot %{!?kernel_module_package_buildreqs:%global kernel_module_package_buildreqs kernel-devel kernel-abi-stablelists redhat-rpm-config kernel-rpm-macros elfutils-libelf-devel kmod} # Don't enable auto set build flags # We get flags from the kernel %undefine _auto_set_build_flags # Kernel package flavors ## TODO: Fix kernel packaging macros to handle debug kernel flavor builds %dnl %global kernel_extra_flavor_devel_packages kernel-debug-devel %ifarch %{arm64} %dnl %global kernel_extra_flavor_devel_packages %{?kernel_extra_flavor_devel_packages} kernel-64k-devel kernel-64k-debug-devel %global kernel_extra_flavor_devel_packages %{?kernel_extra_flavor_devel_packages} kernel-64k-devel %endif %global kmodname nvidia-open Name: %{kmodname}-kmod Version: 570.153.02 Release: 0%{?dist}.1 Summary: Kernel module (kmod) for NVIDIA GPU hardware License: GPL-2.0-only and MIT URL: https://github.com/NVIDIA/open-gpu-kernel-modules Source0: %{url}/archive/%{version}/open-gpu-kernel-modules-%{version}.tar.gz Patch0: 0001-kernel-open-nvidia-drm-Enable-kernel-mode-setting-by.patch # For kmodtool Source10: kmod-%{kmodname}.spec.preamble # For locally fixed macros to handle kernel flavors properly Source20: kmp-local-override.macros Source21: kmodtool-local-override # patch dependencies BuildRequires: git-core # kernel module package macros were split out sometime after EL7... BuildRequires: kernel-rpm-macros # kmod dependencies BuildRequires: %kernel_module_package_buildreqs %{?kernel_extra_flavor_devel_packages:BuildRequires: %kernel_extra_flavor_devel_packages} BuildRequires: %{_bindir}/envsubst BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make # Depend on negativo17 kmod support packaging Requires: nvidia-kmod-common = 3:%{version} # Only supported architectures for the driver ExclusiveArch: %{x86_64} %{arm64} # Load override macros %{load:%{S:20}} %{?kernel_module_package:%kernel_module_package -s %{S:21} -n %{kmodname} -p %{S:10}} %description This package contains the kernel modules for providing hardware support for the NVIDIA Turing (GTX 16/RTX 20) and newer models of GPU hardware. %prep %autosetup -n open-gpu-kernel-modules-%{version} -S git_am for flavor in %{flavors_to_build}; do cp -a ../open-gpu-kernel-modules-%{version} ../%{name}-%{version}-kmodbuild-$flavor mv ../%{name}-%{version}-kmodbuild-$flavor . done %build # This module is useless export NV_EXCLUDE_KERNEL_MODULES=nvidia-peermem for flavor in %{flavors_to_build}; do pushd %{name}-%{version}-kmodbuild-$flavor export SYSSRC=%{kernel_source $flavor} %make_build modules popd done %install export INSTALL_MOD_PATH=%{buildroot} export INSTALL_MOD_DIR=extra/%{kmodname} # This module is useless export NV_EXCLUDE_KERNEL_MODULES=nvidia-peermem for flavor in %{flavors_to_build}; do pushd %{name}-%{version}-kmodbuild-$flavor export SYSSRC=%{kernel_source $flavor} %{__make} V=1 modules_install popd done %files %license COPYING %doc README.md %changelog * Sun May 25 2025 Neal Gompa - 570.153.02-0.1 - New upstream version * Wed May 07 2025 Neal Gompa - 570.144-0.1 - New upstream version * Mon Apr 07 2025 Neal Gompa - 570.133.07-0.1 - Initial package