3 # - patch our kernel to provide the needed API and update
4 # the dependencies here
7 %bcond_without dist_kernel # allow non-distribution kernel
8 %bcond_without kernel # don't build kernel modules
9 %bcond_without userspace # don't build userspace tools
10 %bcond_with verbose # verbose build (V=1)
13 %undefine with_dist_kernel
15 %if "%{_alt_kernel}" != "%{nil}"
16 %undefine with_userspace
18 %if %{without userspace}
19 # nothing to be placed to debuginfo package
20 %define _enable_debug_packages 0
25 Summary: IP sets utility
26 Summary(pl.UTF-8): Narzędzie do zarządzania zbiorami IP
27 Name: %{pname}%{_alt_kernel}
31 Group: Networking/Admin
32 #Source0Download: http://ipset.netfilter.org/install.html
33 Source0: http://ipset.netfilter.org/%{pname}-%{version}.tar.bz2
34 # Source0-md5: 70f2d4c054592236dcda285855a4ee58
35 Source1: %{pname}.init
36 Patch0: %{pname}-no_kernel.patch
37 URL: http://ipset.netfilter.org/
38 BuildRequires: autoconf >= 2.50
39 BuildRequires: automake
40 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.38.6}
41 BuildRequires: libmnl-devel >= 1
42 BuildRequires: libltdl-devel
43 BuildRequires: libtool >= 2:2.0
44 %{?with_userspace:BuildRequires: linux-libc-headers >= 7:2.6.38.6}
45 BuildRequires: pkgconfig
46 BuildRequires: rpmbuild(macros) >= 1.583
47 Suggests: kernel-net-ipset
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 # unresolved ipset_errcode, defined in the ipset binary
51 %define skip_post_check_so libipset\.so.*
54 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
55 can be administered by the ipset utility. Depending on the type,
56 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
57 IP addresses with MAC addresses in a way, which ensures lightning
58 speed when matching an entry against a set.
60 %description -l pl.UTF-8
61 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
62 administrować przy użyciu narzędzia ipset. W zależności od
63 rodzaju aktualnie zbiór IP może przechowywać adresy IP, numery
64 portów (TCP/UDP) lub adresy IP z adresami MAC - w sposób
65 zapewniający maksymalną szybkość przy dopasowywaniu elementu do
69 Summary: Header files for ipset interface
70 Summary(pl.UTF-8): Pliki nagłówkowe do interfejsu ipset
71 Group: Development/Libraries
72 Requires: %{name} = %{version}-%{release}
73 Requires: libmnl-devel >= 1
76 Header files for IPset interface.
78 %description devel -l pl.UTF-8
79 Pliki nagłówkowe do interfejsu IPset.
82 Summary: Static ipset interface library
83 Summary(pl.UTF-8): Biblioteka statyczna interfejsu ipset
84 Group: Development/Libraries
85 Requires: %{name}-devel = %{version}-%{release}
88 Static IPset interface library.
90 %description static -l pl.UTF-8
91 Biblioteka statyczna interfejsu IPset.
94 Summary: IPset init script
95 Summary(pl.UTF-8): Skrypt startowy IPset
96 Group: Networking/Admin
97 Requires(post,preun): /sbin/chkconfig
98 Requires: %{pname} = %{version}-%{release}
102 IPset initialization script.
104 %description init -l pl.UTF-8
105 Skrypt startowy IPset.
107 %package -n kernel%{_alt_kernel}-net-ipset
108 Summary: IPset kernel modules
109 Summary(pl.UTF-8): Moduły jądra oferujące wsparcie dla zbiorów IP
110 Release: %{rel}@%{_kernel_ver_str}
112 %{?with_dist_kernel:%requires_releq_kernel}
113 Requires(post,postun): /sbin/depmod
115 %description -n kernel%{_alt_kernel}-net-ipset
116 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
117 can be administered by the ipset utility. Depending on the type,
118 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
119 IP addresses with MAC addresses in a way, which ensures lightning
120 speed when matching an entry against a set.
122 This package contains kernel modules.
124 %description -n kernel%{_alt_kernel}-net-ipset -l pl.UTF-8
125 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
126 administrować przy użyciu narzędzia ipset. W zależności od
127 rodzaju aktualnie zbiór IP może przechowywać adresy IP, numery
128 portów (TCP/UDP) lub adresy IP z adresami MAC - w sposób
129 zapewniający maksymalną szybkość przy dopasowywaniu elementu do
132 Ten pakiet zawiera moduły jądra oferujące wsparcie dla zbiorów IP.
135 %setup -q -n %{pname}-%{version}
136 %{!?with_kernel:%patch0 -p1}
145 --disable-silent-rules \
146 --with-kbuild=%{_kernelsrcdir}
148 %if %{with userspace}
153 # a hack not to list all modules: list only ip_set, all other are build anyway
154 %build_kernel_modules -C kernel/net/netfilter -m ipset/ip_set IP_SET_MAX=255 KDIR=$PWD/../..
158 rm -rf $RPM_BUILD_ROOT
160 %if %{with userspace}
161 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_includedir}/libipset}
164 DESTDIR=$RPM_BUILD_ROOT
165 cp include/libipset/*.h $RPM_BUILD_ROOT%{_includedir}/libipset
167 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
171 cd kernel/net/netfilter
172 %install_kernel_modules -m ipset/ip_set -d kernel/net/ipv4/netfilter/ipset
173 install -p ipset/ip_set_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset
174 install -p xt_*.ko $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter
179 rm -rf $RPM_BUILD_ROOT
182 /sbin/chkconfig --add %{pname}
185 if [ "$1" = "0" ]; then
186 /sbin/chkconfig --del %{pname}
189 %post -n kernel%{_alt_kernel}-net-ipset
190 %depmod %{_kernel_ver}
192 %postun -n kernel%{_alt_kernel}-net-ipset
193 %depmod %{_kernel_ver}
195 %if %{with userspace}
197 %defattr(644,root,root,755)
198 %doc ChangeLog ChangeLog.ippool README UPGRADE
199 %attr(755,root,root) %{_sbindir}/ipset
200 %attr(755,root,root) %{_libdir}/libipset.so.*.*.*
201 %attr(755,root,root) %ghost %{_libdir}/libipset.so.3
202 %{_mandir}/man8/ipset.8*
205 %defattr(644,root,root,755)
206 %attr(755,root,root) %{_libdir}/libipset.so
207 %{_libdir}/libipset.la
208 %{_includedir}/libipset
211 %defattr(644,root,root,755)
212 %{_libdir}/libipset.a
215 %defattr(644,root,root,755)
216 %attr(754,root,root) /etc/rc.d/init.d/ipset
220 %files -n kernel%{_alt_kernel}-net-ipset
221 %defattr(644,root,root,755)
222 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/xt_*.ko*
223 %dir /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset
224 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset/ip_set.ko*
225 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset/ip_set_*.ko*