Transforward tag 3
[transforward.git] / transforward.spec
1 %define name transforward
2 %define version 0.1
3 %define taglevel 3
4
5 ### legacy from locally-built kernels, used to define these
6 # kernel_release : 1.fc16  (24 is then the planetlab taglevel)
7 # kernel_version : 3.3.7
8 # kernel_arch :    i686 | x86_64
9
10 # compute this with "rpm -q --qf .. kernel-devel" when with the stock kernel
11 # this line below
12 #%define module_release %( rpm -q --qf "%{version}" kernel-headers )
13 # causes recursive macro definition no matter how much you quote
14 %define percent %
15 %define braop \{
16 %define bracl \}
17 %define kernel_version %( rpm -q --qf %{percent}%{braop}version%{bracl} kernel-headers )
18 %define kernel_release %( rpm -q --qf %{percent}%{braop}release%{bracl} kernel-headers )
19 %define kernel_arch %( rpm -q --qf %{percent}%{braop}arch%{bracl} kernel-headers )
20
21 # this is getting really a lot of stuff, could be made simpler probably
22 %define release %{kernel_version}.%{kernel_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
23
24 %define kernel_id %{kernel_version}-%{kernel_release}.%{kernel_arch}
25 %define kernelpath /usr/src/kernels/%{kernel_id}
26
27
28 Vendor: PlanetLab
29 Packager: PlanetLab Central <support@planet-lab.org>
30 Distribution: PlanetLab %{plrelease}
31 URL: %{SCMURL}
32 Requires: kernel = %{kernel_version}-%{kernel_release}
33
34 Summary: Kernel module that transparently forwards ports between containers
35 Name: %{name}
36 Version: %{version}
37 Release: %{release}
38 License: GPL
39 Group: System Environment/Kernel
40 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
41 Source0: transforward-%{version}.tar.gz
42
43 %description
44 Kernel module that transparently forwards ports between containers
45
46 %prep 
47 %setup -q
48
49 %build
50 make -C %{kernelpath} V=1 M=$(pwd) modules
51
52 %install
53 install -D -m 755 transforward.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/net/transforward/transforward.ko
54 mkdir -p $RPM_BUILD_ROOT/etc/modules-load.d
55 install -m 644 transforward.conf $RPM_BUILD_ROOT/etc/modules-load.d/transforward.conf
56
57 %clean
58 rm -rf $RPM_BUILD_ROOT
59
60 %files
61 /lib/modules/%{kernel_id}
62 /etc/modules-load.d/transforward.conf
63
64 %post
65 /sbin/depmod -a
66
67 %postun
68
69 %changelog
70 * Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-2
71 - load module at boot-time
72 - various tweaks, remove debugging statements
73