"Fossies" - the Fresh Open Source Software archive 
Member "drbd-8.3.15/rpm-macro-fixes/macros.kernel-source.sles11-sp1.diff" of archive drbd-8.3.15.tar.gz:
By default, the %kernel_module_package will build packages for all kernel
flavors it finds in /usr/src/linux-obj: this directory contains symlinks to the
latest kernel-$flavor-devel packages installed.
This default can be overridden by defining the %kernel_version macro on the
rpmbuild command line. For example, you can build against version
2.6.32.19-0.2 with:
rpmbuild --define 'kernel_version 2.6.32.19-0.2'
When doing that, rpmbuild will iterate over the kernels defined in
/usr/src/linux-%kernel_version-obj, instead.
It is not possible to iterate over all installed kernel-$flavor-devel packages
in one rpmbuild command: rpm only allows to build a single sub-package with a
given name (for example, drbd-kmp-default), and cannot build two separate
drbd-kmp-default sub-packages with different versions.
Andreas Gruenbacher <agruen@linbit.com>
--- /etc/rpm/macros.kernel-source.orig
+++ /etc/rpm/macros.kernel-source
@@ -9,14 +9,14 @@
echo "%%define _suse_kernel_module_subpackage(n:v:r:f:p:) %%{expand:%%(cd %_sourcedir; cat $subpkg; echo %%%%nil)}" \
flavors_to_build= \
flavors="%*" \
- for flavor in $(ls /usr/src/linux-obj/%_target_cpu 2>/dev/null); do \
+ for flavor in $(ls /usr/src/linux-%{?kernel_version:%kernel_version-}obj/%_target_cpu 2>/dev/null); do \
case " $flavors " in \
(*" $flavor "*) \
[ -n "%{-X}" ] && continue ;; \
(*) \
[ -z "%{-X}" -a -n "$flavors" ] && continue ;; \
esac \
- krel=$(make -s -C /usr/src/linux-obj/%_target_cpu/$flavor kernelrelease) \
+ krel=$(make -s -C /usr/src/linux-%{?kernel_version:%kernel_version-}obj/%_target_cpu/$flavor kernelrelease) \
kver=${krel%%-*} \
[ -e /boot/symsets-$kver-$flavor.tar.gz ] || continue \
flavors_to_build="$flavors_to_build $flavor" \
@@ -24,7 +24,7 @@
done \
echo "%%global flavors_to_build${flavors_to_build:-%%nil}" \
echo "%%{expand:%%(test -z '%flavors_to_build' && echo %%%%internal_kmp_error)}" \
- echo "%%global kernel_source() /usr/src/linux-obj/%_target_cpu/%%%%{1}" \
+ echo "%%global kernel_source() /usr/src/linux-%{?kernel_version:%kernel_version-}obj/%_target_cpu/%%%%{1}" \
echo "%%global kernel_module_package_moddir() updates" \
\
echo "%package -n %{-n*}%{!-n:%name}-kmp-_dummy_" \