3 %bcond_without lua # Lua (5.1) bindings
4 %bcond_without perl # Perl bindings
5 %bcond_without python2 # Python 2.x bindings (required by prewikka)
6 %bcond_without python3 # Python 3.x bindings
7 %bcond_without ruby # Ruby bindings
8 %bcond_without static_libs # static libraries
10 # 5.1 also possible, 5.2 is preferred
12 %define lua_pkg lua%(echo %{lua_ver} | tr -d .)
13 %include /usr/lib/rpm/macros.perl
14 Summary: The Prelude library
15 Summary(pl.UTF-8): Biblioteka Prelude
19 License: GPL v2 or commercial
21 #Source0Download: https://www.prelude-siem.org/projects/prelude/files
22 Source0: https://www.prelude-siem.org/attachments/download/831/%{name}-%{version}.tar.gz
23 # Source0-md5: d75977db58de9ba4cf9c4d00a0e25cb9
24 Patch0: python-install.patch
25 Patch1: %{name}-lua.patch
26 URL: https://www.prelude-siem.org/
27 BuildRequires: autoconf >= 2.59
28 BuildRequires: automake >= 1:1.9
31 BuildRequires: gnutls-devel >= 1.0.17
32 BuildRequires: gtk-doc >= 1.0
33 BuildRequires: libgcrypt-devel >= 1.1.94
34 BuildRequires: libltdl-devel >= 2:2.0
35 BuildRequires: libstdc++-devel
36 BuildRequires: libtool >= 2:2.0
37 %{?with_lua:BuildRequires: %{lua_pkg} >= %{lua_ver}}
38 %{?with_lua:BuildRequires: %{lua_pkg}-devel >= %{lua_ver}}
39 %{?with_perl:BuildRequires: perl-devel}
40 %{?with_python2:BuildRequires: python-devel >= 1:2.5}
41 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
42 BuildRequires: rpm-perlprov
43 BuildRequires: rpm-pythonprov
44 BuildRequires: rpmbuild(macros) >= 1.219
45 %{?with_ruby:BuildRequires: ruby-devel >= 1.9}
46 BuildRequires: sed >= 4.0
47 %{?with_perl:BuildRequires: swig-perl}
48 %{?with_python:BuildRequires: swig-python}
49 %{?with_ruby:BuildRequires: swig-ruby}
50 Requires: %{name}-libs = %{version}-%{release}
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 The Prelude library is a collection of generic functions providing
55 communication between the Prelude Hybrid IDS suite components. It
56 provides a convenient interface for sending alerts to Prelude Manager
57 with transparent SSL, failover and replication support, asynchronous
58 events and timer interfaces, an abstracted configuration API (hooking
59 at the commandline, the configuration line, or wide configuration,
60 available from the Manager), and a generic plugin API. It allows you
61 to easily turn your favorite security program into a Prelude sensor.
63 %description -l pl.UTF-8
64 Biblioteka Prelude to zbiór ogólnych funkcji zapewniających
65 komunikację pomiędzy komponentami zestawu Prelude Hybrid IDS.
66 Dostarcza wygodny interfejs do wysyłania alarmów do zarządcy Prelude z
67 przezroczystą obsługę SSL, failover i replikacji, interfejsy do
68 zdarzeń asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne
69 (obsługujące linię poleceń, linię konfiguracji i konfigurację dostępną
70 z zarządcy) oraz ogólne API wtyczek. Pozwala łatwo zamienić ulubiony
71 program związany z bezpieczeństwem na czujnik Prelude.
74 Summary: The Prelude library
75 Summary(pl.UTF-8): Biblioteka Prelude
77 Requires: gnutls >= 1.0.17
78 Requires: libgcrypt >= 1.1.94
83 %description libs -l pl.UTF-8
87 Summary: Header files and development documentation for libprelude
88 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna dla libprelude
89 Group: Development/Libraries
90 Requires: %{name}-libs = %{version}-%{release}
91 Requires: gnutls-devel >= 1.0.17
92 Requires: libgcrypt-devel >= 1.1.94
93 Requires: libltdl-devel
96 Header files and development documentation for libprelude.
98 %description devel -l pl.UTF-8
99 Pliki nagłówkowe i dokumentacja programistyczna dla libprelude.
102 Summary: Static libprelude library
103 Summary(pl.UTF-8): Statyczna biblioteka libprelude
104 Group: Development/Libraries
105 Requires: %{name}-devel = %{version}-%{release}
108 Static libprelude library.
110 %description static -l pl.UTF-8
111 Statyczna biblioteka libprelude.
114 Summary: libpreludecpp - C++ binding for libprelude
115 Summary(pl.UTF-8): libpreludecpp - wiązanie C++ do libprelude
117 Requires: %{name}-libs = %{version}-%{release}
120 libpreludecpp - C++ binding for libprelude.
122 %description c++ -l pl.UTF-8
123 libpreludecpp - wiązanie C++ do libprelude.
126 Summary: Header file for libpreludecpp library
127 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludecpp
128 Group: Development/Libraries
129 Requires: %{name}-c++ = %{version}-%{release}
130 Requires: %{name}-devel = %{version}-%{release}
131 Requires: libstdc++-devel
133 %description c++-devel
134 Header file for libpreludecpp library - C++ binding for libprelude.
136 %description c++-devel -l pl.UTF-8
137 Pliki nagłówkowe biblioteki libpreludecpp - wiązań C++ do libprelude.
140 Summary: Static libpreludecpp library
141 Summary(pl.UTF-8): Statyczna biblioteka libpreludecpp
142 Group: Development/Libraries
143 Requires: %{name}-c++-devel = %{version}-%{release}
145 %description c++-static
146 Static libpreludecpp library.
148 %description c++-static -l pl.UTF-8
149 Statyczna biblioteka libpreludecpp.
152 Summary: SWIG development files for libprelude
153 Summary(pl.UTF-8): Pliki programistyczne SWIG-a dla libprelude
154 Group: Development/Libraries
155 Requires: %{name}-c++-devel = %{version}-%{release}
159 SWIG development files for libprelude.
161 %description swig -l pl.UTF-8
162 Pliki programistyczne SWIG-a dla libprelude.
164 %package -n lua-prelude
165 Summary: PreludeEasy - libprelude Lua bindings
166 Summary(pl.UTF-8): PreludeEasy - dowiązania języka Lua do libprelude
167 Group: Development/Languages
168 Requires: %{name}-c++ = %{version}-%{release}
169 Requires: %{lua_pkg} >= %{lua_ver}
171 %description -n lua-prelude
172 PreludeEasy - libprelude Lua bindings.
174 %description -n lua-prelude -l pl.UTF-8
175 PreludeEasy - dowiązania języka Lua do libprelude.
177 %package -n perl-libprelude
178 Summary: Prelude Perl module - Perl binding for libprelude
179 Summary(pl.UTF-8): Moduł Perla Prelude - wiązanie Perla do libprelude
180 Group: Development/Languages/Perl
181 Requires: %{name}-c++ = %{version}-%{release}
182 Obsoletes: perl-PreludeEasy
184 %description -n perl-libprelude
185 Prelude Perl module - Perl binding for libprelude.
187 %description -n perl-libprelude -l pl.UTF-8
188 Moduł Perla Prelude - wiązanie Perla do libprelude.
190 %package -n python-libprelude
191 Summary: Python 2.x binding for libprelude
192 Summary(pl.UTF-8): Wiązanie Pythona 2.x do libprelude
193 Group: Development/Languages/Python
194 Requires: %{name}-c++ = %{version}-%{release}
195 Obsoletes: python-PreludeEasy
197 %description -n python-libprelude
198 Python 2.x binding for libprelude.
200 %description -n python-libprelude -l pl.UTF-8
201 Wiązanie Pythona 2.x do libprelude.
203 %package -n python3-libprelude
204 Summary: Python 3.x binding for libprelude
205 Summary(pl.UTF-8): Wiązanie Pythona 3.x do libprelude
206 Group: Development/Languages/Python
207 Requires: %{name}-c++ = %{version}-%{release}
209 %description -n python3-libprelude
210 Python 3.x binding for libprelude.
212 %description -n python3-libprelude -l pl.UTF-8
213 Wiązanie Pythona 3.x do libprelude.
215 %package -n ruby-prelude
216 Summary: Ruby bindings for libprelude
217 Summary(pl.UTF-8): Wiązania języka Ruby do libprelude
218 Group: Development/Languages
219 Requires: %{name}-c++ = %{version}-%{release}
221 %description -n ruby-prelude
222 Ruby bindings for libprelude.
224 %description -n ruby-prelude -l pl.UTF-8
225 Wiązania języka Ruby do libprelude.
233 # regenerate with fresh swig for python 3.5+
234 %{__rm} bindings/python/{_prelude.cxx,prelude.py}
240 %{__aclocal} -I m4 -I libmissing/m4
245 am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
247 %{?with_static_libs:--enable-static} \
248 --with-html-dir=%{_gtkdocdir}/libprelude \
249 --with-lua%{!?with_lua:=no} \
250 --with-perl%{!?with_perl:=no} \
251 --with-perl-installdirs=vendor \
252 --with-python2%{!?with_python2:=no} \
253 --with-python3%{!?with_python3:=no} \
259 rm -rf $RPM_BUILD_ROOT
262 DESTDIR=$RPM_BUILD_ROOT \
263 pythondir=%{py_sitescriptdir} \
264 pyexecdir=%{py_sitedir} \
265 python3dir=%{py3_sitescriptdir} \
266 py3execdir=%{py3_sitedir}
269 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.la \
270 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.a}
276 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.la \
277 %{?with_static_libs:$RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.a}
281 rm -rf $RPM_BUILD_ROOT
283 %post libs -p /sbin/ldconfig
284 %postun libs -p /sbin/ldconfig
286 %post c++ -p /sbin/ldconfig
287 %postun c++ -p /sbin/ldconfig
290 %defattr(644,root,root,755)
291 %doc AUTHORS ChangeLog LICENSE.README NEWS README
292 %attr(755,root,root) %{_bindir}/prelude-adduser
293 %attr(755,root,root) %{_bindir}/prelude-admin
294 %dir %{_sysconfdir}/prelude
295 %dir %{_sysconfdir}/prelude/default
296 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/client.conf
297 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/global.conf
298 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/idmef-client.conf
299 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/tls.conf
300 %dir %{_sysconfdir}/prelude/profile
301 %{_mandir}/man1/prelude-admin.1*
304 %defattr(644,root,root,755)
305 %attr(755,root,root) %{_libdir}/libprelude.so.*.*.*
306 %attr(755,root,root) %ghost %{_libdir}/libprelude.so.23
309 %defattr(644,root,root,755)
310 %attr(755,root,root) %{_bindir}/libprelude-config
311 %attr(755,root,root) %{_libdir}/libprelude.so
312 %{_libdir}/libprelude.la
313 %dir %{_includedir}/libprelude
314 %{_includedir}/libprelude/*.h
315 %{_aclocaldir}/libprelude.m4
316 %{_gtkdocdir}/libprelude
317 %{_pkgconfigdir}/libprelude.pc
318 %{_mandir}/man1/libprelude-config.1*
320 %if %{with static_libs}
322 %defattr(644,root,root,755)
323 %{_libdir}/libprelude.a
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
329 %attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.8
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_libdir}/libpreludecpp.so
334 %{_libdir}/libpreludecpp.la
335 %{_includedir}/libprelude/idmef*.hxx
336 %{_includedir}/libprelude/prelude*.hxx
338 %if %{with static_libs}
340 %defattr(644,root,root,755)
341 %{_libdir}/libpreludecpp.a
345 %defattr(644,root,root,755)
346 %dir %{_datadir}/libprelude
347 %{_datadir}/libprelude/swig
350 %files -n lua-prelude
351 %defattr(644,root,root,755)
352 %attr(755,root,root) %{_libdir}/lua/%{lua_ver}/prelude.so
356 %files -n perl-libprelude
357 %defattr(644,root,root,755)
358 %{perl_vendorarch}/Prelude.pm
359 %dir %{perl_vendorarch}/auto/Prelude
360 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
364 %files -n python-libprelude
365 %defattr(644,root,root,755)
366 %attr(755,root,root) %{py_sitedir}/_prelude.so
367 %{py_sitedir}/prelude.py[co]
368 %{py_sitedir}/prelude-%{version}-py*.egg-info
372 %files -n python3-libprelude
373 %defattr(644,root,root,755)
374 %attr(755,root,root) %{py3_sitedir}/_prelude.cpython-*.so
375 %{py3_sitedir}/prelude.py
376 %{py3_sitedir}/__pycache__/prelude.cpython-*.py[co]
377 %{py3_sitedir}/prelude-%{version}-py*.egg-info
381 %files -n ruby-prelude
382 %defattr(644,root,root,755)
383 %attr(755,root,root) %{ruby_vendorarchdir}/Prelude.so