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