6.0.1-xanmod1

This commit is contained in:
Sergey 2022-10-16 21:43:35 +00:00
parent 623ff2ccae
commit ec558b03ee

View file

@ -35,7 +35,7 @@
%define patch_rel 1 %define patch_rel 1
# Release number. Increase this before a rebuild. # Release number. Increase this before a rebuild.
%define rpmrel 1.klp %define rpmrel 3.klp
%define fullrpmrel %{rpmrel} %define fullrpmrel %{rpmrel}
@ -144,12 +144,27 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files}
%if %{with binary_extra_modules} %if %{with binary_extra_modules}
%if %{with nvidia_module} %if %{with nvidia_module}
%define nvidia_515_j %(if rpm -q kernel-source-nvidia515 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia515 | awk -F '.' '{print $1}'; else echo 0; fi) # global instead of define to speed up things
%define nvidia_515_n %(if rpm -q kernel-source-nvidia515 >/dev/null 2>&1; then rpm -q --qf '%%{version}' kernel-source-nvidia515 | awk -F '.' '{print $2}'; else echo 0; fi) #%%global nvidia_340_j %%{kroko_j -p kernel-source-nvidia340 -r 340}
#%%global nvidia_340_n %%{kroko_n -p kernel-source-nvidia340 -r 340}
#%%global nvidia_390_j %%{kroko_j -p kernel-source-nvidia390 -r 390}
#%%global nvidia_390_n %%{kroko_n -p kernel-source-nvidia390 -r 390}
#%%global nvidia_470_j %%{kroko_j -p kernel-source-nvidia470 -r 470}
#%%global nvidia_470_n %%{kroko_n -p kernel-source-nvidia470 -r 470}
#%%global nvidia_510_j %%{kroko_j -p kernel-source-nvidia510 -r 510}
#%%global nvidia_510_n %%{kroko_n -p kernel-source-nvidia510 -r 510}
%global nvidia_515_j %{kroko_j -p kernel-source-nvidia515 -r 515}
%global nvidia_515_n %{kroko_n -p kernel-source-nvidia515 -r 515}
%global nvidia_520_j %{kroko_j -p kernel-source-nvidia520 -r 520}
%global nvidia_520_n %{kroko_n -p kernel-source-nvidia520 -r 520}
%endif %endif
# For SRPM stage when auto-krokodil-rpm-macros is not installed # 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}} %{?!kroko_mk_release:%global kroko_mk_release(n:) %{nil}}
%{?!kroko_req_modules_in_kernel:%global kroko_req_modules_in_kernel(j:n:p:) %{nil}}
# global, not define, must be expanded only once
%global kroko_release %kroko_mk_release -n kernel-%{kernelversion}.%{patchlevel}-%{flavour}
%endif %endif
############################################################################ ############################################################################
@ -354,7 +369,12 @@ BuildRequires: findutils util-linux
BuildRequires: auto-krokodil-rpm-macros BuildRequires: auto-krokodil-rpm-macros
%ifarch %{x86_64} %ifarch %{x86_64}
%if %{with nvidia_module} %if %{with nvidia_module}
#BuildRequires: kernel-source-nvidia340
#BuildRequires: kernel-source-nvidia390
#BuildRequires: kernel-source-nvidia470
#BuildRequires: kernel-source-nvidia510
BuildRequires: kernel-source-nvidia515 BuildRequires: kernel-source-nvidia515
BuildRequires: kernel-source-nvidia520
%endif %endif
%endif %endif
BuildRequires: kernel-source-tripso BuildRequires: kernel-source-tripso
@ -411,7 +431,12 @@ Recommends: kernel-headers = %{EVRD}
%if %{with binary_extra_modules} %if %{with binary_extra_modules}
%ifarch %{x86_64} %ifarch %{x86_64}
%if %{with nvidia_module} %if %{with nvidia_module}
#%%kroko_req_modules_in_kernel -j %%{nvidia_340_j} -n %%{nvidia_340_n} -p %%{kver_full}
#%%kroko_req_modules_in_kernel -j %%{nvidia_390_j} -n %%{nvidia_390_n} -p %%{kver_full}
#%%kroko_req_modules_in_kernel -j %%{nvidia_470_j} -n %%{nvidia_470_n} -p %%{kver_full}
#%%kroko_req_modules_in_kernel -j %%{nvidia_510_j} -n %%{nvidia_510_n} -p %%{kver_full}
%kroko_req_modules_in_kernel -j %{nvidia_515_j} -n %{nvidia_515_n} -p %{kver_full} %kroko_req_modules_in_kernel -j %{nvidia_515_j} -n %{nvidia_515_n} -p %{kver_full}
%kroko_req_modules_in_kernel -j %{nvidia_520_j} -n %{nvidia_520_n} -p %{kver_full}
%endif %endif
%endif %endif
%endif %endif
@ -463,7 +488,7 @@ depmod -a %{kver_full}
%if %{with binary_extra_modules} %if %{with binary_extra_modules}
%ifarch %{x86_64} %ifarch %{x86_64}
%if %{with nvidia_module} %if %{with nvidia_module}
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/video/nvidia515 #%%exclude %%{_modulesdir}/%%{kver_full}/kernel/drivers/video/nvidia515
%endif %endif
%endif %endif
%if %{with binary_shredder} %if %{with binary_shredder}
@ -795,7 +820,12 @@ User Mode Linux (UML) kernel modules
%ifarch %{x86_64} %ifarch %{x86_64}
%if %{with nvidia_module} %if %{with nvidia_module}
%kroko_kmod_pkg -j %{nvidia_515_j} -n %{nvidia_515_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -r %{kroko_mk_release} #%%kroko_kmod_pkg -r %%{kroko_release} -j %%{nvidia_340_j} -n %%{nvidia_340_n} -f %%{flavour} -k %%{kernelversion}.%%{patchlevel} -m %%{sublevel} -p %%{kver_full} -s %%{NAME} -c %%{kmod_suffix}
#%%kroko_kmod_pkg -r %%{kroko_release} -j %%{nvidia_390_j} -n %%{nvidia_390_n} -f %%{flavour} -k %%{kernelversion}.%%{patchlevel} -m %%{sublevel} -p %%{kver_full} -s %%{NAME} -c %%{kmod_suffix}
#%%kroko_kmod_pkg -r %%{kroko_release} -j %%{nvidia_470_j} -n %%{nvidia_470_n} -f %%{flavour} -k %%{kernelversion}.%%{patchlevel} -m %%{sublevel} -p %%{kver_full} -s %%{NAME} -c %%{kmod_suffix}
#%%kroko_kmod_pkg -r %%{kroko_release} -j %%{nvidia_510_j} -n %%{nvidia_510_n} -f %%{flavour} -k %%{kernelversion}.%%{patchlevel} -m %%{sublevel} -p %%{kver_full} -s %%{NAME} -c %%{kmod_suffix}
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_515_j} -n %{nvidia_515_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
%kroko_kmod_pkg -r %{kroko_release} -j %{nvidia_520_j} -n %{nvidia_520_n} -f %{flavour} -k %{kernelversion}.%{patchlevel} -m %{sublevel} -p %{kver_full} -s %{NAME} -c %{kmod_suffix}
%endif %endif
%endif %endif
@ -993,15 +1023,27 @@ _build_nvidia(){
cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1} cp -r "$(rpm -q --qf "/usr/src/nvidia${1}-%%{VERSION}-%%{RELEASE}" kernel-source-nvidia${1})" kernel-source-nvidia${1}
pushd kernel-source-nvidia${1} pushd kernel-source-nvidia${1}
%make SYSSRC=%{src_dir} %make SYSSRC=%{src_dir}
mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1} mkdir -p %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}
cp *.ko %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1} for i in *.ko
do
# put them here to extract debug and compress, will be moved later
install -m0644 "$i" %{temp_modules}/%{kver_full}/kernel/drivers/video/nvidia${1}.%{kroko_release}/"$i"
done
popd popd
rm -fr kernel-source-nvidia${1} rm -fr kernel-source-nvidia${1}
# for rosa-kernel-tools
mkdir -p %{temp_root}/var/spool/initramfs-regen
touch %{temp_root}/var/spool/initramfs-regen/nvidia${1}.%{kroko_release}
} }
%ifarch %{x86_64} %ifarch %{x86_64}
#_build_nvidia 340
#_build_nvidia 390
#_build_nvidia 470
#_build_nvidia 510
_build_nvidia 515 _build_nvidia 515
_build_nvidia 520
%endif %endif
%endif %endif
@ -1218,6 +1260,25 @@ find %{target_modules} -name "*.ko" | %kxargs %{zstd_cmd} --rm -T1 #-D dictionar
#rm -f dictionary #rm -f dictionary
%endif %endif
%if %{with binary_extra_modules}
%if %{with nvidia_module}
# Move nvidia modules to manage them via alternatives(8), leave *.debug
# TODO: better handle debug here and in the package in general
find %{target_modules}/%{kver_full}/kernel/drivers/video -name 'nvidia???.*' -type d -maxdepth 1 |
while read -r line
do
nv="$(basename "$line")"
mkdir -p %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
mv -v "$line"/*.ko%{kmod_suffix} %{buildroot}%{kroko_kmods_dir}/"$nv"-%{kver_full}
dir_no_buildroot="$(echo "$line" | sed -e 's,^%{buildroot},,')"
echo "%exclude $dir_no_buildroot" >> %{kernel_files}
%if %{build_debug}
echo "%dir $dir_no_buildroot" >> %{debuginfo_files}
%endif
done
%endif
%endif
find %{buildroot}%{_modulesdir}/%{kver_full} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files} find %{buildroot}%{_modulesdir}/%{kver_full} -type f -name '*.ko%{kmod_suffix}' | sed -e 's,^%{buildroot},,' | sort -u >> %{kernel_files}
find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files} find %{buildroot}%{_modulesdir}/%{kver_full} -type d | sed -e 's,^%{buildroot},%dir ,' | sort -u >> %{kernel_files}