an attempt to fix buildiong on f27, where right now we have kernel-headers and kernel...
[transforward.git] / transforward.spec
1 %define name transforward
2 %define version 0.1
3 %define taglevel 11
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 # 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
14 # compute these with "rpm -q --qf .. kernel-devel" when with the stock kernel
15 # this line below
16 #%define module_release %( rpm -q --qf "%{version}" kernel-devel )
17 # causes recursive macro definition no matter how much you quote
18
19 %define percent %
20 %define braop \{
21 %define bracl \}
22 %define kernel_version %( rpm -q --qf %{percent}%{braop}version%{bracl} kernel-devel )
23 %define kernel_release %( rpm -q --qf %{percent}%{braop}release%{bracl} kernel-devel )
24 %define kernel_arch %( rpm -q --qf %{percent}%{braop}arch%{bracl} kernel-devel )
25 %endif
26
27 # this is getting really a lot of stuff, could be made simpler probably
28 %define release %{kernel_version}.%{kernel_release}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
29
30 %define kernel_id %{kernel_version}-%{kernel_release}.%{kernel_arch}
31 %define kernelpath /usr/src/kernels/%{kernel_id}
32
33
34 Vendor: PlanetLab
35 Packager: PlanetLab Central <support@planet-lab.org>
36 Distribution: PlanetLab %{plrelease}
37 URL: %{SCMURL}
38 Requires: kernel = %{kernel_version}-%{kernel_release}
39
40 Summary: Kernel module that transparently forwards ports between containers
41 Name: %{name}
42 Version: %{version}
43 Release: %{release}
44 License: GPL
45 Group: System Environment/Kernel
46 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
47 Source0: transforward-%{version}.tar.gz
48 Requires: kernel = %{kernel_version}-%{kernel_release}
49
50 %description
51 Kernel module that transparently forwards ports between containers
52
53 %prep
54 %setup -q
55
56 %build
57 make -C %{kernelpath} V=1 M=$(pwd) KVER=%{kernel_id} modules
58
59 %install
60 install -D -m 755 transforward.ko $RPM_BUILD_ROOT/lib/modules/%{kernel_id}/net/transforward/transforward.ko
61 install -D -m 644 transforward.conf $RPM_BUILD_ROOT/etc/modules-load.d/transforward.conf
62 install -D -m 644 transforward.service $RPM_BUILD_ROOT/usr/lib/systemd/system/transforward.service
63 install -D -m 755 transforward.init $RPM_BUILD_ROOT/usr/sbin/transforward.init
64
65 %clean
66 rm -rf $RPM_BUILD_ROOT
67
68 %files
69 /lib/modules/%{kernel_id}
70 /etc/modules-load.d/transforward.conf
71 /usr/lib/systemd/system/transforward.service
72 /usr/sbin/transforward.init
73
74 %post
75 /sbin/depmod -a %{kernel_id}
76 /bin/systemctl enable transforward.service
77
78 %postun
79
80 %changelog
81 * Sun Jul 16 2017 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-11
82 - no glock.h in kernel 4.9
83
84 * Sun Jul 10 2016 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-10
85 - fix to compile against linux 4.6 under f24
86
87 * Fri Apr 03 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-9
88 - only cleaned up the systemd unit file to remove ControlGroup:
89
90 * Wed Feb 18 2015 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-8
91 - add a requirement to the right kernel rpm
92
93 * Wed Jul 16 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-7
94 - tweak for building against a home-made kernel
95
96 * Mon Apr 28 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-6
97 - change to specfile so depmod gets called with the right kernel version
98
99 * Fri Mar 21 2014 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-5
100 - harmless (changed default build kernel to the latest kernel in use)
101
102 * Wed Aug 28 2013 Sapan Bhatia <sapanb@cs.princeton.edu> - transforward-0.1-4
103 - * Bug fixes, which should lead to increased stability
104 - * Install via make and make install
105
106 * Mon Jul 09 2012 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - transforward-0.1-2
107 - load module at boot-time
108 - various tweaks, remove debugging statements