kernel-5.15/macros.ksobirator
2020-07-29 11:00:23 +03:00

51 lines
1.9 KiB
Text

# ksobirator RPM macros
# For now they are bundled in the kernel package,
# in the future, after testing, ksobirator will become a separate package
# which will be BuildRequired from kernel packages
# TODO: define it somewhere else...
# TODO: avoid depending from %%flavour, %%buildrel etc ?!
# TODO: fail if needed macros are not defined
%ksob_kernel %{flavour}-%{buildrel}
# %%ksob_mk_module_pkg -n module name -s module section [ -r additional requires for this package ]
# Examples:
# %%ksob_mk_module_pkg -n shredder -s extra -r /usr/bin/wipe
# %%ksob_mk_module_pkg -n shredder -s extra
%ksob_mk_module_pkg(n:s:r:) \
\
%define module_name %{-n:%{-n*}}%{!-n:%{error:Module name not defined!}} \
%define pkg_main kernel-module-%{module_name}-%{ksob_kernel} \
%define pkg_latest kernel-module-%{module_name}-%{flavour}-%{kernelversion}.%{patchlevel}-latest \
%define module_section %{-s:%{-s*}}%{!-s:%{error:Module section (e.g. extra) not defined!}} \
\
%{expand: \
%package -n %{pkg_main} \
# TODO: convert long kernel name to one macro \
Summary: Binary module %{module_name} for kernel-%{ksob_kernel} \
Group: System/Kernel and hardware \
Version: 1 \
Release: 1 \
%{-r:Requires: %{-r*}} \
\
%description -n %{pkg_main} \
Binary module %{module_name} for kernel-%{ksob_kernel} \
\
%files -n %{pkg_main} \
# XXX TODO: how to %%exclude these files from the main package automatically? \
%{_modulesdir}/%{kver_full}/kernel/%{module_section}/%{module_name}.ko%{kmod_suffix} \
\
%package -n %{pkg_latest} \
Summary: Meta package for the latest binary module %{module_name} for the latest kernel-%{flavour} in %{kernelversion}.%{patchlevel} series \
Group: System/Kernel and hardware \
Version: %{kversion} \
Release: %{fullrpmrel} \
Requires: %{pkg_main} \
\
%description -n %{pkg_latest} \
Meta package for the latest binary module %{module_name} for the latest \
kernel-%{flavour} in %{kernelversion}.%{patchlevel} series \
# No files \
%files -n %{pkg_latest} \
%{nil} \
}