1 %define name transforward
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
10 # when no custom kernel is being built, kernel_version is defined but empty
11 %define _with_planetlab_kernel %{?kernel_version:1}%{!?kernel_version:0}
12 %if ! %{_with_planetlab_kernel}
13 # compute this with "rpm -q --qf .. kernel-devel" when with the stock kernel
15 #%define module_release %( rpm -q --qf "%{version}" kernel-headers )
16 # causes recursive macro definition no matter how much you quote
20 %define kernel_version %( rpm -q --qf %{percent}%{braop}version%{bracl} kernel-headers )
21 %define kernel_release %( rpm -q --qf %{percent}%{braop}release%{bracl} kernel-headers )
22 %define kernel_arch %( rpm -q --qf %{percent}%{braop}arch%{bracl} kernel-headers )
25 # this is getting really a lot of stuff, could be made simpler probably
26 %define release %{kernel_version}.%{kernel_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
28 %define kernel_id %{kernel_version}-%{kernel_release}.%{kernel_arch}
29 %define kernelpath /usr/src/kernels/%{kernel_id}
33 Packager: PlanetLab Central <support@planet-lab.org>
34 Distribution: PlanetLab %{plrelease}
36 Requires: kernel = %{kernel_version}-%{kernel_release}
38 Summary: Kernel module that transparently forwards ports between containers
43 Group: System Environment/Kernel
44 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
45 Source0: transforward-%{version}.tar.gz
48 Kernel module that transparently forwards ports between containers
54 make -C %{kernelpath} V=1 M=$(pwd) modules
57 install -D -m 755 transforward.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/net/transforward/transforward.ko
58 install -D -m 644 transforward.conf $RPM_BUILD_ROOT/etc/modules-load.d/transforward.conf
59 install -D -m 644 transforward.service $RPM_BUILD_ROOT/usr/lib/systemd/system/transforward.service
60 install -D -m 755 transforward.init $RPM_BUILD_ROOT/usr/sbin/transforward.init
63 rm -rf $RPM_BUILD_ROOT
66 /lib/modules/%{kernel_id}
67 /etc/modules-load.d/transforward.conf
68 /usr/lib/systemd/system/transforward.service
69 /usr/sbin/transforward.init
72 /sbin/depmod -a %{kernel_id}
73 /bin/systemctl enable transforward.service
78 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-6
79 - change to specfile so depmod gets called with the right kernel version
81 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-5
82 - harmless (changed default build kernel to the latest kernel in use)
84 * Wed Aug 28 2013 Sapan Bhatia <sapanb@cs.princeton.edu> - transforward-0.1-4
85 - * Bug fixes, which should lead to increased stability
86 - * Install via make and make install
88 * Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-2
89 - load module at boot-time
90 - various tweaks, remove debugging statements