3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without userspace # don't build userspace tools
6 %bcond_with verbose # verbose build (V=1)
9 %undefine with_dist_kernel
11 %if "%{_alt_kernel}" != "%{nil}"
12 %undefine with_userspace
14 %if %{without userspace}
15 # nothing to be placed to debuginfo package
16 %define _enable_debug_packages 0
21 Summary: IP sets utility
22 Summary(pl.UTF-8): Narzędzie do zarządzania zbiorami IP
27 Group: Networking/Admin
28 Source0: http://ipset.netfilter.org/%{pname}-%{version}.tar.bz2
29 # Source0-md5: 306bafcd143e74911cf4c45bfe05ba6e
30 Source1: %{pname}.init
31 URL: http://ipset.netfilter.org/
32 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
33 %{?with_userspace:BuildRequires: linux-libc-headers >= 7:2.6.22.1-2}
34 BuildRequires: perl-base
35 BuildRequires: rpmbuild(macros) >= 1.379
36 Requires(post,postun): /sbin/depmod
37 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
41 can be administered by the ipset utility. Depending on the type,
42 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
43 IP addresses with MAC addresses in a way, which ensures lightning
44 speed when matching an entry against a set.
46 %description -l pl.UTF-8
47 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
48 administrować przy użyciu narzędzia ipset. W zależności od rodzaju
49 aktualnie zbiór IP może przechowywać adresy IP, numery portów
50 (TCP/UDP) lub adresy IP z adresami MAC - w sposób zapewniający
51 maksymalną szybkość przy dopasowywaniu elementu do zbioru.
54 Summary: Header files for ipset interface
55 Summary(pl.UTF-8): Pliki nagłówkowe do interfejsu ipset
56 Group: Development/Libraries
59 Header files for IPset interface.
61 %description devel -l pl.UTF-8
62 Pliki nagłówkowe do interfejsu IPset.
65 Summary: IPset init script
66 Summary(pl.UTF-8): Skrypt startowy IPset
67 Group: Networking/Admin
68 Requires(post,preun): /sbin/chkconfig
69 Requires: %{pname} = %{version}-%{release}
73 IPset initialization script.
75 %description init -l pl.UTF-8
76 Skrypt startowy IPset.
78 %package -n kernel%{_alt_kernel}-net-ipset
79 Summary: IPset kernel modules
80 Summary(pl.UTF-8): Moduły jądra oferujące wsparcie dla zbiorów IP
81 Release: %{rel}@%{_kernel_ver_str}
84 %{?with_dist_kernel:%requires_releq_kernel}
85 Requires(post,postun): /sbin/depmod
87 %description -n kernel%{_alt_kernel}-net-ipset
88 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
89 can be administered by the ipset utility. Depending on the type,
90 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
91 IP addresses with MAC addresses in a way, which ensures lightning
92 speed when matching an entry against a set.
94 This package contains kernel modules.
96 %description -n kernel%{_alt_kernel}-net-ipset -l pl.UTF-8
97 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
98 administrować przy użyciu narzędzia ipset. W zależności od rodzaju
99 aktualnie zbiór IP może przechowywać adresy IP, numery portów
100 (TCP/UDP) lub adresy IP z adresami MAC - w sposób zapewniający
101 maksymalną szybkość przy dopasowywaniu elementu do zbioru.
103 Ten pakiet zawiera moduły jądra oferujące wsparcie dla zbiorów IP.
106 %setup -q -n %{pname}-%{version}
107 mv kernel/{Kbuild,Makefile}
109 # maximum number of ipsets.
110 %{__sed} -i 's:$(IP_NF_SET_MAX):256:' kernel/Makefile
111 # hash size for bindings of IP sets.
112 %{__sed} -i 's:$(IP_NF_SET_HASHSIZE):1024:' kernel/Makefile
113 # these options can be overriden by module parameters.
116 %if %{with userspace}
119 PREFIX="%{_prefix}" \
120 LIBDIR="%{_libdir}" \
121 MANDIR="%{_mandir}" \
122 BINDIR="%{_sbindir}" \
123 COPT_FLAGS:="%{rpmcflags}"
127 # ugly hack for satisfy rpm build macro. in fact all modules will be build.
128 %build_kernel_modules -C kernel -m ip_set
132 rm -rf $RPM_BUILD_ROOT
134 %if %{with userspace}
135 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_includedir}}
137 %{__make} binaries_install \
138 DESTDIR="$RPM_BUILD_ROOT" \
139 PREFIX="%{_prefix}" \
140 LIBDIR="%{_libdir}" \
141 MANDIR="%{_mandir}" \
144 install *.h $RPM_BUILD_ROOT%{_includedir}
145 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
150 %install_kernel_modules -m ip_set -d kernel/net/ipv4/netfilter
151 install ip_set_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter
152 install ipt_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter
157 rm -rf $RPM_BUILD_ROOT
160 /sbin/chkconfig --add %{pname}
163 if [ "$1" = "0" ]; then
164 /sbin/chkconfig --del %{pname}
167 %post -n kernel%{_alt_kernel}-net-ipset
168 %depmod %{_kernel_ver}
170 %postun -n kernel%{_alt_kernel}-net-ipset
171 %depmod %{_kernel_ver}
173 %if %{with userspace}
175 %defattr(644,root,root,755)
176 %doc ChangeLog ChangeLog.ippool TODO
177 %attr(755,root,root) %{_sbindir}/*
178 %dir %{_libdir}/ipset
179 %attr(755,root,root) %{_libdir}/ipset/*.so
183 %defattr(644,root,root,755)
187 %defattr(644,root,root,755)
188 %attr(754,root,root) /etc/rc.d/init.d/ipset
192 %files -n kernel%{_alt_kernel}-net-ipset
193 %defattr(644,root,root,755)
194 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/*.ko*