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