From 8decbf02f7ef7d85f7673fbb649022bbe80940ee Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Wed, 8 Dec 2010 09:04:29 +0100 Subject: [PATCH] more robust detection of kernel naming conventions --- planetlab/ipfwroot.spec | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/planetlab/ipfwroot.spec b/planetlab/ipfwroot.spec index b818b20..ac0bcb4 100644 --- a/planetlab/ipfwroot.spec +++ b/planetlab/ipfwroot.spec @@ -19,12 +19,17 @@ %define taglevel 18 %define release %{kernel_version}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} -# use any of these two if found + +# guess which convention is used; k27 and before used dash, k32 uses dot %define kernelpath_dash /usr/src/kernels/%{kernel_version}-%{kernel_release}-%{kernel_arch} %define kernelpath_dot /usr/src/kernels/%{kernel_version}-%{kernel_release}.%{kernel_arch} +%define kernelpath %( [ -d %{kernelpath_dot} ] && echo %{kernelpath_dot} || echo %{kernelpath_dash} ) + # the k32 kernel currently builds e.g. /lib/modules/2.6.32-0.onelab.2010.12.07-i686 -# the extra star should address the -i686 part, that k27 does not have -%define kernel_id %{kernel_version}-%{kernel_release}* +# the k27 and before does not have the -i686 part +%define kernel_id_old %{kernel_version}-%{kernel_release} +%define kernel_id_new %{kernel_version}-%{kernel_release}-%{_target_cpu} +%define kernel_id %( [ -d %{kernelpath_dot} ] && echo %{kernel_id_new} || echo %{kernel_id_old} ) Summary: ipfw and dummynet for Linux Name: %{name} @@ -54,10 +59,6 @@ ipfw is the Linux port of the FreeBSD ipfw and dummynet packages # clean the rpm build directory rm -rf $RPM_BUILD_ROOT -# with the new build, we use the kernel-devel rpm for building -# guess which convention is used; k27 and before used dash, k32 uses dot -%define kernelpath %( [ -d %{kernelpath_dot} ] && echo %{kernelpath_dot} || echo %{kernelpath_dash} ) - %__make KERNELPATH=%kernelpath clean %__make KERNELPATH=%kernelpath IPFW_PLANETLAB=1 -- 2.43.0