forked from pool/kernel-source
GIT Revision: 3c5001a2571a37aea2461822f5136be987234c59
GIT Branch: SUSE-2024 2025-12-04 02:11:38 +0000
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
%package -n %{-n*}-%1
|
||||
%define _this_kmp_version %{-v*}_k%(echo %2 | sed -r 'y/-/_/; s/^(2\.6\.[0-9]+)_/\\1.0_/; # use 2.6.x.0 for mainline kernels')
|
||||
%package -n %{-n*}-kmp-%1
|
||||
%define _this_kmp_kernel_version k%(echo %2 | sed -r 'y/-/_/')
|
||||
%define _this_kmp_version %{-v*}_%_this_kmp_kernel_version
|
||||
Version: %_this_kmp_version
|
||||
Release: %{-r*}
|
||||
%(
|
||||
@@ -8,7 +9,7 @@ for spec in {%_sourcedir,%_specdir}/%name.spec /dev/null; do
|
||||
done
|
||||
awk '
|
||||
BEGIN { tags["summary"] = "Summary: %summary"
|
||||
tags["group"] = "Group: %group" }
|
||||
tags["group"] = "" }
|
||||
/^%%/ { in_pkg_header = \
|
||||
($0 ~ /^%%package[ \t]+KMP[ \t]*$/ ||
|
||||
$0 ~ /^%%package[ \t]+-n[ \t]*%name-KMP[ \t]*$/)
|
||||
@@ -17,17 +18,36 @@ in_pkg_header && /^(Summary|Group):[ \t]*/ \
|
||||
{ tag = tolower($1) ; sub(/:$/, "", tag)
|
||||
tags[tag] = $0 }
|
||||
END { print tags["summary"]
|
||||
print tags["group"] }
|
||||
if ( tags["group"] != "" ) print tags["group"] }
|
||||
' $spec
|
||||
)
|
||||
Provides: %{-n*} = %_this_kmp_version
|
||||
Provides: %{-n*} = %{-v*}
|
||||
Provides: %{-n*}-kmp = %_this_kmp_version
|
||||
Provides: %{-n*}-kmp = %{-v*}
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %{-n*}-kmp-%1-%_this_kmp_kernel_version
|
||||
Requires: coreutils grep
|
||||
Requires(pre): suse-kernel-rpm-scriptlets
|
||||
Requires(post): suse-kernel-rpm-scriptlets
|
||||
Requires: suse-kernel-rpm-scriptlets
|
||||
Requires(preun): suse-kernel-rpm-scriptlets
|
||||
Requires(postun): suse-kernel-rpm-scriptlets
|
||||
%{-c:Requires: %{-n*}-ueficert}
|
||||
Enhances: kernel-%1
|
||||
Supplements: packageand(kernel-%1:%{-n*})
|
||||
Conflicts: %{-n*}-kmp-%1-%_this_kmp_kernel_version
|
||||
AutoReqProv: on
|
||||
|
||||
%define run_if_exists run_if_exists() { \
|
||||
if [ -x "$1" ] ; then \
|
||||
"$@" \
|
||||
else \
|
||||
echo Cannot execute "$1" >&2 \
|
||||
fi \
|
||||
} \
|
||||
run_if_exists
|
||||
|
||||
%{-p:%{expand:%(cd %_sourcedir; cat %{-p*})}}
|
||||
%description -n %{-n*}-%1
|
||||
%description -n %{-n*}-kmp-%1
|
||||
%(
|
||||
for spec in {%_sourcedir,%_specdir}/%name.spec /dev/null; do
|
||||
[ -e $spec ] && break
|
||||
@@ -49,28 +69,32 @@ in_desc { print; good = 1 }
|
||||
END { exit(! good) }
|
||||
' $spec
|
||||
)
|
||||
%post -n %{-n*}-%1
|
||||
nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
|
||||
wm2=/usr/lib/module-init-tools/weak-modules2
|
||||
if [ -x $wm2 ]; then
|
||||
%{-b:KMP_NEEDS_MKINITRD=1} /bin/bash -${-/e/} $wm2 --add-kmp $nvr
|
||||
fi
|
||||
%preun -n %{-n*}-%1
|
||||
nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
|
||||
rpm -ql $nvr | sed -n '/\.ko$/p' > /var/run/rpm-$nvr-modules
|
||||
%postun -n %{-n*}-%1
|
||||
nvr=%{-n*}-%1-%_this_kmp_version-%{-r*}
|
||||
modules=( $(cat /var/run/rpm-$nvr-modules) )
|
||||
rm -f /var/run/rpm-$nvr-modules
|
||||
if [ ${#modules[*]} = 0 ]; then
|
||||
echo "WARNING: $nvr does not contain any kernel modules" >&2
|
||||
exit 0
|
||||
fi
|
||||
wm2=/usr/lib/module-init-tools/weak-modules2
|
||||
if [ -x $wm2 ]; then
|
||||
printf '%s\n' "${modules[@]}" | /bin/bash -${-/e/} $wm2 --remove-kmp $nvr
|
||||
fi
|
||||
%files -n %{-n*}-%1
|
||||
%pre -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%post -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-post --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%preun -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-preun --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%postun -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-postun --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%posttrans -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-posttrans --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%files -n %{-n*}-kmp-%1
|
||||
%{-f:%{expand:%(cd %_sourcedir; cat %{-f*})}}
|
||||
%{!-f:%defattr (-,root,root)}
|
||||
%{!-f:/lib/modules/%2-%1}
|
||||
%{!-f:%{kernel_module_directory}/%2-%1}
|
||||
|
||||
Reference in New Issue
Block a user