If you try and use e.g. kernel_obsoletes, you'll soon find that it's actually kernel__obsoletes you currently need :-)
Index: devel/kernel.spec =================================================================== --- devel.orig/kernel.spec 2008-07-23 14:04:17.000000000 +0100 +++ devel.orig/kernel.spec 2008-07-23 14:04:17.000000000 +0100 @@ -440,9 +440,9 @@ Provides: kernel-uname-r = %{KVERREL}%{? Requires(pre): %{kernel_prereq}\ Conflicts: %{kernel_dot_org_conflicts}\ Conflicts: %{package_conflicts}\ -%{?1:%{expand:%%{?kernel_%{1}_conflicts:Conflicts: %%{kernel_%{1}_conflicts}}}}\ -%{?1:%{expand:%%{?kernel_%{1}_obsoletes:Obsoletes: %%{kernel_%{1}_obsoletes}}}}\ -%{?1:%{expand:%%{?kernel_%{1}_provides:Provides: %%{kernel_%{1}_provides}}}}\ +%{?1:%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}}\ +%{?1:%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}}\ +%{?1:%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}}\ # We can't let RPM do the dependencies automatic because it'll then pick up\ # a correct but undesirable perl dependency from the module headers which\ # isn't required for the kernel proper to function\