]> git.pld-linux.org Git - packages/iptables.git/blob - iptables.spec
- release 3
[packages/iptables.git] / iptables.spec
1 #
2 # TODO:
3 # - fix makefile (-D_UNKNOWN_KERNEL_POINTER_SIZE issue)
4 # - owner needs rewrite to xt
5 #
6 # NOTE: be prepared for removing following modules as soon as they won't compile:
7 # - ipt_account was removed from kernel and replaced with xt_ACCOUNT (xtables-addons),
8 # - ipt_ipv4options was not yet removed from kernel, but it is obsoleted by xt_ipv4options
9 #
10 # Conditional build:
11 %bcond_without  doc             # without documentation (HOWTOS) which needed TeX
12 %bcond_without  dist_kernel     # without distribution kernel
13 %bcond_without  vserver         # kernel build without vserver
14 %bcond_with     batch           # build iptables-batch
15 %bcond_with     static
16 #
17 %define         netfilter_snap          20070806
18 %define         llh_version             7:2.6.22.1
19 %define         name6                   ip6tables
20 Summary:        Extensible packet filtering system && extensible NAT system
21 Summary(pl.UTF-8):      System filtrowania pakietów oraz system translacji adresów (NAT)
22 Summary(pt_BR.UTF-8):   Ferramenta para controlar a filtragem de pacotes no kernel-2.6.x
23 Summary(ru.UTF-8):      Утилиты для управления пакетными фильтрами ядра Linux
24 Summary(uk.UTF-8):      Утиліти для керування пакетними фільтрами ядра Linux
25 Summary(zh_CN.UTF-8):   Linux内核包过滤管理工具
26 Name:           iptables
27 Version:        1.4.10
28 Release:        3
29 License:        GPL
30 Group:          Networking/Admin
31 Source0:        ftp://ftp.netfilter.org/pub/iptables/%{name}-%{version}.tar.bz2
32 # Source0-md5:  f382fe693f0b59d87bd47bea65eca198
33 Source1:        cvs://cvs.samba.org/netfilter/%{name}-howtos.tar.bz2
34 # Source1-md5:  2ed2b452daefe70ededd75dc0061fd07
35 Source2:        %{name}.init
36 Source3:        %{name6}.init
37 Patch0:         %{name}-%{netfilter_snap}.patch
38 Patch1:         %{name}-man.patch
39 # based on http://www.linuximq.net/patchs/iptables-1.4.6-imq.diff
40 Patch2:         %{name}-imq.patch
41 # http://www.balabit.com/downloads/files/tproxy/tproxy-iptables-20080204-1915.patch
42 Patch3:         %{name}-tproxy.patch
43 Patch4:         %{name}-stealth.patch
44 # almost based on iptables-1.4-for-kernel-2.6.20forward-layer7-2.18.patch
45 # http://switch.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.18.tar.gz
46 Patch5:         %{name}-layer7.patch
47 Patch6:         %{name}-old-1.3.7.patch
48 # http://people.linux-vserver.org/~dhozac/p/m/iptables-1.3.5-owner-xid.patch
49 Patch8:         %{name}-1.3.5-owner-xid.patch
50 Patch9:         %{name}-batch.patch
51 Patch10:        %{name}-headers.patch
52 Patch11:        %{name}-owner-struct-size-vs.patch
53 Patch999:       %{name}-llh-dirty-hack.patch
54 URL:            http://www.netfilter.org/
55 BuildRequires:  autoconf
56 BuildRequires:  automake
57 BuildRequires:  groff
58 BuildRequires:  libnfnetlink-devel
59 BuildRequires:  libtool
60 BuildRequires:  pkgconfig >= 0.9.0
61 %if %{with doc}
62 BuildRequires:  sed >= 4.0
63 BuildRequires:  sgml-tools
64 BuildRequires:  sgmls
65 BuildRequires:  tetex-dvips
66 BuildRequires:  tetex-format-latex
67 BuildRequires:  tetex-latex
68 BuildRequires:  tetex-tex-babel
69 %endif
70 %if %{with dist_kernel} && %{netfilter_snap} != 0
71 BuildRequires:  kernel%{_alt_kernel}-headers(netfilter) >= %{netfilter_snap}
72 BuildRequires:  kernel%{_alt_kernel}-source
73 %endif
74 #BuildRequires: linux-libc-headers >= %{llh_version}
75 BuildConflicts: kernel-headers < 2.3.0
76 Provides:       firewall-userspace-tool
77 Obsoletes:      ipchains
78 Obsoletes:      iptables-ipp2p
79 Obsoletes:      iptables24-compat
80 Obsoletes:      netfilter
81 Conflicts:      xtables-addons < 1.14
82 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
83
84 %description
85 An extensible NAT system, and an extensible packet filtering system.
86 Replacement of ipchains in 2.4 and higher kernels.
87
88 %description -l pl.UTF-8
89 Wydajny system translacji adresów (NAT) oraz system filtrowania
90 pakietów. Zamiennik ipchains w jądrach 2.4 i nowszych.
91
92 %description -l pt_BR.UTF-8
93 Esta é a ferramenta que controla o código de filtragem de pacotes do
94 kernel 2.4, obsoletando ipchains. Com esta ferramenta você pode
95 configurar filtros de pacotes, NAT, mascaramento (masquerading),
96 regras dinâmicas (stateful inspection), etc.
97
98 %description -l ru.UTF-8
99 iptables управляют кодом фильтрации сетевых пакетов в ядре Linux. Они
100 позволяют вам устанавливать межсетевые экраны (firewalls) и IP
101 маскарадинг, и т.п.
102
103 %description -l uk.UTF-8
104 iptables управляють кодом фільтрації пакетів мережі в ядрі Linux. Вони
105 дозволяють вам встановлювати міжмережеві екрани (firewalls) та IP
106 маскарадинг, тощо.
107
108 %package libs
109 Summary:        iptables libraries
110 Summary(pl.UTF-8):      Biblioteki iptables
111 Group:          Libraries
112 Conflicts:      iptables < 1.4.3-1
113
114 %description libs
115 iptables libraries.
116
117 %description libs -l pl.UTF-8
118 Biblioteki iptables.
119
120 %package devel
121 Summary:        Libraries and headers for developing iptables extensions
122 Summary(pl.UTF-8):      Biblioteki i nagłówki do tworzenia rozszerzeń iptables
123 Group:          Development/Libraries
124 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
125 Obsoletes:      iptables24-devel
126
127 %description devel
128 Libraries and headers for developing iptables extensions.
129
130 %description devel -l pl.UTF-8
131 Biblioteki i pliki nagłówkowe niezbędne do tworzenia rozszerzeń dla
132 iptables.
133
134 %package static
135 Summary:        Static iptables libraries
136 Summary(pl.UTF-8):      Biblioteki statyczne iptables
137 Group:          Development/Libraries
138 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
139
140 %description static
141 Static iptables libraries.
142
143 %description devel -l pl.UTF-8
144 Biblioteki statyczne iptables.
145
146 %package init
147 Summary:        Iptables init (RedHat style)
148 Summary(pl.UTF-8):      Iptables init (w stylu RedHata)
149 Group:          Networking/Admin
150 Requires(post,preun):   /sbin/chkconfig
151 Requires:       %{name}
152 Requires:       rc-scripts
153 Obsoletes:      firewall-init
154 Obsoletes:      firewall-init-ipchains
155 Obsoletes:      iptables24-init
156
157 %description init
158 Iptables-init is meant to provide an alternate way than firewall-init
159 to start and stop packet filtering through iptables(8).
160
161 %description init -l pl.UTF-8
162 Iptables-init ma na celu udostępnienie alternatywnego w stosunku do
163 firewall-init sposobu włączania i wyłączania filtrów IP jądra poprzez
164 iptables(8).
165
166 %prep
167 %setup -q -a1
168 %if %{with dist_kernel}
169 %patch0 -p1
170 %endif
171 %patch1 -p1
172 %patch2 -p0
173 #%patch3 -p0
174 # builds but init() api is broken, see warnings
175 #%patch4 -p1
176 %if %{with dist_kernel}
177 %patch5 -p1
178 %patch6 -p1
179 %endif
180 %if %{with vserver}
181 #patch8 -p1
182 %patch11 -p1
183 %endif
184 %if %{with batch}
185 %patch9 -p1
186 %endif
187 #%patch10 -p1
188
189 #patch999 -p1
190
191 %build
192 %{__libtoolize}
193 %{__aclocal} -I m4
194 %{__autoconf}
195 %{__automake}
196 %configure \
197         CFLAGS="%{rpmcflags} %{rpmcppflags} -D%{!?debug:N}DEBUG" \
198         --with-kbuild=%{_kernelsrcdir} \
199         --with-ksource=%{_kernelsrcdir} \
200         --enable-devel \
201         --enable-libipq \
202         %{?with_static:--enable-static} \
203         --enable-shared
204
205 %{__make} V=1 all
206
207 %if %{with doc}
208 %{__make} -j1 -C iptables-howtos
209 sed -i 's:$(HTML_HOWTOS)::g; s:$(PSUS_HOWTOS)::g' iptables-howtos/Makefile
210 %endif
211
212 # Make a library, needed for OpenVCP
213 ar rcs libiptables.a iptables*.o
214 ar rcs libip6tables.a ip6tables*.o
215
216 %install
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_includedir},%{_libdir},%{_mandir}/man3}
219
220 %{__make} install \
221         DESTDIR=$RPM_BUILD_ROOT \
222         BINDIR=%{_sbindir} \
223         MANDIR=%{_mandir} \
224         LIBDIR=%{_libdir}
225
226 # install library needed for collectd:
227 #install libiptc/libiptc.a $RPM_BUILD_ROOT%{_libdir}
228
229 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
230 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name6}
231
232 %clean
233 rm -rf $RPM_BUILD_ROOT
234
235 %post libs -p /sbin/ldconfig
236 %postun libs -p /sbin/ldconfig
237
238 %post init
239 /sbin/chkconfig --add %{name}
240 /sbin/chkconfig --add %{name6}
241
242 %preun init
243 if [ "$1" = "0" ]; then
244         /sbin/chkconfig --del %{name}
245         /sbin/chkconfig --del %{name6}
246 fi
247
248 %files
249 %defattr(644,root,root,755)
250 %{?with_doc:%doc iptables-howtos/{NAT,networking-concepts,packet-filtering}-HOWTO*}
251 %attr(755,root,root) %{_bindir}/iptables-xml
252 %attr(755,root,root) %{_sbindir}/iptables
253 %attr(755,root,root) %{_sbindir}/iptables-multi
254 %attr(755,root,root) %{_sbindir}/iptables-restore
255 %attr(755,root,root) %{_sbindir}/iptables-save
256 %attr(755,root,root) %{_sbindir}/ip6tables
257 %attr(755,root,root) %{_sbindir}/ip6tables-multi
258 %attr(755,root,root) %{_sbindir}/ip6tables-restore
259 %attr(755,root,root) %{_sbindir}/ip6tables-save
260 %if %{with batch}
261 %attr(755,root,root) %{_sbindir}/iptables-batch
262 %attr(755,root,root) %{_sbindir}/ip6tables-batch
263 %endif
264 %attr(755,root,root) %{_sbindir}/nfnl_osf
265 %dir %{_libdir}/xtables
266 %{_datadir}/xtables
267 %if %{with dist_kernel}
268 %attr(755,root,root) %{_libdir}/xtables/libip6t_ah.so
269 %attr(755,root,root) %{_libdir}/xtables/libip6t_dst.so
270 %attr(755,root,root) %{_libdir}/xtables/libip6t_eui64.so
271 %attr(755,root,root) %{_libdir}/xtables/libip6t_frag.so
272 %attr(755,root,root) %{_libdir}/xtables/libip6t_hbh.so
273 %attr(755,root,root) %{_libdir}/xtables/libip6t_hl.so
274 %attr(755,root,root) %{_libdir}/xtables/libip6t_HL.so
275 %attr(755,root,root) %{_libdir}/xtables/libip6t_icmp6.so
276 %attr(755,root,root) %{_libdir}/xtables/libip6t_ipv6header.so
277 %attr(755,root,root) %{_libdir}/xtables/libip6t_LOG.so
278 %attr(755,root,root) %{_libdir}/xtables/libip6t_mh.so
279 #%attr(755,root,root) %{_libdir}/xtables/libip6t_policy.so
280 %attr(755,root,root) %{_libdir}/xtables/libip6t_REJECT.so
281 %attr(755,root,root) %{_libdir}/xtables/libip6t_rt.so
282 #attr(755,root,root) %{_libdir}/xtables/libipt_ACCOUNT.so
283 %attr(755,root,root) %{_libdir}/xtables/libipt_addrtype.so
284 %attr(755,root,root) %{_libdir}/xtables/libipt_ah.so
285 %attr(755,root,root) %{_libdir}/xtables/libipt_CLUSTERIP.so
286 %attr(755,root,root) %{_libdir}/xtables/libipt_DNAT.so
287 %attr(755,root,root) %{_libdir}/xtables/libipt_ecn.so
288 %attr(755,root,root) %{_libdir}/xtables/libipt_ECN.so
289 %attr(755,root,root) %{_libdir}/xtables/libipt_icmp.so
290 #%attr(755,root,root) %{_libdir}/xtables/libipt_ipv4options.so
291 %attr(755,root,root) %{_libdir}/xtables/libipt_IPV4OPTSSTRIP.so
292 %attr(755,root,root) %{_libdir}/xtables/libipt_LOG.so
293 %attr(755,root,root) %{_libdir}/xtables/libipt_MASQUERADE.so
294 %attr(755,root,root) %{_libdir}/xtables/libipt_MIRROR.so
295 %attr(755,root,root) %{_libdir}/xtables/libipt_NETMAP.so
296 #%attr(755,root,root) %{_libdir}/xtables/libipt_policy.so
297 %attr(755,root,root) %{_libdir}/xtables/libipt_realm.so
298 %attr(755,root,root) %{_libdir}/xtables/libipt_REDIRECT.so
299 %attr(755,root,root) %{_libdir}/xtables/libipt_REJECT.so
300 %attr(755,root,root) %{_libdir}/xtables/libipt_rpc.so
301 %attr(755,root,root) %{_libdir}/xtables/libipt_SAME.so
302 %attr(755,root,root) %{_libdir}/xtables/libipt_SNAT.so
303 #%attr(755,root,root) %{_libdir}/xtables/libipt_stealth.so
304 %attr(755,root,root) %{_libdir}/xtables/libipt_ttl.so
305 %attr(755,root,root) %{_libdir}/xtables/libipt_TTL.so
306 %attr(755,root,root) %{_libdir}/xtables/libipt_ULOG.so
307 %attr(755,root,root) %{_libdir}/xtables/libipt_unclean.so
308 %attr(755,root,root) %{_libdir}/xtables/libxt_CHECKSUM.so
309 %attr(755,root,root) %{_libdir}/xtables/libxt_CLASSIFY.so
310 %attr(755,root,root) %{_libdir}/xtables/libxt_cluster.so
311 %attr(755,root,root) %{_libdir}/xtables/libxt_comment.so
312 %attr(755,root,root) %{_libdir}/xtables/libxt_connbytes.so
313 %attr(755,root,root) %{_libdir}/xtables/libxt_connlimit.so
314 %attr(755,root,root) %{_libdir}/xtables/libxt_connmark.so
315 %attr(755,root,root) %{_libdir}/xtables/libxt_CONNMARK.so
316 %attr(755,root,root) %{_libdir}/xtables/libxt_CONNSECMARK.so
317 %attr(755,root,root) %{_libdir}/xtables/libxt_conntrack.so
318 %attr(755,root,root) %{_libdir}/xtables/libxt_cpu.so
319 %attr(755,root,root) %{_libdir}/xtables/libxt_CT.so
320 %attr(755,root,root) %{_libdir}/xtables/libxt_dccp.so
321 %attr(755,root,root) %{_libdir}/xtables/libxt_dscp.so
322 %attr(755,root,root) %{_libdir}/xtables/libxt_DSCP.so
323 %attr(755,root,root) %{_libdir}/xtables/libxt_esp.so
324 %attr(755,root,root) %{_libdir}/xtables/libxt_hashlimit.so
325 %attr(755,root,root) %{_libdir}/xtables/libxt_helper.so
326 %attr(755,root,root) %{_libdir}/xtables/libxt_IDLETIMER.so
327 %attr(755,root,root) %{_libdir}/xtables/libxt_IMQ.so
328 %attr(755,root,root) %{_libdir}/xtables/libxt_iprange.so
329 %attr(755,root,root) %{_libdir}/xtables/libxt_ipvs.so
330 %attr(755,root,root) %{_libdir}/xtables/libxt_LED.so
331 %attr(755,root,root) %{_libdir}/xtables/libxt_layer7.so
332 %attr(755,root,root) %{_libdir}/xtables/libxt_length.so
333 %attr(755,root,root) %{_libdir}/xtables/libxt_limit.so
334 %attr(755,root,root) %{_libdir}/xtables/libxt_mac.so
335 %attr(755,root,root) %{_libdir}/xtables/libxt_mark.so
336 %attr(755,root,root) %{_libdir}/xtables/libxt_MARK.so
337 %attr(755,root,root) %{_libdir}/xtables/libxt_multiport.so
338 %attr(755,root,root) %{_libdir}/xtables/libxt_NFLOG.so
339 %attr(755,root,root) %{_libdir}/xtables/libxt_NFQUEUE.so
340 %attr(755,root,root) %{_libdir}/xtables/libxt_NOTRACK.so
341 %attr(755,root,root) %{_libdir}/xtables/libxt_owner.so
342 %attr(755,root,root) %{_libdir}/xtables/libxt_osf.so
343 %attr(755,root,root) %{_libdir}/xtables/libxt_physdev.so
344 %attr(755,root,root) %{_libdir}/xtables/libxt_pkttype.so
345 %attr(755,root,root) %{_libdir}/xtables/libxt_policy.so
346 %attr(755,root,root) %{_libdir}/xtables/libxt_recent.so
347 %attr(755,root,root) %{_libdir}/xtables/libxt_quota.so
348 %attr(755,root,root) %{_libdir}/xtables/libxt_RATEEST.so
349 %attr(755,root,root) %{_libdir}/xtables/libxt_rateest.so
350 %attr(755,root,root) %{_libdir}/xtables/libxt_sctp.so
351 %attr(755,root,root) %{_libdir}/xtables/libxt_SECMARK.so
352 %attr(755,root,root) %{_libdir}/xtables/libxt_set.so
353 %attr(755,root,root) %{_libdir}/xtables/libxt_SET.so
354 %attr(755,root,root) %{_libdir}/xtables/libxt_socket.so
355 %attr(755,root,root) %{_libdir}/xtables/libxt_standard.so
356 %attr(755,root,root) %{_libdir}/xtables/libxt_state.so
357 %attr(755,root,root) %{_libdir}/xtables/libxt_statistic.so
358 %attr(755,root,root) %{_libdir}/xtables/libxt_string.so
359 %attr(755,root,root) %{_libdir}/xtables/libxt_tcpmss.so
360 %attr(755,root,root) %{_libdir}/xtables/libxt_TCPMSS.so
361 %attr(755,root,root) %{_libdir}/xtables/libxt_TCPOPTSTRIP.so
362 %attr(755,root,root) %{_libdir}/xtables/libxt_tcp.so
363 %attr(755,root,root) %{_libdir}/xtables/libxt_TEE.so
364 %attr(755,root,root) %{_libdir}/xtables/libxt_time.so
365 %attr(755,root,root) %{_libdir}/xtables/libxt_tos.so
366 %attr(755,root,root) %{_libdir}/xtables/libxt_TOS.so
367 %attr(755,root,root) %{_libdir}/xtables/libxt_TPROXY.so
368 %attr(755,root,root) %{_libdir}/xtables/libxt_TRACE.so
369 %attr(755,root,root) %{_libdir}/xtables/libxt_u32.so
370 %attr(755,root,root) %{_libdir}/xtables/libxt_udp.so
371 %else
372 %attr(755,root,root) %{_libdir}/xtables/*.so
373 %endif
374 %{_mandir}/man8/*
375
376 %files libs
377 %defattr(644,root,root,755)
378 %attr(755,root,root) %ghost %{_libdir}/libipq.so.0
379 %attr(755,root,root) %{_libdir}/libipq.so.*.*
380 %attr(755,root,root) %ghost %{_libdir}/libiptc.so.0
381 %attr(755,root,root) %{_libdir}/libiptc.so.*.*
382 %attr(755,root,root) %ghost %{_libdir}/libip4tc.so.0
383 %attr(755,root,root) %{_libdir}/libip4tc.so.*.*
384 %attr(755,root,root) %ghost %{_libdir}/libip6tc.so.0
385 %attr(755,root,root) %{_libdir}/libip6tc.so.*.*
386 %attr(755,root,root) %ghost %{_libdir}/libxtables.so.5
387 %attr(755,root,root) %{_libdir}/libxtables.so.*.*
388
389 %files devel
390 %defattr(644,root,root,755)
391 %{?with_doc:%doc iptables-howtos/netfilter-hacking-HOWTO*}
392 %attr(755,root,root) %{_libdir}/lib*.so
393 %{_libdir}/lib*.la
394 %{_includedir}/*.h
395 %{_includedir}/libiptc
396 %{_pkgconfigdir}/*.pc
397 %{_mandir}/man3/*
398
399 %if %{with static}
400 %files static
401 %defattr(644,root,root,755)
402 %{_libdir}/lib*.a
403 %endif
404
405 %files init
406 %defattr(644,root,root,755)
407 %attr(754,root,root) /etc/rc.d/init.d/iptables
408 %attr(754,root,root) /etc/rc.d/init.d/ip6tables
This page took 0.12115 seconds and 4 git commands to generate.