tweaking makefile
[iptables.git] / iptables.spec
1 #
2 # $Id: iproute.spec 7668 2008-01-08 11:49:43Z thierry $
3 #
4 %define url $URL: svn+ssh://thierry@svn.planet-lab.org/svn/iproute2/trunk/iproute.spec $
5
6 %define name iptables
7 %define version 1.4.1.1
8 %define taglevel 0
9
10 %define release %{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
11
12 Vendor: PlanetLab
13 Packager: PlanetLab Central <support@planet-lab.org>
14 Distribution: PlanetLab %{plrelease}
15 URL: %(echo %{url} | cut -d ' ' -f 2)
16
17 %define build_devel 1
18 %define linux_header 0
19
20 Summary: Tools for managing Linux kernel packet filtering capabilities.
21 Name: %{name}
22 Version: %{version}
23 Release: %{release}
24 Source: http://www.netfilter.org/%{name}-%{version}.tar.bz2
25 %define SOURCE1 iptables.init
26 %define SOURCE2 iptables-config
27 %define SOURCE3 planetlab-config
28 Group: System Environment/Base
29 #URL: http://www.netfilter.org/
30 BuildRoot: %{_tmppath}/%{name}-buildroot
31 License: GPL
32 BuildPrereq: /usr/bin/perl
33 Requires: kernel >= 2.4.20
34 Requires(post,postun): chkconfig
35 Prefix: %{_prefix}
36 BuildRequires: kernel-devel
37
38 %package ipv6
39 Summary: IPv6 support for iptables.
40 Group: System Environment/Base
41 Requires: %{name} = %{version}
42
43 %if %{build_devel}
44 %package devel
45 Summary: Development package for iptables.
46 Group: System Environment/Base
47 Requires: %{name} = %{version}
48 %endif
49
50 %description
51 The iptables utility controls the network packet filtering code in the
52 Linux kernel. If you need to set up firewalls and/or IP masquerading,
53 you should install this package.
54
55 %description ipv6
56 The iptables package contains IPv6 (the next version of the IP
57 protocol) support for iptables. Iptables controls the Linux kernel
58 network packet filtering code, allowing you to set up firewalls and IP
59 masquerading. 
60
61 Install iptables-ipv6 if you need to set up firewalling for your
62 network and you are using ipv6.
63
64 %if %{build_devel}
65 %description devel
66 The iptables utility controls the network packet filtering code in the
67 Linux kernel. If you need to set up firewalls and/or IP masquerading,
68 you should install this package.
69 %endif
70
71 %prep
72 rm -rf %{buildroot}
73
74 %setup -q
75
76 # Put it to a reasonable place
77 find . -type f -exec perl -pi -e "s,/usr,%{prefix},g" {} \;
78
79 %build
80 TOPDIR=`pwd`
81 OPT="$RPM_OPT_FLAGS -I$TOPDIR/include"
82
83 %define KERNEL %(rpm -q --qf '%%{VERSION}-%%{RELEASE}-%%{ARCH}\\n' kernel-devel | tail -n 1 )
84 count=$(rpm -q kernel-devel| wc -l)
85 if [ $count -gt 1 ] ; then
86         echo "WARNING: choosing kernel-devel-%{KERNEL}"
87         echo "  but there are other kernel-devel packages installed: $(rpm -q kernel-devel)"
88 fi
89         
90 %define KERNEL_DIR "/usr/src/kernels/%{KERNEL}"
91
92 ./configure
93 make COPT_FLAGS="$OPT" KERNEL_DIR=%{KERNEL_DIR} LIBDIR=/%{_lib}
94 make COPT_FLAGS="$OPT" KERNEL_DIR=%{KERNEL_DIR} LIBDIR=/%{_lib} iptables-save iptables-restore
95 make COPT_FLAGS="$OPT" KERNEL_DIR=%{KERNEL_DIR} LIBDIR=/%{_lib} ip6tables-save ip6tables-restore
96
97 %install
98 mkdir -p %{buildroot}/sbin
99 make install DESTDIR=%{buildroot} KERNEL_DIR=%{KERNEL_DIR} BINDIR=/sbin LIBDIR=/%{_lib} MANDIR=%{_mandir}
100 cp ip{6,}tables-{save,restore} $RPM_BUILD_ROOT/sbin
101 mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
102 cp iptables-*.8 $RPM_BUILD_ROOT%{_mandir}/man8
103 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
104 install -c -m755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/iptables
105 sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE1} > ip6tables.init
106 install -c -m755 ip6tables.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ip6tables
107 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
108 install -c -m755 %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/iptables-config
109 install -c -m755 %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/iptables
110 sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE2} > ip6tables-config
111 install -c -m755 ip6tables-config $RPM_BUILD_ROOT/etc/sysconfig/ip6tables-config
112
113 %clean
114 rm -rf $RPM_BUILD_ROOT 
115
116 %post
117 /sbin/chkconfig --add iptables
118 if [ "$PL_BOOTCD" != "1" ] ; then
119     /sbin/service iptables restart
120 fi
121
122 %preun
123 if [ "$1" = 0 ]; then
124     /sbin/chkconfig --del iptables
125 fi
126
127 %post ipv6
128 /sbin/chkconfig --add ip6tables
129 if [ "$PL_BOOTCD" != "1" ] ; then
130     /sbin/service ip6tables restart
131 fi
132
133 %preun ipv6
134 if [ "$1" = 0 ]; then
135     /sbin/chkconfig --del ip6tables
136 fi
137
138 %files
139 %defattr(-,root,root,0755)
140 %doc COPYING INSTALL INCOMPATIBILITIES
141 %config %attr(0755,root,root) /etc/rc.d/init.d/iptables
142 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/iptables-config
143 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/iptables
144 /sbin/iptables*
145 %{_mandir}/man8/iptables*
146 %dir /%{_lib}/iptables
147 /%{_lib}/iptables/libipt*
148 /sbin/ipset*
149 %{_mandir}/man8/ipset*
150 %dir /%{_lib}/ipset
151 /%{_lib}/ipset/libipset*
152
153 %files ipv6
154 %defattr(-,root,root,0755)
155 %config %attr(0755,root,root) /etc/rc.d/init.d/ip6tables
156 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/ip6tables-config
157 /sbin/ip6tables*
158 %{_mandir}/man8/ip6tables*
159 /%{_lib}/iptables/libip6t*
160
161 %if %{build_devel}
162 %files devel
163 %defattr(-,root,root,0755)
164 %{_includedir}/libipq.h
165 %{_libdir}/libipq.a
166 #%{_libdir}/libiptc.a
167 %{_mandir}/man3/*
168 %endif
169
170 %changelog
171 * Sun Feb 22 2009 Sapan Bhatia <sapanb@cs.princeton.edu>
172 - Checking in initial version of iptables 1.4.1.1