Files
kernel-livepatch-tools/macros.kernel-livepatch

39 lines
1.8 KiB
Plaintext

# Defines %flavor and %kernel_source() as a side effect.
# Also defines %flavors_to_build for backward compatibility.
#
# Macro %variant should be defined in the spec file before %klp_module_package
# is used. The flavor value is guessed from the macro %variant. The value
# "default" is used as a fallback.
%klp_module_package(n:) \
%{expand:%( \
subpkg=/usr/lib/rpm/kernel-livepatch-subpackage \
variant=%{?variant}%{!?variant:"-default"} \
[ -z "$variant" ] && variant="-default" \
flavor=${variant#-} \
if [ -z "$flavor" ] || [ ! -d "/usr/src/linux-obj/%_target_cpu/$flavor" ]; then \
echo "Error: Kernel flavor '$flavor' derived from '%%variant' not found or empty at /usr/src/linux-obj/%_target_cpu/$flavor." >&2 \
echo "%%%%internal_kmp_error" \
exit 1 \
fi \
echo "%%define _suse_klp_module_subpackage(n:v:r:f:p:bc) %%{expand:%%(cd %_sourcedir; cat $subpkg; echo %%%%nil)}" \
krel=$(make -s -C /usr/src/linux-obj/%_target_cpu/$flavor kernelrelease) \
krpmver_flavor=${krel/.0-rc/.rc} \
krpmver=${krpmver_flavor%%-*} \
kprovide="kernel-$flavor-$krpmver" \
khashprovide=$(rpm -q --whatprovides "$kprovide" --provides | grep "^kernel-$flavor-srchash-") \
if [ -n "$khashprovide" ]; then \
kprovide="$khashprovide" \
fi \
echo "%%_suse_klp_module_subpackage -n %{-n*}%{!-n:kernel-livepatch} -r %{release} $krel $krpmver_flavor $kprovide" \
echo "%%global flavors_to_build ${flavor}" \
echo "%%global flavor ${flavor}"
echo "%%{expand:%%(test -z '%flavors_to_build' && echo %%%%internal_kmp_error)}" \
echo "%%global kernel_source() /usr/src/linux-obj/%_target_cpu/%%%%{1}" \
\
echo "%package -n %{-n*}%{!-n:kernel-livepatch}-kmp-_dummy_" \
echo "Version: %version" \
echo "Summary: %summary" \
echo "Group: %group" \
echo "%description -n %{-n*}%{!-n:kernel-livepatch}-kmp-_dummy_" \
)}