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}-devel >= %{lua_ver}}
38 %{?with_perl:BuildRequires: perl-devel}
39 %{?with_python2:BuildRequires: python-devel >= 1:2.5}
40 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
41 BuildRequires: rpm-perlprov
42 BuildRequires: rpm-pythonprov
43 BuildRequires: rpmbuild(macros) >= 1.219
44 %{?with_ruby:BuildRequires: ruby-devel >= 1.9}
45 BuildRequires: sed >= 4.0
46 %{?with_perl:BuildRequires: swig-perl}
47 %{?with_python:BuildRequires: swig-python}
48 %{?with_ruby:BuildRequires: swig-ruby}
49 Requires: %{name}-libs = %{version}-%{release}
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 The Prelude library is a collection of generic functions providing
54 communication between the Prelude Hybrid IDS suite components. It
55 provides a convenient interface for sending alerts to Prelude Manager
56 with transparent SSL, failover and replication support, asynchronous
57 events and timer interfaces, an abstracted configuration API (hooking
58 at the commandline, the configuration line, or wide configuration,
59 available from the Manager), and a generic plugin API. It allows you
60 to easily turn your favorite security program into a Prelude sensor.
62 %description -l pl.UTF-8
63 Biblioteka Prelude to zbiór ogólnych funkcji zapewniających
64 komunikację pomiędzy komponentami zestawu Prelude Hybrid IDS.
65 Dostarcza wygodny interfejs do wysyłania alarmów do zarządcy Prelude z
66 przezroczystą obsługę SSL, failover i replikacji, interfejsy do
67 zdarzeń asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne
68 (obsługujące linię poleceń, linię konfiguracji i konfigurację dostępną
69 z zarządcy) oraz ogólne API wtyczek. Pozwala łatwo zamienić ulubiony
70 program związany z bezpieczeństwem na czujnik Prelude.
73 Summary: The Prelude library
74 Summary(pl.UTF-8): Biblioteka Prelude
76 Requires: gnutls >= 1.0.17
77 Requires: libgcrypt >= 1.1.94
82 %description libs -l pl.UTF-8
86 Summary: Header files and development documentation for libprelude
87 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna dla libprelude
88 Group: Development/Libraries
89 Requires: %{name}-libs = %{version}-%{release}
90 Requires: gnutls-devel >= 1.0.17
91 Requires: libgcrypt-devel >= 1.1.94
92 Requires: libltdl-devel
95 Header files and development documentation for libprelude.
97 %description devel -l pl.UTF-8
98 Pliki nagłówkowe i dokumentacja programistyczna dla libprelude.
101 Summary: Static libprelude library
102 Summary(pl.UTF-8): Statyczna biblioteka libprelude
103 Group: Development/Libraries
104 Requires: %{name}-devel = %{version}-%{release}
107 Static libprelude library.
109 %description static -l pl.UTF-8
110 Statyczna biblioteka libprelude.
113 Summary: libpreludecpp - C++ binding for libprelude
114 Summary(pl.UTF-8): libpreludecpp - wiązanie C++ do libprelude
116 Requires: %{name}-libs = %{version}-%{release}
119 libpreludecpp - C++ binding for libprelude.
121 %description c++ -l pl.UTF-8
122 libpreludecpp - wiązanie C++ do libprelude.
125 Summary: Header file for libpreludecpp library
126 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludecpp
127 Group: Development/Libraries
128 Requires: %{name}-c++ = %{version}-%{release}
129 Requires: %{name}-devel = %{version}-%{release}
130 Requires: libstdc++-devel
132 %description c++-devel
133 Header file for libpreludecpp library - C++ binding for libprelude.
135 %description c++-devel -l pl.UTF-8
136 Pliki nagłówkowe biblioteki libpreludecpp - wiązań C++ do libprelude.
139 Summary: Static libpreludecpp library
140 Summary(pl.UTF-8): Statyczna biblioteka libpreludecpp
141 Group: Development/Libraries
142 Requires: %{name}-c++-devel = %{version}-%{release}
144 %description c++-static
145 Static libpreludecpp library.
147 %description c++-static -l pl.UTF-8
148 Statyczna biblioteka libpreludecpp.
151 Summary: SWIG development files for libprelude
152 Summary(pl.UTF-8): Pliki programistyczne SWIG-a dla libprelude
153 Group: Development/Libraries
154 Requires: %{name}-c++-devel = %{version}-%{release}
158 SWIG development files for libprelude.
160 %description swig -l pl.UTF-8
161 Pliki programistyczne SWIG-a dla libprelude.
163 %package -n lua-prelude
164 Summary: PreludeEasy - libprelude Lua bindings
165 Summary(pl.UTF-8): PreludeEasy - dowiązania języka Lua do libprelude
166 Group: Development/Languages
167 Requires: %{name}-c++ = %{version}-%{release}
168 Requires: %{lua_pkg} >= %{lua_ver}
170 %description -n lua-prelude
171 PreludeEasy - libprelude Lua bindings.
173 %description -n lua-prelude -l pl.UTF-8
174 PreludeEasy - dowiązania języka Lua do libprelude.
176 %package -n perl-libprelude
177 Summary: Prelude Perl module - Perl binding for libprelude
178 Summary(pl.UTF-8): Moduł Perla Prelude - wiązanie Perla do libprelude
179 Group: Development/Languages/Perl
180 Requires: %{name}-c++ = %{version}-%{release}
181 Obsoletes: perl-PreludeEasy
183 %description -n perl-libprelude
184 Prelude Perl module - Perl binding for libprelude.
186 %description -n perl-libprelude -l pl.UTF-8
187 Moduł Perla Prelude - wiązanie Perla do libprelude.
189 %package -n python-libprelude
190 Summary: Python 2.x binding for libprelude
191 Summary(pl.UTF-8): Wiązanie Pythona 2.x do libprelude
192 Group: Development/Languages/Python
193 Requires: %{name}-c++ = %{version}-%{release}
194 Obsoletes: python-PreludeEasy
196 %description -n python-libprelude
197 Python 2.x binding for libprelude.
199 %description -n python-libprelude -l pl.UTF-8
200 Wiązanie Pythona 2.x do libprelude.
202 %package -n python3-libprelude
203 Summary: Python 3.x binding for libprelude
204 Summary(pl.UTF-8): Wiązanie Pythona 3.x do libprelude
205 Group: Development/Languages/Python
206 Requires: %{name}-c++ = %{version}-%{release}
208 %description -n python3-libprelude
209 Python 3.x binding for libprelude.
211 %description -n python3-libprelude -l pl.UTF-8
212 Wiązanie Pythona 3.x do libprelude.
214 %package -n ruby-prelude
215 Summary: Ruby bindings for libprelude
216 Summary(pl.UTF-8): Wiązania języka Ruby do libprelude
217 Group: Development/Languages
218 Requires: %{name}-c++ = %{version}-%{release}
220 %description -n ruby-prelude
221 Ruby bindings for libprelude.
223 %description -n ruby-prelude -l pl.UTF-8
224 Wiązania języka Ruby do libprelude.
232 # regenerate with fresh swig for python 3.5+
233 %{__rm} bindings/python/{_prelude.cxx,prelude.py}
239 %{__aclocal} -I m4 -I libmissing/m4
244 am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
246 %{?with_static_libs:--enable-static} \
247 --with-html-dir=%{_gtkdocdir}/libprelude \
248 --with-lua%{!?with_lua:=no} \
249 --with-perl%{!?with_perl:=no} \
250 --with-perl-installdirs=vendor \
251 --with-python2%{!?with_python2:=no} \
252 --with-python3%{!?with_python3:=no} \
258 rm -rf $RPM_BUILD_ROOT
261 DESTDIR=$RPM_BUILD_ROOT \
262 pythondir=%{py_sitescriptdir} \
263 pyexecdir=%{py_sitedir} \
264 python3dir=%{py3_sitescriptdir} \
265 py3execdir=%{py3_sitedir}
268 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.la \
269 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.a}
275 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.la \
276 %{?with_static_libs:$RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.a}
280 rm -rf $RPM_BUILD_ROOT
282 %post libs -p /sbin/ldconfig
283 %postun libs -p /sbin/ldconfig
285 %post c++ -p /sbin/ldconfig
286 %postun c++ -p /sbin/ldconfig
289 %defattr(644,root,root,755)
290 %doc AUTHORS ChangeLog LICENSE.README NEWS README
291 %attr(755,root,root) %{_bindir}/prelude-adduser
292 %attr(755,root,root) %{_bindir}/prelude-admin
293 %dir %{_sysconfdir}/prelude
294 %dir %{_sysconfdir}/prelude/default
295 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/client.conf
296 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/global.conf
297 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/idmef-client.conf
298 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/tls.conf
299 %dir %{_sysconfdir}/prelude/profile
300 %{_mandir}/man1/prelude-admin.1*
303 %defattr(644,root,root,755)
304 %attr(755,root,root) %{_libdir}/libprelude.so.*.*.*
305 %attr(755,root,root) %ghost %{_libdir}/libprelude.so.23
308 %defattr(644,root,root,755)
309 %attr(755,root,root) %{_bindir}/libprelude-config
310 %attr(755,root,root) %{_libdir}/libprelude.so
311 %{_libdir}/libprelude.la
312 %dir %{_includedir}/libprelude
313 %{_includedir}/libprelude/*.h
314 %{_aclocaldir}/libprelude.m4
315 %{_gtkdocdir}/libprelude
316 %{_pkgconfigdir}/libprelude.pc
317 %{_mandir}/man1/libprelude-config.1*
319 %if %{with static_libs}
321 %defattr(644,root,root,755)
322 %{_libdir}/libprelude.a
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
328 %attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.8
331 %defattr(644,root,root,755)
332 %attr(755,root,root) %{_libdir}/libpreludecpp.so
333 %{_libdir}/libpreludecpp.la
334 %{_includedir}/libprelude/idmef*.hxx
335 %{_includedir}/libprelude/prelude*.hxx
337 %if %{with static_libs}
339 %defattr(644,root,root,755)
340 %{_libdir}/libpreludecpp.a
344 %defattr(644,root,root,755)
345 %dir %{_datadir}/libprelude
346 %{_datadir}/libprelude/swig
349 %files -n lua-prelude
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_libdir}/lua/%{lua_ver}/prelude.so
355 %files -n perl-libprelude
356 %defattr(644,root,root,755)
357 %{perl_vendorarch}/Prelude.pm
358 %dir %{perl_vendorarch}/auto/Prelude
359 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
363 %files -n python-libprelude
364 %defattr(644,root,root,755)
365 %attr(755,root,root) %{py_sitedir}/_prelude.so
366 %{py_sitedir}/prelude.py[co]
367 %{py_sitedir}/prelude-%{version}-py*.egg-info
371 %files -n python3-libprelude
372 %defattr(644,root,root,755)
373 %attr(755,root,root) %{py3_sitedir}/_prelude.cpython-*.so
374 %{py3_sitedir}/prelude.py
375 %{py3_sitedir}/__pycache__/prelude.cpython-*.py[co]
376 %{py3_sitedir}/prelude-%{version}-py*.egg-info
380 %files -n ruby-prelude
381 %defattr(644,root,root,755)
382 %attr(755,root,root) %{ruby_vendorarchdir}/Prelude.so