141cba9
diff -urN redhat-rpm-config-8.0.45_orig/macros redhat-rpm-config-8.0.45/macros
141cba9
--- redhat-rpm-config-8.0.45_orig/macros	2005-08-16 20:27:33.000000000 -0400
141cba9
+++ redhat-rpm-config-8.0.45/macros	2006-10-17 20:15:08.000000000 -0400
141cba9
@@ -156,3 +157,82 @@
e53623e
 
e53623e
 # Disable lookups
e53623e
 %_hkp_keyserver  %{nil}
e53623e
+
141cba9
+%ktest() %{expand:%( \
141cba9
+	echo "%1" \
141cba9
+)}
141cba9
+
e53623e
+# kernel_source kversion kflavor
141cba9
+%old_kernel_source() %{expand:%( \
141cba9
+	if [ "default" == "%2" ] \
141cba9
+	then \
141cba9
+		echo "/usr/src/kernels/%1-%{_target_cpu}" \
141cba9
+	else \
141cba9
+		echo "/usr/src/kernels/%1-%2-%{_target_cpu}" \
141cba9
+	fi \
e53623e
+)}
e53623e
+
141cba9
+# Use these macros to differentiate between RH and other KMP implementation(s).
141cba9
+redhat_kernel_module_package	1
141cba9
+kernel_module_package_release	1
e53623e
+
141cba9
+# kernel_module_package [ -n name ] [ -v version ] [ -r release ] [ -s script ]
141cba9
+			[ -f filelist] [ -x ] [ -p preamble ] flavor flavor ...
141cba9
+
141cba9
+%kernel_module_script kernel_source() { \
141cba9
+	if [ "default" == "$1" ]; then \
141cba9
+		echo "/usr/src/kernels/%kverrel-%{_target_cpu}" ; \
141cba9
+	else \
141cba9
+		echo "/usr/src/kernels/%kverrel-$1-%{_target_cpu}" ; \
141cba9
+	fi }
e53623e
+
e53623e
+%kernel_module_package(n:v:r:s:f:xp:) %{expand:%( \
141cba9
+	%global __spec_prep_pre %{__spec_prep_pre};%{kernel_module_script}
141cba9
+	%global __spec_build_pre %{__spec_build_pre};%{kernel_module_script}
141cba9
+	%global __spec_install_pre %{__spec_install_pre};%{kernel_module_script}
141cba9
+	%define kmodtool %{-s*}%{!-s:/usr/lib/rpm/redhat/kmodtool} \
141cba9
+	%define kmp_version %{-v*}%{!-v:%{version}} \
141cba9
+	%define kmp_release %{-r*}%{!-r:%{release}} \
e53623e
+	machine=`uname -m` \
141cba9
+	%{!?kversion: %{expand: %%global kversion %(uname -r)}} \
141cba9
+	%global kverrel %(%{kmodtool} verrel %{?kversion} 2>/dev/null) \
e53623e
+	flavors="default" \
e53623e
+	if [ "i686" == "$machine" ] \
e53623e
+	then
e53623e
+		flavors="$flavors smp" \
e53623e
+	fi
e53623e
+	if [ "i686" == "$machine" ] || [ "x86_64" == "$machine" ] \
e53623e
+	then \
141cba9
+		xenver=$(rpm -q kernel-xen-devel-%{kverrel}|head -n 1)\
141cba9
+		kdver=$(rpm -q kernel-kdump-devel-%{kverrel}|head -n 1)\
141cba9
+		if [ "kernel-xen-devel-%{kverrel}" == "$xenver" ] \
e53623e
+		then \
141cba9
+			flavors="$flavors xen" \
e53623e
+		fi \
141cba9
+		if [ "kernel-kdump-devel-%{kverrel}" == "$kdver" ] \
e53623e
+		then \
e53623e
+			flavors="$flavors kdump" \
e53623e
+		fi \
e53623e
+	fi \
141cba9
+	if [ -z "%*" ]; then \
141cba9
+		flavors_to_build=$flavors \
141cba9
+	elif [ -z "%{-x}" ]; then \
141cba9
+		flavors_to_build="%*" \
141cba9
+	else \
141cba9
+		flavors_to_build=$flavors \
141cba9
+		for i in %* \
141cba9
+		do \
141cba9
+			flavors_to_build=${flavors_to_build//$i/} \
141cba9
+		done \
141cba9
+	fi \
e53623e
+	echo "%%global flavors_to_build ${flavors_to_build:-%%nil}" \
141cba9
+	if [ ! -z "%{-f*}" ] \
141cba9
+	then \
141cba9
+		filelist="%{-f*}" \
141cba9
+	fi \
141cba9
+	if [ ! -z "%{-p*}" ] \
141cba9
+	then \
141cba9
+		preamble="%{-p*}" \
141cba9
+	fi \
141cba9
+	kmp_override_filelist="$filelist" kmp_override_preamble="$preamble" %{kmodtool} rpmtemplate_kmp %{-n*}%{!-n:%name} %{kverrel} $flavors_to_build 2>/dev/null \
e53623e
+)}