X-Git-Url: http://git.onelab.eu/?p=ipfw.git;a=blobdiff_plain;f=planetlab%2Fipfwroot.spec;fp=planetlab%2Fipfwroot.spec;h=e0472fc1346af0fc59fbc03f3694ec5a27c55de1;hp=c2fdae5a923227e5bf0335814fe0ce904936feaf;hb=6392844f470e985b8a89e0405a54d9991deb9045;hpb=ebb59f3dda84f643fe48aac7dc6cf49856bbf34b diff --git a/planetlab/ipfwroot.spec b/planetlab/ipfwroot.spec index c2fdae5..e0472fc 100644 --- a/planetlab/ipfwroot.spec +++ b/planetlab/ipfwroot.spec @@ -16,10 +16,28 @@ %define version 20120610 %define taglevel 1 +# when no planetlab kernel is being built, kernel_version is defined but empty +%define _with_planetlab_kernel %{?kernel_version:1}%{!?kernel_version:0} # we need to make sure that this rpm gets upgraded when the kernel release changes +%if %{_with_planetlab_kernel} +# with the planetlab kernel %define pl_kernel_taglevel %( echo %{kernel_release} | cut -d. -f1 ) - -%define release %{kernel_version}.%{pl_kernel_taglevel}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} +%define ipfw_release %{kernel_version}.%{pl_kernel_taglevel} +%else +# with the stock kernel +# this line below +#%define ipfw_release %( rpm -q --qf "%{version}" kernel-headers ) +# causes recursive macro definition no matter how much you quote +%define percent % +%define braop \{ +%define bracl \} +%define kernel_version %( rpm -q --qf %{percent}%{braop}version%{bracl} kernel-headers ) +%define kernel_release %( rpm -q --qf %{percent}%{braop}release%{bracl} kernel-headers ) +%define kernel_arch %( rpm -q --qf %{percent}%{braop}arch%{bracl} kernel-headers ) +%define ipfw_release %{kernel_version}.%{kernel_release} +%endif + +%define release %{ipfw_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} # 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}