mirror of
https://abf.rosa.ru/djam/kernel-5.15.git
synced 2025-02-23 18:42:55 +00:00
Temporary replace (by macros.nvidia) and disable some use of kroko nvidia macro (by #); add nvidia510 modules; req devel when dkms use; use headers 5.15.
This commit is contained in:
parent
a0a11e1676
commit
ba73f15b85
2 changed files with 68 additions and 14 deletions
39
kernel.spec
39
kernel.spec
|
@ -32,7 +32,7 @@
|
|||
%define sublevel 32
|
||||
|
||||
# Release number. Increase this before a rebuild.
|
||||
%define rpmrel 6
|
||||
%define rpmrel 7
|
||||
%define fullrpmrel %{rpmrel}
|
||||
|
||||
%define rpmtag %{disttag}
|
||||
|
@ -168,16 +168,16 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files}
|
|||
|
||||
############################################################################
|
||||
|
||||
%if %{with binary_extra_modules}
|
||||
#if %%{with binary_extra_modules}
|
||||
# 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)
|
||||
#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}}
|
||||
%endif
|
||||
#{?!kroko_req_modules_in_kernel:%%define kroko_req_modules_in_kernel(j:n:p:) %%{nil}}
|
||||
#endif
|
||||
|
||||
############################################################################
|
||||
|
||||
|
@ -201,7 +201,7 @@ cat %{_builddir}/debugfiles.list >> %{debuginfo_files}
|
|||
%define build_debug 1
|
||||
|
||||
# Build kernel-headers package
|
||||
%define build_headers 0
|
||||
%define build_headers 1
|
||||
|
||||
# Build perf and cpupower tools
|
||||
%define build_perf 1
|
||||
|
@ -271,6 +271,8 @@ Source2: 0001-disable-mrproper-prepare-scripts-configs-in-devel-rp.patch
|
|||
# after testing these macros properly
|
||||
Source3: macros.ksobirator
|
||||
%{load:%{SOURCE3}}
|
||||
Source4: macros.nvidia
|
||||
%{load:%{SOURCE4}}
|
||||
|
||||
# Kernel configuration files.
|
||||
Source111: kernel-x86_64.config
|
||||
|
@ -318,7 +320,6 @@ Patch102: 0001-audit-make-it-less-verbose.patch
|
|||
%if %{with aufs}
|
||||
# AUFS 5 from http://aufs.sourceforge.net/
|
||||
Patch109: 0001-Apply-AUFS-5.patch
|
||||
#Patch110: 0001-Apply-AUFS-5_1.patch
|
||||
%endif
|
||||
|
||||
# For kmod() generator of RPM Provides
|
||||
|
@ -448,6 +449,7 @@ BuildRequires: kernel-source-nvidia390
|
|||
# Nvidia470+ are x86_64 only (maybe aarch64 will be also packaged later)
|
||||
%ifarch %{x86_64}
|
||||
BuildRequires: kernel-source-nvidia470
|
||||
BuildRequires: kernel-source-nvidia510
|
||||
%endif
|
||||
BuildRequires: kernel-source-tripso
|
||||
BuildRequires: kernel-source-ipt-so
|
||||
|
@ -503,10 +505,13 @@ Recommends: kernel-headers = %{EVRD}
|
|||
|
||||
%if %{with binary_extra_modules}
|
||||
%ifarch %{ix86} %{x86_64}
|
||||
%kroko_req_modules_in_kernel -j %{nvidia_390_j} -n %{nvidia_390_n} -p %{kver_full}
|
||||
#kroko_req_modules_in_kernel -j %%{nvidia_390_j} -n %%{nvidia_390_n} -p %%{kver_full}
|
||||
Requires: ((kernel-modules-nvidia390-%{version}-%{release}-%{flavour} = %{EVRD}) if nvidia390-core)
|
||||
%endif
|
||||
%ifarch %{x86_64}
|
||||
%kroko_req_modules_in_kernel -j %{nvidia_470_j} -n %{nvidia_470_n} -p %{kver_full}
|
||||
#kroko_req_modules_in_kernel -j %%{nvidia_470_j} -n %%{nvidia_470_n} -p %%{kver_full}
|
||||
Requires: ((kernel-modules-nvidia470-%{version}-%{release}-%{flavour} = %{EVRD}) if nvidia470-core)
|
||||
Requires: ((kernel-modules-nvidia510-%{version}-%{release}-%{flavour} = %{EVRD}) if nvidia510-core)
|
||||
%endif
|
||||
%endif
|
||||
|
||||
|
@ -564,6 +569,7 @@ depmod -a %{kver_full}
|
|||
%endif
|
||||
%ifarch %{x86_64}
|
||||
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/video/nvidia470
|
||||
%exclude %{_modulesdir}/%{kver_full}/kernel/drivers/video/nvidia510
|
||||
%endif
|
||||
%if %{with binary_shredder}
|
||||
%exclude %{_modulesdir}/%{kver_full}/kernel/extra/shredder-kernel.ko%{kmod_suffix}
|
||||
|
@ -909,10 +915,14 @@ User Mode Linux (UML) kernel modules:
|
|||
%ksob_mk_module_pkg -n 8821cu -s net/wireless
|
||||
%ifarch %{ix86} %{x86_64}
|
||||
%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}
|
||||
#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 %{ix86}
|
||||
%nvidia_modules_pkg -e %{EVRD} -m 390 -p %{kver_full}
|
||||
%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}
|
||||
#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}
|
||||
%nvidia_modules_pkg -e %{EVRD} -m 390,470,510 -p %{kver_full}
|
||||
%endif
|
||||
%ksob_mk_module_pkg -n xt_TRIPSO -s net -r tripso
|
||||
%ksob_mk_module_pkg -n xt_so -s net -r ipt-so
|
||||
|
@ -1388,6 +1398,7 @@ _build_nvidia 390
|
|||
|
||||
%ifarch %{x86_64}
|
||||
_build_nvidia 470
|
||||
_build_nvidia 510
|
||||
%endif
|
||||
|
||||
cp -r "$(rpm -q --qf '/usr/src/tripso-%%{VERSION}-%%{RELEASE}' kernel-source-tripso)" kernel-source-tripso
|
||||
|
|
43
macros.nvidia
Normal file
43
macros.nvidia
Normal file
|
@ -0,0 +1,43 @@
|
|||
# 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)
|
Loading…
Add table
Reference in a new issue