]> git.pld-linux.org Git - packages/ipset.git/blob - ipset.spec
- up to 6.24
[packages/ipset.git] / ipset.spec
1 #
2 # TODO:
3 #       - patch our kernel to provide the needed API and update
4 #         the dependencies here
5 #
6 # Conditional build:
7 %bcond_without  kernel          # don't build kernel modules
8 %bcond_without  userspace       # don't build userspace tools
9 %bcond_with     verbose         # verbose build (V=1)
10
11 # The goal here is to have main, userspace, package built once with
12 # simple release number, and only rebuild kernel packages with kernel
13 # version as part of release number, without the need to bump release
14 # with every kernel change.
15 %if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
16 %{error:kernel and userspace cannot be built at the same time on PLD builders}
17 exit 1
18 %endif
19
20 %if %{without userspace}
21 # nothing to be placed to debuginfo package
22 %define         _enable_debug_packages  0
23 %endif
24
25 %define         rel     1
26 %define         pname   ipset
27 Summary:        IP sets utility
28 Summary(pl.UTF-8):      Narzędzie do zarządzania zbiorami IP
29 Name:           %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel}
30 Version:        6.24
31 Release:        %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}}
32 License:        GPL v2
33 Group:          Networking/Admin
34 #Source0Download: http://ipset.netfilter.org/install.html
35 Source0:        http://ipset.netfilter.org/%{pname}-%{version}.tar.bz2
36 # Source0-md5:  8831b8f01458bf2abacc222884195a62
37 Source1:        %{pname}.init
38 URL:            http://ipset.netfilter.org/
39 BuildRequires:  autoconf >= 2.50
40 BuildRequires:  automake
41 BuildRequires:  libmnl-devel >= 1
42 BuildRequires:  libltdl-devel >= 2:2.0
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.701
47 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}}
48 Suggests:       kernel-net-ipset
49 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50
51 # unresolved ipset_errcode, defined in the ipset binary
52 %define         skip_post_check_so      libipset\.so.*
53
54 %description
55 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which
56 can be administered by the ipset utility. Depending on the type,
57 currently an IP set may store IP addresses, (TCP/UDP) port numbers or
58 IP addresses with MAC addresses in a way, which ensures lightning
59 speed when matching an entry against a set.
60
61 %description -l pl.UTF-8
62 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można
63 administrować przy użyciu narzędzia ipset. W zależności od
64 rodzaju aktualnie zbiór IP może przechowywać adresy IP, numery
65 portów (TCP/UDP) lub adresy IP z adresami MAC - w sposób
66 zapewniający maksymalną szybkość przy dopasowywaniu elementu do
67 zbioru.
68
69 %package devel
70 Summary:        Header files for ipset interface
71 Summary(pl.UTF-8):      Pliki nagłówkowe do interfejsu ipset
72 Group:          Development/Libraries
73 Requires:       %{name} = %{version}-%{release}
74 Requires:       libmnl-devel >= 1
75
76 %description devel
77 Header files for IPset interface.
78
79 %description devel -l pl.UTF-8
80 Pliki nagłówkowe do interfejsu IPset.
81
82 %package static
83 Summary:        Static ipset interface library
84 Summary(pl.UTF-8):      Biblioteka statyczna interfejsu ipset
85 Group:          Development/Libraries
86 Requires:       %{name}-devel = %{version}-%{release}
87
88 %description static
89 Static IPset interface library.
90
91 %description static -l pl.UTF-8
92 Biblioteka statyczna interfejsu IPset.
93
94 %package init
95 Summary:        IPset init script
96 Summary(pl.UTF-8):      Skrypt startowy IPset
97 Group:          Networking/Admin
98 Requires(post,preun):   /sbin/chkconfig
99 Requires:       %{pname} = %{version}-%{release}
100 Requires:       rc-scripts
101
102 %description init
103 IPset initialization script.
104
105 %description init -l pl.UTF-8
106 Skrypt startowy IPset.
107
108 %define kernel_pkg()\
109 %package -n kernel%{_alt_kernel}-net-ipset\
110 Summary:        IPset kernel modules\
111 Summary(pl.UTF-8):      Moduły jądra oferujące wsparcie dla zbiorów IP\
112 Release:        %{rel}@%{_kernel_ver_str}\
113 Group:          Base/Kernel\
114 Requires(post,postun):  /sbin/depmod\
115 %requires_releq_kernel\
116 Requires(postun):       %releq_kernel\
117 \
118 %description -n kernel%{_alt_kernel}-net-ipset\
119 IP sets are a framework inside the Linux 2.4.x and 2.6.x kernel, which\
120 can be administered by the ipset utility. Depending on the type,\
121 currently an IP set may store IP addresses, (TCP/UDP) port numbers or\
122 IP addresses with MAC addresses in a way, which ensures lightning\
123 speed when matching an entry against a set.\
124 \
125 This package contains kernel modules.\
126 \
127 %description -n kernel%{_alt_kernel}-net-ipset -l pl.UTF-8\
128 Zbiory IP to szkielet w jądrze Linuksa 2.4.x i 2.6.x, którym można\
129 administrować przy użyciu narzędzia ipset. W zależności od\
130 rodzaju aktualnie zbiór IP może przechowywać adresy IP, numery\
131 portów (TCP/UDP) lub adresy IP z adresami MAC - w sposób\
132 zapewniający maksymalną szybkość przy dopasowywaniu elementu do\
133 zbioru.\
134 \
135 Ten pakiet zawiera moduły jądra oferujące wsparcie dla zbiorów IP.\
136 \
137 %if %{with kernel}\
138 %files -n kernel%{_alt_kernel}-net-ipset\
139 %defattr(644,root,root,755)\
140 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/xt_*.ko*\
141 %dir /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset\
142 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset/ip_set.ko*\
143 /lib/modules/%{_kernel_ver}/kernel/net/ipv4/netfilter/ipset/ip_set_*.ko*\
144 %endif\
145 \
146 %post   -n kernel%{_alt_kernel}-net-ipset\
147 %depmod %{_kernel_ver}\
148 \
149 %postun -n kernel%{_alt_kernel}-net-ipset\
150 %depmod %{_kernel_ver}\
151 %{nil}
152
153 %define build_kernel_pkg()\
154 %configure \\\
155         --disable-silent-rules \\\
156         --with-kmod=yes \\\
157         --with-kbuild=%{_kernelsrcdir} \\\
158         --with-settype-modules-list=all\
159 \
160 # a hack not to list all modules: list only ip_set, all other are build anyway\
161 %build_kernel_modules -C kernel/net/netfilter -m ipset/ip_set IP_SET_MAX=255 KDIR=$PWD/../..\
162 \
163 for drv in kernel/net/netfilter/ipset/ip_set*.ko ; do\
164 %install_kernel_modules -D installed -m ${drv%.ko} -d kernel/net/ipv4/netfilter/ipset\
165 done\
166 for drv in kernel/net/netfilter/xt_*.ko ; do\
167 %install_kernel_modules -D installed -m ${drv%.ko} -d kernel/net/ipv4/netfilter\
168 done\
169 %{nil}
170
171 %{?with_kernel:%{expand:%create_kernel_packages}}
172
173 %prep
174 %setup -q -n %{pname}-%{version}
175
176 %build
177 %if %{with userspace}
178 %configure \
179         --disable-silent-rules \
180         --with-kmod=no \
181         --with-settype-modules-list=all
182
183 %{__make}
184 %endif
185
186 %{?with_kernel:%{expand:%build_kernel_packages}}
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190
191 %if %{with userspace}
192 install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_includedir}/libipset}
193
194 %{__make} install \
195         DESTDIR=$RPM_BUILD_ROOT
196 cp include/libipset/*.h $RPM_BUILD_ROOT%{_includedir}/libipset
197
198 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{pname}
199 %endif
200
201 %if %{with kernel}
202 install -d $RPM_BUILD_ROOT
203 cp -a installed/* $RPM_BUILD_ROOT
204 %endif
205
206 %clean
207 rm -rf $RPM_BUILD_ROOT
208
209 %post init
210 /sbin/chkconfig --add %{pname}
211
212 %preun init
213 if [ "$1" = "0" ]; then
214         /sbin/chkconfig --del %{pname}
215 fi
216
217 %if %{with userspace}
218 %files
219 %defattr(644,root,root,755)
220 %doc ChangeLog ChangeLog.ippool README UPGRADE
221 %attr(755,root,root) %{_sbindir}/ipset
222 %attr(755,root,root) %{_libdir}/libipset.so.*.*.*
223 %attr(755,root,root) %ghost %{_libdir}/libipset.so.3
224 %{_mandir}/man8/ipset.8*
225
226 %files devel
227 %defattr(644,root,root,755)
228 %attr(755,root,root) %{_libdir}/libipset.so
229 %{_libdir}/libipset.la
230 %{_includedir}/libipset
231 %{_pkgconfigdir}/libipset.pc
232
233 %files static
234 %defattr(644,root,root,755)
235 %{_libdir}/libipset.a
236
237 %files init
238 %defattr(644,root,root,755)
239 %attr(754,root,root) /etc/rc.d/init.d/ipset
240 %endif
This page took 0.168594 seconds and 4 git commands to generate.