3 %bcond_without lua # Lua (5.1) bindings
4 %bcond_without perl # Perl bindings
5 %bcond_without python # Python bindings (required by prewikka)
6 %bcond_without ruby # Ruby bindings
8 %include /usr/lib/rpm/macros.perl
9 Summary: The Prelude library
10 Summary(pl.UTF-8): Biblioteka Prelude
14 License: GPL v2 or commercial
16 # https://www.prelude-ids.org/projects/prelude/files
17 Source0: https://www.prelude-ids.org/attachments/download/241/%{name}-%{version}.tar.gz
18 # Source0-md5: dce1ea9f82cf436830567894e7ee622f
19 Patch0: %{name}-libtool.patch
20 Patch1: %{name}-ruby.patch
21 Patch2: %{name}-gnutls.patch
22 Patch3: %{name}-gets.patch
23 Patch4: %{name}-python.patch
24 Patch5: format-security.patch
25 URL: http://www.prelude-ids.com/
26 BuildRequires: autoconf >= 2.59
27 BuildRequires: automake
30 BuildRequires: gnutls-devel >= 1.0.17
31 BuildRequires: gtk-doc >= 1.0
32 BuildRequires: libgcrypt-devel >= 1.1.94
33 BuildRequires: libltdl-devel >= 2:2.0
34 BuildRequires: libstdc++-devel
35 BuildRequires: libtool >= 2:2.0
36 %{?with_lua:BuildRequires: lua51-devel >= 5.1}
37 %{?with_perl:BuildRequires: perl-devel}
38 %{?with_python:BuildRequires: python-devel >= 1:2.5}
39 BuildRequires: rpm-perlprov
40 BuildRequires: rpm-pythonprov
41 BuildRequires: rpmbuild(macros) >= 1.219
42 %{?with_ruby:BuildRequires: ruby-devel >= 1.9}
43 BuildRequires: sed >= 4.0
44 %{?with_perl:BuildRequires: swig-perl}
45 %{?with_python:BuildRequires: swig-python}
46 %{?with_ruby:BuildRequires: swig-ruby}
47 Requires: %{name}-libs = %{version}-%{release}
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 The Prelude library is a collection of generic functions providing
52 communication between the Prelude Hybrid IDS suite components. It
53 provides a convenient interface for sending alerts to Prelude Manager
54 with transparent SSL, failover and replication support, asynchronous
55 events and timer interfaces, an abstracted configuration API (hooking
56 at the commandline, the configuration line, or wide configuration,
57 available from the Manager), and a generic plugin API. It allows you
58 to easily turn your favorite security program into a Prelude sensor.
60 %description -l pl.UTF-8
61 Biblioteka Prelude to zbiór ogólnych funkcji zapewniających
62 komunikację pomiędzy komponentami zestawu Prelude Hybrid IDS.
63 Dostarcza wygodny interfejs do wysyłania alarmów do zarządcy Prelude z
64 przezroczystą obsługę SSL, failover i replikacji, interfejsy do
65 zdarzeń asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne
66 (obsługujące linię poleceń, linię konfiguracji i konfigurację dostępną
67 z zarządcy) oraz ogólne API wtyczek. Pozwala łatwo zamienić ulubiony
68 program związany z bezpieczeństwem na czujnik Prelude.
71 Summary: The Prelude library
72 Summary(pl.UTF-8): Biblioteka Prelude
74 Requires: gnutls >= 1.0.17
75 Requires: libgcrypt >= 1.1.94
80 %description libs -l pl.UTF-8
84 Summary: Header files and development documentation for libprelude
85 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna dla libprelude
86 Group: Development/Libraries
87 Requires: %{name}-libs = %{version}-%{release}
88 Requires: gnutls-devel >= 1.0.17
89 Requires: libgcrypt-devel >= 1.1.94
90 Requires: libltdl-devel
93 Header files and development documentation for libprelude.
95 %description devel -l pl.UTF-8
96 Pliki nagłówkowe i dokumentacja programistyczna dla libprelude.
99 Summary: Static libprelude library
100 Summary(pl.UTF-8): Statyczna biblioteka libprelude
101 Group: Development/Libraries
102 Requires: %{name}-devel = %{version}-%{release}
105 Static libprelude library.
107 %description static -l pl.UTF-8
108 Statyczna biblioteka libprelude.
111 Summary: libpreludecpp - C++ binding for libprelude
112 Summary(pl.UTF-8): libpreludecpp - wiązanie C++ do libprelude
114 Requires: %{name}-libs = %{version}-%{release}
117 libpreludecpp - C++ binding for libprelude.
119 %description c++ -l pl.UTF-8
120 libpreludecpp - wiązanie C++ do libprelude.
123 Summary: Header file for libpreludecpp library
124 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludecpp
125 Group: Development/Libraries
126 Requires: %{name}-c++ = %{version}-%{release}
127 Requires: %{name}-devel = %{version}-%{release}
128 Requires: libstdc++-devel
130 %description c++-devel
131 Header file for libpreludecpp library - C++ binding for libprelude.
133 %description c++-devel -l pl.UTF-8
134 Pliki nagłówkowe biblioteki libpreludecpp - wiązań C++ do libprelude.
137 Summary: Static libpreludecpp library
138 Summary(pl.UTF-8): Statyczna biblioteka libpreludecpp
139 Group: Development/Libraries
140 Requires: %{name}-c++-devel = %{version}-%{release}
142 %description c++-static
143 Static libpreludecpp library.
145 %description c++-static -l pl.UTF-8
146 Statyczna biblioteka libpreludecpp.
148 %package -n lua-prelude
149 Summary: PreludeEasy - libprelude Lua bindings
150 Summary(pl.UTF-8): PreludeEasy - dowiązania języka Lua do libprelude
151 Group: Development/Languages
152 Requires: %{name}-c++ = %{version}-%{release}
154 %description -n lua-prelude
155 PreludeEasy - libprelude Lua bindings.
157 %description -n lua-prelude -l pl.UTF-8
158 PreludeEasy - dowiązania języka Lua do libprelude.
160 %package -n perl-libprelude
161 Summary: Prelude Perl module - low-level Perl binding for libprelude
162 Summary(pl.UTF-8): Moduł Perla Prelude - niskopoziomowe wiązanie Perla do libprelude
163 Group: Development/Languages/Perl
164 Requires: %{name}-libs = %{version}-%{release}
166 %description -n perl-libprelude
167 Prelude Perl module - low-level Perl binding for libprelude.
169 %description -n perl-libprelude -l pl.UTF-8
170 Moduł Perla Prelude - niskopoziomowe wiązanie Perla do libprelude.
172 %package -n perl-PreludeEasy
173 Summary: PreludeEasy - high-level Perl binding for libprelude
174 Summary(pl.UTF-8): PreludeEasy - wysokopoziomowe wiązanie Perla do libprelude
175 Group: Development/Languages/Perl
176 Requires: %{name}-c++ = %{version}-%{release}
178 %description -n perl-PreludeEasy
179 PreludeEasy - high-level Perl binding for libprelude.
181 %description -n perl-PreludeEasy -l pl.UTF-8
182 PreludeEasy - wysokopoziomowe wiązanie Perla do libprelude.
184 %package -n python-libprelude
185 Summary: Low-level Python binding for libprelude
186 Summary(pl.UTF-8): Niskopoziomowe wiązanie Pythona do libprelude
187 Group: Development/Languages/Python
188 Requires: %{name}-libs = %{version}-%{release}
190 %description -n python-libprelude
191 Low-level Python binding for libprelude.
193 %description -n python-libprelude -l pl.UTF-8
194 Niskopoziomowe wiązanie Pythona do libprelude.
196 %package -n python-PreludeEasy
197 Summary: PreludeEasy - high-level Python binding for libprelude
198 Summary(pl.UTF-8): PreludeEasy - wysokopoziomowe wiązanie Pythona do libprelude
199 Group: Development/Languages/Python
200 Requires: %{name}-c++ = %{version}-%{release}
202 %description -n python-PreludeEasy
203 PreludeEasy - high-level Python binding for libprelude.
205 %description -n python-PreludeEasy -l pl.UTF-8
206 PreludeEasy - wysokopoziomowe wiązanie Pythona do libprelude.
208 %package -n ruby-prelude
209 Summary: PreludeEasy - libprelude Ruby bindings
210 Summary(pl.UTF-8): PreludeEasy - dowiązania języka Ruby do libprelude
211 Group: Development/Languages
212 Requires: %{name}-c++ = %{version}-%{release}
214 %description -n ruby-prelude
215 PreludeEasy - libprelude Ruby bindings.
217 %description -n ruby-prelude -l pl.UTF-8
218 PreludeEasy - dowiązania języka Ruby do libprelude.
225 # regenerate with fresh swig for gcc 4.6+
226 %{__rm} bindings/python/{_PreludeEasy.cxx,PreludeEasy.py}
230 %{__rm} bindings/ruby/PreludeEasy.cxx
239 sed -i -e 's/lua >= 5.1/lua51 >= 5.1/' configure.in
243 %{__aclocal} -I m4 -I libmissing/m4
248 am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
251 --with%{!?with_lua:out}-lua \
252 --with%{!?with_perl:out}-perl \
253 --with%{!?with_python:out}-python \
254 --with-html-dir=%{_gtkdocdir}/libprelude \
255 --with-perl-installdirs=vendor
261 %{__perl} Makefile.PL \
266 rm -rf $RPM_BUILD_ROOT
269 DESTDIR=$RPM_BUILD_ROOT
271 %{__make} -C bindings/perl install \
272 DESTDIR=$RPM_BUILD_ROOT
275 %{__rm} $RPM_BUILD_ROOT%{_libdir}/PreludeEasy.{la,a}
278 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
279 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
283 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/PreludeEasy.{la,a}
287 rm -rf $RPM_BUILD_ROOT
289 %post libs -p /sbin/ldconfig
290 %postun libs -p /sbin/ldconfig
292 %post c++ -p /sbin/ldconfig
293 %postun c++ -p /sbin/ldconfig
296 %defattr(644,root,root,755)
297 %doc AUTHORS ChangeLog LICENSE.README NEWS README
298 %attr(755,root,root) %{_bindir}/prelude-adduser
299 %attr(755,root,root) %{_bindir}/prelude-admin
300 %dir %{_sysconfdir}/prelude
301 %dir %{_sysconfdir}/prelude/default
302 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/client.conf
303 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/global.conf
304 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/idmef-client.conf
305 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/tls.conf
306 %dir %{_sysconfdir}/prelude/profile
307 %{_mandir}/man1/prelude-admin.1*
310 %defattr(644,root,root,755)
311 %attr(755,root,root) %{_libdir}/libprelude.so.*.*.*
312 %attr(755,root,root) %ghost %{_libdir}/libprelude.so.2
315 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_bindir}/libprelude-config
317 %attr(755,root,root) %{_libdir}/libprelude.so
318 %{_libdir}/libprelude.la
319 %dir %{_includedir}/libprelude
320 %{_includedir}/libprelude/*.h
321 %{_aclocaldir}/libprelude.m4
322 %{_gtkdocdir}/libprelude
323 %{_pkgconfigdir}/libprelude.pc
326 %defattr(644,root,root,755)
327 %{_libdir}/libprelude.a
330 %defattr(644,root,root,755)
331 %attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
332 %attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.0
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_libdir}/libpreludecpp.so
337 %{_libdir}/libpreludecpp.la
338 %{_includedir}/libprelude/idmef*.hxx
339 %{_includedir}/libprelude/prelude*.hxx
342 %defattr(644,root,root,755)
343 %{_libdir}/libpreludecpp.a
346 %files -n lua-prelude
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/PreludeEasy.so
352 %files -n perl-libprelude
353 %defattr(644,root,root,755)
354 %{perl_vendorarch}/Prelude.pm
355 %dir %{perl_vendorarch}/auto/Prelude
356 %{perl_vendorarch}/auto/Prelude/Prelude.bs
357 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
359 %files -n perl-PreludeEasy
360 %defattr(644,root,root,755)
361 %{perl_vendorarch}/PreludeEasy.pm
362 %dir %{perl_vendorarch}/auto/PreludeEasy
363 %{perl_vendorarch}/auto/PreludeEasy/PreludeEasy.bs
364 %attr(755,root,root) %{perl_vendorarch}/auto/PreludeEasy/PreludeEasy.so
368 %files -n python-libprelude
369 %defattr(644,root,root,755)
370 %attr(755,root,root) %{py_sitedir}/_prelude.so
371 %{py_sitedir}/prelude.py[co]
372 %{py_sitedir}/prelude-%{version}-py*.egg-info
374 %files -n python-PreludeEasy
375 %defattr(644,root,root,755)
376 %attr(755,root,root) %{py_sitedir}/_PreludeEasy.so
377 %{py_sitedir}/PreludeEasy.py[co]
378 %{py_sitedir}/PreludeEasy-%{version}-py*.egg-info
382 %files -n ruby-prelude
383 %defattr(644,root,root,755)
384 %attr(755,root,root) %{ruby_vendorarchdir}/PreludeEasy.so