mirror of
https://abf.rosa.ru/djam/kernel-5.15.git
synced 2025-02-23 10:32:54 +00:00
43 lines
1.4 KiB
Text
43 lines
1.4 KiB
Text
# Macros for nvidia modules
|
|
# e - kernel %%{EVRD}
|
|
# m - nvidia majors (390,470,510)
|
|
# p - full kernel version (uname -r, 5.10.71-generic-1rosa2021.1-x86_64)
|
|
# v - nvidia major
|
|
|
|
%nvidia_module(e:m:p:v:) \
|
|
# kernel version \
|
|
%define kver %(echo %{-p*} |cut -d- -f1) \
|
|
# kernel major version \
|
|
%define kmver %(echo %{kver} |cut -d. -f-2) \
|
|
# kernel release \
|
|
%define krel %(echo %{-p*} |cut -d- -f3 |sed "s/rosa.*//") \
|
|
# kernel flavour \
|
|
%define kfla %(echo %{-p*} |cut -d- -f2) \
|
|
# kernel name \
|
|
%define kname kernel-%{kmver}-%{kfla} \
|
|
# pkg name \
|
|
%define nname kernel-modules-nvidia%{-v*}-%{kver}-%{krel}-%{kfla} \
|
|
\
|
|
%{expand: \
|
|
%package -n %{nname} \
|
|
Summary: Binary modules of Nvidia%{-v*} for kernel %{kver}-%{krel} \
|
|
Group: System/Kernel and hardware \
|
|
Supplements: ((%{kname} = %{-e*}) and nvidia%{-v*}-core) \
|
|
Requires: %{kname} = %{-e*} \
|
|
Requires: nvidia%{-v*}-core \
|
|
Provides: installonlypkg(kernel) = %{kver}.module \
|
|
%(for c in %(echo %{-m*} |tr , " "); do echo %{nname} |sed "s/\\(.*nvidia\\)\\(.*\\)/Conflicts:\\t\\1$c\\2 = %{-e*}/"; done) \
|
|
\
|
|
%description -n %{nname} \
|
|
Binary modules of Nvidia%{-v*} for kernel %{kver}-%{krel} \
|
|
\
|
|
%files -n %{nname} \
|
|
%dir /lib/modules/%{-p*}/kernel/drivers/video/nvidia%{-v*} \
|
|
/lib/modules/%{-p*}/kernel/drivers/video/nvidia%{-v*}/*.ko* \
|
|
%{nil} \
|
|
}
|
|
|
|
# TODO drop autoconflicts
|
|
%nvidia_modules_pkg(e:m:p:) \
|
|
%(for i in %(echo %{-m*} |tr , " "); do echo "%nvidia_module -e %{-e*} -m %{-m*} -p %{-p*} -v $i \
|
|
"; done)
|