Indicate which SRPM the module was built from in Release to avoid collisions better

This commit is contained in:
Mikhail Novosyolov 2021-10-10 13:59:54 +03:00
parent a6a9541555
commit 270387a22e
2 changed files with 9 additions and 8 deletions

View file

@ -3,7 +3,7 @@ Name: auto-krokodil
Group: System/Kernel and hardware
License: GPLv3
Url: https://abf.io/import/auto-krokodil
Version: 0.5
Version: 0.6
Release: 1
BuildArch: noarch
# for php -l (syntax check)

View file

@ -19,28 +19,29 @@
%kroko_kmod_pkg(r:j:n:f:k:m:p:s:) \
# e.g.: kernel-modules-nvidia390-5.10-generic \
%define pkg kernel-modules-nvidia%{-j*}-%{-k*}-%{-f*} \
%define rel %{-r*}.%(echo %{-s*} | sha1sum | head -c5) \
\
%{expand: \
%package -n %{pkg} \
Summary: Binary modules of Nvidia %{-j*}.%{-n*} for kernel-%{-k*}-%{-f*} \
Group: System/Kernel and hardware \
Version: %{-j*}.%{-n*} \
Release: %{-r*} \
Release: %{rel} \
Supplements: (kernel-%{-k*}-%{-f*} and nvidia%{-j*}) \
Provides: installonlypkg(kernel) = %{-k*}.%{-m*}.module \
# e.g.: kmod-nvidia390.13-kabi(5.10.71-generic-1rosa2021.1-x86_64) = 456.2e9d1.15 \
Provides: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) = %{-r*} \
Provides: kmod-nvidia%{-j*}-kabi(%{-p*}) = %{-r*} \
Provides: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) = %{rel} \
Provides: kmod-nvidia%{-j*}-kabi(%{-p*}) = %{rel} \
# e.g.: kmod-nvidia390-kabi(5.10.71-generic-1rosa2021.1-x86_64) = 456.2e9d1.15 \
# Do not keep older builds for the same kernel installed via installonlypkg() \
# () and provides are not allowed in Obsoletes, only real package names work as Obsoletes, \
# so we can't write: "Obsoletes: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) < %{-r*}" \\
# so we can't write: "Obsoletes: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) < %{rel}" \\
# XXX Without Obsoletes for now, otherwise modules for e.g. 5.10.71 will be removed when updating to 5.10.72 \
#Obsoletes: %{pkg} < %{-j*}.%{-n*}-%{-r*} \
#Obsoletes: %{pkg} < %{-j*}.%{-n*}-%{rel} \
# the same files conflict \
Conflicts: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) < %{-r*} \
Conflicts: kmod-nvidia%{-j*}.%{-n*}-kabi(%{-p*}) < %{rel} \
# e.g.: kmod-nvidia-5.10-generic(390.13) = 456.2e9d1.15 \
Provides: kmod-nvidia-%{-k*}-%{-f*}(%{-j*}.%{-n*}) = %{-r*} \
Provides: kmod-nvidia-%{-k*}-%{-f*}(%{-j*}.%{-n*}) = %{rel} \
Requires: kernel-abi(%{-p*}) \
%description -n %{pkg} \
Binary modules of Nvidia %{-j*}.%{-n*} for kernel-%{-k*}-%{-f*} \