updated specfile
[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 make install DESTDIR=%{buildroot} KERNEL_DIR=%{KERNEL_DIR} BINDIR=/sbin LIBDIR=/%{_lib} MANDIR=%{_mandir}
99 cp ip{6,}tables-{save,restore} $RPM_BUILD_ROOT/sbin
100 cp iptables-*.8 $RPM_BUILD_ROOT%{_mandir}/man8
101 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
102 install -c -m755 %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/iptables
103 sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE1} > ip6tables.init
104 install -c -m755 ip6tables.init $RPM_BUILD_ROOT/etc/rc.d/init.d/ip6tables
105 mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
106 install -c -m755 %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/iptables-config
107 install -c -m755 %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/iptables
108 sed -e 's;iptables;ip6tables;g' -e 's;IPTABLES;IP6TABLES;g' < %{SOURCE2} > ip6tables-config
109 install -c -m755 ip6tables-config $RPM_BUILD_ROOT/etc/sysconfig/ip6tables-config
110
111 %clean
112 rm -rf $RPM_BUILD_ROOT 
113
114 %post
115 /sbin/chkconfig --add iptables
116 if [ "$PL_BOOTCD" != "1" ] ; then
117     /sbin/service iptables restart
118 fi
119
120 %preun
121 if [ "$1" = 0 ]; then
122     /sbin/chkconfig --del iptables
123 fi
124
125 %post ipv6
126 /sbin/chkconfig --add ip6tables
127 if [ "$PL_BOOTCD" != "1" ] ; then
128     /sbin/service ip6tables restart
129 fi
130
131 %preun ipv6
132 if [ "$1" = 0 ]; then
133     /sbin/chkconfig --del ip6tables
134 fi
135
136 %files
137 %defattr(-,root,root,0755)
138 %doc COPYING INSTALL INCOMPATIBILITIES
139 %config %attr(0755,root,root) /etc/rc.d/init.d/iptables
140 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/iptables-config
141 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/iptables
142 /sbin/iptables*
143 %{_mandir}/man8/iptables*
144 %dir /%{_lib}/iptables
145 /%{_lib}/iptables/libipt*
146 /sbin/ipset*
147 %{_mandir}/man8/ipset*
148 %dir /%{_lib}/ipset
149 /%{_lib}/ipset/libipset*
150
151 %files ipv6
152 %defattr(-,root,root,0755)
153 %config %attr(0755,root,root) /etc/rc.d/init.d/ip6tables
154 %config(noreplace) %attr(0600,root,root) /etc/sysconfig/ip6tables-config
155 /sbin/ip6tables*
156 %{_mandir}/man8/ip6tables*
157 /%{_lib}/iptables/libip6t*
158
159 %if %{build_devel}
160 %files devel
161 %defattr(-,root,root,0755)
162 %{_includedir}/libipq.h
163 %{_libdir}/libipq.a
164 #%{_libdir}/libiptc.a
165 %{_mandir}/man3/*
166 %endif
167
168 %changelog
169 * Sun Feb 22 2009 Sapan Bhatia <sapanb@cs.princeton.edu>
170 - Checking in initial version of iptables 1.4.1.1