From 99ebd24cce4a7cbbd0504adc43012677a5e7ef35 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 11 Jun 2012 10:38:07 +0200 Subject: [PATCH] first stab at a specfile for building against stock fedora kernel --- transforward.spec | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/transforward.spec b/transforward.spec index ac0d0d4..4a864e3 100644 --- a/transforward.spec +++ b/transforward.spec @@ -1,15 +1,35 @@ -%define url $URL$ - %define name transforward %define version 0.1 %define taglevel 1 -%define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} +### legacy from locally-built kernels, used to define these +# kernel_release, kernel_version and kernel_arch are expected to be set by the build to e.g. +# kernel_release : 24.onelab (24 is then the planetlab taglevel) +# kernel_version : 2.6.27.57 | 2.6.32 (57 in the 27 case is the patch level) +# kernel_arch : i686 | x86_64 + +# with the stock kernel +# this line below +#%define module_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 ) + +# this is getting really a lot of stuff, could be made simpler probably +%define release %{kernel_version}.%{kernel_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}} + +%define kernel_id %{kernel_version}-%{kernel_release}.%{kernel_arch} +%define kernelpath /usr/src/kernels/%{kernel_id} + Vendor: PlanetLab Packager: PlanetLab Central Distribution: PlanetLab %{plrelease} -URL: %(echo %{url} | cut -d ' ' -f 2) +URL: %{SCMURL} Summary: Kernel module that transparently forwards ports between containers Name: %{name} @@ -27,17 +47,16 @@ Kernel module that transparently forwards ports between containers %setup -q %build -make -C /lib/modules/`ls /lib/modules | head -1`/build M=$PWD modules +make -C %{kernelpath} V=1 M=$(pwd) modules %install -mkdir -p $RPM_BUILD_ROOT/lib/modules/`ls /lib/modules | head -1`/kernel/net/transforward -cp transforward.ko $RPM_BUILD_ROOT/lib/modules/`ls /lib/modules | head -1`/kernel/net/transforward +install -D -m 755 transforward.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/net/transforward/transforward.ko %clean rm -rf $RPM_BUILD_ROOT %files -/lib +/lib/modules/%{kernel_id} %post -- 2.43.0