# 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} \ }