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