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