diff --git a/kernel.spec b/kernel.spec index 0a58768..94567ed 100644 --- a/kernel.spec +++ b/kernel.spec @@ -32,7 +32,7 @@ %define sublevel 74 # Release number. Increase this before a rebuild. -%define rpmrel 1 +%define rpmrel 2 %define fullrpmrel %{rpmrel} %define rpmtag %{disttag} @@ -170,6 +170,8 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files} # https://github.com/rpm-software-management/rpm/pull/1794 %define nvidia_390_j %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $1}'; else echo 0; fi) %define nvidia_390_n %(if rpm -q kernel-source-nvidia390 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia390 | awk -F '.' '{print $2}'; else echo 0; fi) +%define nvidia_470_j %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $1}'; else echo 0; fi) +%define nvidia_470_n %(if rpm -q kernel-source-nvidia470 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia470 | awk -F '.' '{print $2}'; else echo 0; fi) # For SRPM stage when auto-krokodil-rpm-macros is not installed %{?!kroko_req_modules_in_kernel:%define kroko_req_modules_in_kernel(j:n:p:) %{nil}} @@ -457,6 +459,10 @@ BuildRequires: kernel-source-rtl8821cu BuildRequires: kernel-source-broadcom-wl BuildRequires: kernel-source-nvidia390 %endif +# nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later) +%ifarch %{x86_64} +BuildRequires: kernel-source-nvidia470 +%endif BuildRequires: kernel-source-tripso BuildRequires: kernel-source-ipt-so %if %{with binary_virtualbox_host} @@ -518,6 +524,9 @@ Recommends: kernel-headers = %{EVRD} %ifarch %{ix86} %{x86_64} %kroko_req_modules_in_kernel -j %{nvidia_390_j} -n %{nvidia_390_n} -p %{kver_full} %endif +%ifarch %{x86_64} +%kroko_req_modules_in_kernel -j %{nvidia_470_j} -n %{nvidia_470_n} -p %{kver_full} +%endif %endif Obsoletes: kernel-%{flavour}-%{kernelversion}.%{patchlevel}-latest < 5.10.34-2 @@ -572,6 +581,9 @@ depmod -a %{kver_full} %exclude %{_modulesdir}/%{kver_full}/kernel/net/wireless/wl.ko%{kmod_suffix} %exclude %{_modulesdir}/%{kver_full}/kernel/drivers/video/nvidia390 %endif +%ifarch %{x86_64} +%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/video/nvidia470 +%endif %if %{with binary_shredder} %exclude %{_modulesdir}/%{kver_full}/kernel/extra/shredder-kernel.ko%{kmod_suffix} %endif @@ -912,6 +924,9 @@ User Mode Linux (UML) kernel modules %ksob_mk_module_pkg -n wl -s net/wireless -r broadcom-wl-aliases %kroko_kmod_pkg -j %{nvidia_390_j} -n %{nvidia_390_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -r %{kroko_mk_release} %endif +%ifarch %{x86_64} +%kroko_kmod_pkg -j %{nvidia_470_j} -n %{nvidia_470_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -r %{kroko_mk_release} +%endif %ksob_mk_module_pkg -n xt_TRIPSO -s net -r tripso %ksob_mk_module_pkg -n xt_so -s net -r ipt-so %ksob_mk_module_pkg -n v4l2loopback -s drivers/media -r v4l2loopback @@ -1286,6 +1301,16 @@ cp 8821cu.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/8821cu.ko popd rm -fr kernel-source-rtl8821cu +_build_nvidia(){ + cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1} + pushd kernel-source-nvidia${1} + %make SYSSRC=%{src_dir} + mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1} + cp *.ko %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1} + popd + rm -fr kernel-source-nvidia${1} +} + %ifarch %{ix86} %{x86_64} cp -r "$(rpm -q --qf '/usr/src/broadcom-wl-%%{VERSION}-%%{RELEASE}' kernel-source-broadcom-wl)" kernel-source-broadcom-wl pushd kernel-source-broadcom-wl @@ -1295,13 +1320,11 @@ cp wl.ko %{temp_modules}/%{kver_full}/kernel/net/wireless/wl.ko popd rm -fr kernel-source-broadcom-wl -cp -r "$(rpm -q --qf '/usr/src/nvidia390-%%{VERSION}-%%{RELEASE}' kernel-source-nvidia390)" kernel-source-nvidia390 -pushd kernel-source-nvidia390 -%make SYSSRC=%{src_dir} -mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia390 -cp *.ko %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia390 -popd -rm -fr kernel-source-nvidia390 +_build_nvidia 390 +%endif + +%ifarch %{x86_64} +_build_nvidia 470 %endif cp -r "$(rpm -q --qf '/usr/src/tripso-%%{VERSION}-%%{RELEASE}' kernel-source-tripso)" kernel-source-tripso