]> git.pld-linux.org Git - packages/xtables-addons.git/blame - xtables-addons.spec
- drop non-dist kernel support
[packages/xtables-addons.git] / xtables-addons.spec
CommitLineData
8bb72a08 1#
e2d21711
JR
2# UPDATE WARNING: xtables-addons 2.0 support only kernels 3.7+
3#
4#
2741a7bf 5# Conditional build:
64731849 6%bcond_without kernel # don't build kernel modules
16932b07 7%bcond_without userspace # don't build userspace tools
0b25bb47 8%bcond_with verbose # verbose build (V=1)
64731849 9
0b25bb47
JR
10# The goal here is to have main, userspace, package built once with
11# simple release number, and only rebuild kernel packages with kernel
12# version as part of release number, without the need to bump release
13# with every kernel change.
14%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
15%{error:kernel and userspace cannot be built at the same time on PLD builders}
16exit 1
17%endif
18
64731849 19%if "%{_alt_kernel}" != "%{nil}"
0b25bb47
JR
20%if 0%{?build_kernels:1}
21%{error:alt_kernel and build_kernels are mutually exclusive}
22exit 1
23%endif
64731849 24%undefine with_userspace
0b25bb47
JR
25%global _build_kernels %{alt_kernel}
26%else
27%global _build_kernels %{?build_kernels:,%{?build_kernels}}
64731849 28%endif
0b25bb47 29
64731849
TP
30%if %{without userspace}
31# nothing to be placed to debuginfo package
32%define _enable_debug_packages 0
33%endif
34
47695ee3 35%define kbrs %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo "BuildRequires:kernel%%{_alt_kernel}-module-build >= 3:3.7.0" ; done)
0b25bb47
JR
36%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
37%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
38
7bdade5e 39%define rel 1
e0de918a 40%define pname xtables-addons
fff03056
JB
41Summary: Additional extensions for xtables packet filtering system
42Summary(pl.UTF-8): Dodatkowe rozszerzenia do systemu filtrowania pakietów xtables
0b25bb47 43Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
7bdade5e 44Version: 2.5
0b25bb47 45Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
fff03056 46License: GPL v2
64731849 47Group: Networking/Admin
e0de918a 48Source0: http://downloads.sourceforge.net/xtables-addons/%{pname}-%{version}.tar.xz
7bdade5e 49# Source0-md5: 335663ece5fb17c7d0bb24dbdc697eb1
60cfc309 50URL: http://xtables-addons.sourceforge.net/
bec39f55 51BuildRequires: autoconf >= 2.65
13dd3c36 52BuildRequires: automake >= 1:1.11
84da2698 53BuildRequires: iptables-devel >= 1.4.5
d505eca3 54%{?with_kernel:%{expand:%kbrs}}
011c75bf 55BuildRequires: libtool
a88a87ac 56BuildRequires: pkgconfig >= 0.9.0
0b25bb47 57BuildRequires: rpmbuild(macros) >= 1.678
a88a87ac
TP
58BuildRequires: tar >= 1.22
59BuildRequires: xz
84da2698 60Requires: iptables >= 1.4.5
3a1015f9 61Obsoletes: iptables-ipp2p
e0de918a 62BuildRoot: %{tmpdir}/%{pname}-%{version}-root-%(id -u -n)
2741a7bf 63
63cac0db
JR
64%define _duplicate_files_terminate_build 0
65
2741a7bf 66%description
fff03056
JB
67xtables-addons is the proclaimed successor to patch-o-matic(-ng). It
68contains extensions that were not accepted in the main
69xtables/iptables package.
2741a7bf 70
fff03056 71For the tools to work, you should install kernel modules, which could
0b25bb47 72be found in kernel*-net-xtables-addons.
bcb7e0a4 73
2741a7bf 74%description -l pl.UTF-8
fff03056
JB
75xtables-addons to następca patch-o-matic(-ng). Zawiera rozszerzenia,
76które nie zostały zaakceptowane do głównego pakietu xtables/iptables.
2741a7bf 77
fff03056 78Aby narzędzia działały należy zainstalować moduły jądra, które można
0b25bb47
JR
79znaleźć w pakiecie kernel*-net-xtables-addons.
80
81%define kernel_pkg()\
82%package -n kernel%{_alt_kernel}-net-xtables-addons\
83Summary: Kernel modules for xtables addons\
84Summary(pl.UTF-8): Moudły jądra dla rozszerzeń z pakietu xtables-addons\
85Release: %{rel}@%{_kernel_ver_str}\
86Group: Base/Kernel\
87# VERSION only dependency is intentional, for allowing multiple kernel pkgs and\
88# single userspace package installs.\
89Requires: %{pname} = %{version}\
90Suggests: xtables-geoip\
91Conflicts: xtables-geoip < 20090901-2\
92Requires(post,postun): /sbin/depmod\
0b25bb47
JR
93%requires_releq_kernel\
94Requires(postun): %releq_kernel\
0b25bb47
JR
95\
96%description -n kernel%{_alt_kernel}-net-xtables-addons\
97Kernel modules for xtables addons.\
98\
99%description -n kernel%{_alt_kernel}-net-xtables-addons -l pl.UTF-8\
100Moduły jądra dla rozszerzeń z pakietu xtables-addons.\
101\
102%files -n kernel%{_alt_kernel}-net-xtables-addons\
103%defattr(644,root,root,755)\
104# restricted permissions - may contain password\
105%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/modprobe.d/xt_sysrq.conf\
0b25bb47
JR
106/lib/modules/%{_kernel_ver}/kernel/net/netfilter/compat_xtables.ko*\
107/lib/modules/%{_kernel_ver}/kernel/net/netfilter/xt_*.ko*\
108\
109%post -n kernel%{_alt_kernel}-net-xtables-addons\
110%depmod %{_kernel_ver}\
111\
112%postun -n kernel%{_alt_kernel}-net-xtables-addons\
113%depmod %{_kernel_ver}\
114%{nil}
115
116%define build_kernel_pkg()\
117srcdir=${PWD:-$(pwd)}\
118%build_kernel_modules XA_ABSTOPSRCDIR=$srcdir -C extensions -m compat_xtables\
0b25bb47
JR
119for drv in extensions/compat_xtables.ko extensions/{ACCOUNT/,pknock/,}xt_*.ko ; do\
120%install_kernel_modules -D installed -m ${drv%.ko} -d kernel/net/netfilter\
121done\
122%{nil}
123
124%{?with_kernel:%{expand:%kpkg}}
e3c9233c 125
2741a7bf 126%prep
69b400ea 127%setup -q -n %{pname}-%{version}
2741a7bf
AM
128
129%build
130%configure \
83cb19e1 131 --without-kbuild
7ad03426 132
0b25bb47 133%{?with_kernel:%{expand:%bkpkg}}
7ad03426 134
135%if %{with userspace}
60cfc309
JB
136%{__make} \
137 V=1
7ad03426 138%endif
2741a7bf
AM
139
140%install
141rm -rf $RPM_BUILD_ROOT
142
7ad03426 143%if %{with kernel}
329d0a27 144install -d $RPM_BUILD_ROOT/etc/modprobe.d
0b25bb47
JR
145
146cp -a installed/* $RPM_BUILD_ROOT
147
fd71b2e3 148cat <<'EOF' > $RPM_BUILD_ROOT/etc/modprobe.d/xt_sysrq.conf
fff03056 149# Set password at modprobe time. This file is secure if properly guarded,
fd71b2e3
ER
150# i.e only readable by root.
151#options xt_SYSRQ password=cookies
152
329d0a27
JR
153# The hash algorithm can also be specified as a module option, for example,
154# to use SHA-256 instead of the default SHA-1:
fd71b2e3
ER
155#options xt_SYSRQ hash=sha256
156EOF
60cfc309
JB
157%endif
158
159%if %{with userspace}
160%{__make} -C extensions install \
161 DESTDIR=$RPM_BUILD_ROOT
16932b07
JB
162%{__make} install-man \
163 DESTDIR=$RPM_BUILD_ROOT
60cfc309
JB
164
165%{__rm} $RPM_BUILD_ROOT%{_libdir}/libxt_ACCOUNT_cl.{la,so}
60cfc309 166%endif
fd71b2e3 167
2741a7bf
AM
168%clean
169rm -rf $RPM_BUILD_ROOT
170
a88a87ac 171%post -p /sbin/ldconfig
8f462252
AM
172%postun -p /sbin/ldconfig
173
64731849 174%if %{with userspace}
2741a7bf
AM
175%files
176%defattr(644,root,root,755)
83cb19e1 177%doc README doc/{README.psd,changelog.txt}
8f462252 178%attr(755,root,root) %{_sbindir}/iptaccount
60cfc309
JB
179%attr(755,root,root) %{_libdir}/libxt_ACCOUNT_cl.so.*.*.*
180%attr(755,root,root) %ghost %{_libdir}/libxt_ACCOUNT_cl.so.0
edb92c36 181%attr(755,root,root) %{_libdir}/xtables/libxt_*.so
32aaedb1 182%{_mandir}/man8/iptaccount.8*
8af0bca6 183%{_mandir}/man8/xtables-addons.8*
7ad03426 184%endif
This page took 0.103704 seconds and 4 git commands to generate.