5 %bcond_without dist_kernel # without distribution kernel
6 %bcond_without kernel # don't build kernel modules
7 %bcond_without userspace # # don't build userspace tools
8 %bcond_with verbose # verbose build (V=1)
11 %undefine with_dist_kernel
13 %if "%{_alt_kernel}" != "%{nil}"
14 %undefine with_userspace
16 %if %{without userspace}
17 # nothing to be placed to debuginfo package
18 %define _enable_debug_packages 0
22 Summary: Extensible packet filtering system && extensible NAT system
23 Summary(pl.UTF-8): System filtrowania pakietów oraz system translacji adresów (NAT)
24 Summary(pt_BR.UTF-8): Ferramenta para controlar a filtragem de pacotes no kernel-2.6.x
25 Summary(ru.UTF-8): Утилиты для управления пакетными фильтрами ядра Linux
26 Summary(uk.UTF-8): Утиліти для керування пакетними фільтрами ядра Linux
27 Summary(zh_CN.UTF-8): Linux内核包过滤管理工具
32 Group: Networking/Admin
33 Source0: http://downloads.sourceforge.net/xtables-addons/%{name}-%{version}.tar.xz
34 # Source0-md5: b94fe23370a1294b985e9a06a0f9d129
35 URL: http://xtables-addons.sourceforge.net/
36 Patch0: kernelrelease.patch
37 BuildRequires: autoconf
38 BuildRequires: automake
39 BuildRequires: iptables-devel >= 1.4.3
40 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.25}
41 BuildRequires: libtool
42 BuildRequires: pkgconfig
43 BuildRequires: rpmbuild(macros) >= 1.379
44 Requires: iptables >= 1.4.3
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
47 # use macro, so adapter won't try to wrap
48 %define kpackage kernel%{_alt_kernel}-net-xtables-addons = %{version}-%{rel}@%{_kernel_ver_str}
51 An extensible NAT system, and an extensible packet filtering system.
52 Replacement of ipchains in 2.6 and higher kernels.
54 You should have %{kpackage} installed for the tools to work.
56 %description -l pl.UTF-8
57 Wydajny system translacji adresów (NAT) oraz system filtrowania
58 pakietów. Zamiennik ipchains w jądrach 2.6 i nowszych.
60 %description -l pt_BR.UTF-8
61 Esta é a ferramenta que controla o código de filtragem de pacotes do
62 kernel 2.6, obsoletando ipchains. Com esta ferramenta você pode
63 configurar filtros de pacotes, NAT, mascaramento (masquerading),
64 regras dinâmicas (stateful inspection), etc.
66 %description -l ru.UTF-8
67 xtables-addons управляют кодом фильтрации сетевых пакетов в ядре
68 Linux. Они позволяют вам устанавливать межсетевые экраны (firewalls) и
69 IP маскарадинг, и т.п.
71 %description -l uk.UTF-8
72 xtables-addons управляють кодом фільтрації пакетів мережі в ядрі
73 Linux. Вони дозволяють вам встановлювати міжмережеві екрани
74 (firewalls) та IP маскарадинг, тощо.
76 %package -n kernel%{_alt_kernel}-net-xtables-addons
77 Summary: Kernel modules for xtables addons
78 Summary(pl.UTF-8): Moudły jądra dla xtables addons
79 Release: %{rel}@%{_kernel_ver_str}
81 # VERSION only dependency is intentional, for allowing multiple kernel pkgs and
82 # single userspace package installs.
83 Requires: %{name} = %{version}
84 Suggests: xtables-geoip
85 Conflicts: xtables-geoip < 20090901-2
86 %{?with_dist_kernel:%requires_releq_kernel}
87 Requires(post,postun): /sbin/depmod
89 %description -n kernel%{_alt_kernel}-net-xtables-addons
90 Kernel modules for xtables addons.
92 %description -n kernel%{_alt_kernel}-net-xtables-addons -l pl.UTF-8
93 Moduły jądra dla xtables addons.
99 %{__sed} -i -e 's#build_ipset=m#build_ipset=n#' mconfig
110 srcdir=${PWD:-$(pwd)}
111 %build_kernel_modules V=1 XA_ABSTOPSRCDIR=$srcdir -C extensions -m compat_xtables
114 %if %{with userspace}
119 rm -rf $RPM_BUILD_ROOT
120 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter,%{_mandir}/man8}
124 %install_kernel_modules -m compat_xtables -d kernel/net/netfilter
125 install -p xt_*ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/netfilter
129 %if %{with userspace}
130 %{__make} -C extensions install \
131 DESTDIR=$RPM_BUILD_ROOT
133 rm -f $RPM_BUILD_ROOT%{_libdir}/libxt_ACCOUNT_cl.{la,so}
134 # provided by iptables
135 rm -f $RPM_BUILD_ROOT%{_libdir}/xtables/libxt_TEE.so
137 install -d $RPM_BUILD_ROOT%{_mandir}/man8
138 cp -a xtables-addons.8 $RPM_BUILD_ROOT%{_mandir}/man8
140 install -d $RPM_BUILD_ROOT/etc/modprobe.d
141 cat <<'EOF' > $RPM_BUILD_ROOT/etc/modprobe.d/xt_sysrq.conf
142 # Set password at modprobe time. if this file is secure if properly guarded,
143 # i.e only readable by root.
144 #options xt_SYSRQ password=cookies
146 # The hash algorithm can also be specified as a module option, for example, to use SHA-256 instead of the default SHA-1:
147 #options xt_SYSRQ hash=sha256
153 rm -rf $RPM_BUILD_ROOT
155 %post -p /sbin/ldconfig
156 %postun -p /sbin/ldconfig
158 %post -n kernel%{_alt_kernel}-net-xtables-addons
159 %depmod %{_kernel_ver}
161 %postun -n kernel%{_alt_kernel}-net-xtables-addons
162 %depmod %{_kernel_ver}
164 %if %{with userspace}
166 %defattr(644,root,root,755)
167 %attr(755,root,root) %{_sbindir}/iptaccount
168 %attr(755,root,root) %{_libdir}/xtables/libxt_*.so
169 %attr(755,root,root) %{_libdir}/libxt_ACCOUNT_cl.so.*
170 %{_mandir}/man8/xtables-addons.8*
174 %files -n kernel%{_alt_kernel}-net-xtables-addons
175 %defattr(644,root,root,755)
176 %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/xt_sysrq.conf
177 /lib/modules/%{_kernel_ver}/kernel/net/netfilter/compat_xtables.ko.gz
178 /lib/modules/%{_kernel_ver}/kernel/net/netfilter/xt_*.ko.gz