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 Summary: The Prelude library
14 Summary(pl.UTF-8): Biblioteka Prelude
18 License: GPL v2 or commercial
20 #Source0Download: https://www.prelude-siem.org/projects/prelude/files
21 Source0: https://www.prelude-siem.org/attachments/download/1181/%{name}-%{version}.tar.gz
22 # Source0-md5: 9302c68e1c84a847f77574ab048177e6
23 Patch0: python-install.patch
24 Patch1: %{name}-lua.patch
25 Patch2: gtk-doc-1.32.patch
26 Patch3: python-3.8-fix.patch
27 URL: https://www.prelude-siem.org/
28 BuildRequires: autoconf >= 2.59
29 BuildRequires: automake >= 1:1.9
32 BuildRequires: gnulib >= 0-0.20181013.2
33 BuildRequires: gnutls-devel >= 1.0.17
34 BuildRequires: gtk-doc >= 1.0
35 BuildRequires: libgcrypt-devel >= 1.1.94
36 BuildRequires: libltdl-devel >= 2:2.0
37 BuildRequires: libstdc++-devel
38 BuildRequires: libtool >= 2:2.0
39 %{?with_lua:BuildRequires: %{lua_pkg} >= %{lua_ver}}
40 %{?with_lua:BuildRequires: %{lua_pkg}-devel >= %{lua_ver}}
41 %{?with_perl:BuildRequires: perl-devel}
42 %{?with_python2:BuildRequires: python-devel >= 1:2.5}
43 %{?with_python3:BuildRequires: python3-devel >= 1:3.2}
44 BuildRequires: rpm-perlprov
45 BuildRequires: rpm-pythonprov
46 BuildRequires: rpmbuild(macros) >= 1.745
47 %{?with_ruby:BuildRequires: ruby-devel >= 1.9}
48 BuildRequires: sed >= 4.0
49 %{?with_perl:BuildRequires: swig-perl}
50 %{?with_python:BuildRequires: swig-python}
51 %{?with_ruby:BuildRequires: swig-ruby}
52 Requires: %{name}-libs = %{version}-%{release}
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56 The Prelude library is a collection of generic functions providing
57 communication between the Prelude Hybrid IDS suite components. It
58 provides a convenient interface for sending alerts to Prelude Manager
59 with transparent SSL, failover and replication support, asynchronous
60 events and timer interfaces, an abstracted configuration API (hooking
61 at the commandline, the configuration line, or wide configuration,
62 available from the Manager), and a generic plugin API. It allows you
63 to easily turn your favorite security program into a Prelude sensor.
65 %description -l pl.UTF-8
66 Biblioteka Prelude to zbiór ogólnych funkcji zapewniających
67 komunikację pomiędzy komponentami zestawu Prelude Hybrid IDS.
68 Dostarcza wygodny interfejs do wysyłania alarmów do zarządcy Prelude z
69 przezroczystą obsługę SSL, failover i replikacji, interfejsy do
70 zdarzeń asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne
71 (obsługujące linię poleceń, linię konfiguracji i konfigurację dostępną
72 z zarządcy) oraz ogólne API wtyczek. Pozwala łatwo zamienić ulubiony
73 program związany z bezpieczeństwem na czujnik Prelude.
76 Summary: The Prelude library
77 Summary(pl.UTF-8): Biblioteka Prelude
79 Requires: gnutls >= 1.0.17
80 Requires: libgcrypt >= 1.1.94
85 %description libs -l pl.UTF-8
89 Summary: Header files and development documentation for libprelude
90 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna dla libprelude
91 Group: Development/Libraries
92 Requires: %{name}-libs = %{version}-%{release}
93 Requires: gnutls-devel >= 1.0.17
94 Requires: libgcrypt-devel >= 1.1.94
95 Requires: libltdl-devel
98 Header files and development documentation for libprelude.
100 %description devel -l pl.UTF-8
101 Pliki nagłówkowe i dokumentacja programistyczna dla libprelude.
104 Summary: Static libprelude library
105 Summary(pl.UTF-8): Statyczna biblioteka libprelude
106 Group: Development/Libraries
107 Requires: %{name}-devel = %{version}-%{release}
110 Static libprelude library.
112 %description static -l pl.UTF-8
113 Statyczna biblioteka libprelude.
116 Summary: libpreludecpp - C++ binding for libprelude
117 Summary(pl.UTF-8): libpreludecpp - wiązanie C++ do libprelude
119 Requires: %{name}-libs = %{version}-%{release}
122 libpreludecpp - C++ binding for libprelude.
124 %description c++ -l pl.UTF-8
125 libpreludecpp - wiązanie C++ do libprelude.
128 Summary: Header file for libpreludecpp library
129 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludecpp
130 Group: Development/Libraries
131 Requires: %{name}-c++ = %{version}-%{release}
132 Requires: %{name}-devel = %{version}-%{release}
133 Requires: libstdc++-devel
135 %description c++-devel
136 Header file for libpreludecpp library - C++ binding for libprelude.
138 %description c++-devel -l pl.UTF-8
139 Pliki nagłówkowe biblioteki libpreludecpp - wiązań C++ do libprelude.
142 Summary: Static libpreludecpp library
143 Summary(pl.UTF-8): Statyczna biblioteka libpreludecpp
144 Group: Development/Libraries
145 Requires: %{name}-c++-devel = %{version}-%{release}
147 %description c++-static
148 Static libpreludecpp library.
150 %description c++-static -l pl.UTF-8
151 Statyczna biblioteka libpreludecpp.
154 Summary: SWIG development files for libprelude
155 Summary(pl.UTF-8): Pliki programistyczne SWIG-a dla libprelude
156 Group: Development/Libraries
157 Requires: %{name}-c++-devel = %{version}-%{release}
161 SWIG development files for libprelude.
163 %description swig -l pl.UTF-8
164 Pliki programistyczne SWIG-a dla libprelude.
166 %package -n lua-prelude
167 Summary: PreludeEasy - libprelude Lua bindings
168 Summary(pl.UTF-8): PreludeEasy - dowiązania języka Lua do libprelude
169 Group: Development/Languages
170 Requires: %{name}-c++ = %{version}-%{release}
171 Requires: %{lua_pkg} >= %{lua_ver}
173 %description -n lua-prelude
174 PreludeEasy - libprelude Lua bindings.
176 %description -n lua-prelude -l pl.UTF-8
177 PreludeEasy - dowiązania języka Lua do libprelude.
179 %package -n perl-libprelude
180 Summary: Prelude Perl module - Perl binding for libprelude
181 Summary(pl.UTF-8): Moduł Perla Prelude - wiązanie Perla do libprelude
182 Group: Development/Languages/Perl
183 Requires: %{name}-c++ = %{version}-%{release}
184 Obsoletes: perl-PreludeEasy
186 %description -n perl-libprelude
187 Prelude Perl module - Perl binding for libprelude.
189 %description -n perl-libprelude -l pl.UTF-8
190 Moduł Perla Prelude - wiązanie Perla do libprelude.
192 %package -n python-libprelude
193 Summary: Python 2.x binding for libprelude
194 Summary(pl.UTF-8): Wiązanie Pythona 2.x do libprelude
195 Group: Development/Languages/Python
196 Requires: %{name}-c++ = %{version}-%{release}
197 Obsoletes: python-PreludeEasy
199 %description -n python-libprelude
200 Python 2.x binding for libprelude.
202 %description -n python-libprelude -l pl.UTF-8
203 Wiązanie Pythona 2.x do libprelude.
205 %package -n python3-libprelude
206 Summary: Python 3.x binding for libprelude
207 Summary(pl.UTF-8): Wiązanie Pythona 3.x do libprelude
208 Group: Development/Languages/Python
209 Requires: %{name}-c++ = %{version}-%{release}
211 %description -n python3-libprelude
212 Python 3.x binding for libprelude.
214 %description -n python3-libprelude -l pl.UTF-8
215 Wiązanie Pythona 3.x do libprelude.
217 %package -n ruby-prelude
218 Summary: Ruby bindings for libprelude
219 Summary(pl.UTF-8): Wiązania języka Ruby do libprelude
220 Group: Development/Languages
221 Requires: %{name}-c++ = %{version}-%{release}
223 %description -n ruby-prelude
224 Ruby bindings for libprelude.
226 %description -n ruby-prelude -l pl.UTF-8
227 Wiązania języka Ruby do libprelude.
237 # regenerate with fresh swig for python 3.5+
238 %{__rm} bindings/python/{_prelude.cxx,prelude.py}
242 gnulib-tool --copy-file lib/fseeko.c libmissing/fseeko.c
243 gnulib-tool --copy-file m4/fseeko.m4 libmissing/m4/fseeko.m4
246 %{__aclocal} -I m4 -I libmissing/m4
251 am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
253 %{?with_static_libs:--enable-static} \
254 --with-html-dir=%{_gtkdocdir}/libprelude \
255 --with-lua%{!?with_lua:=no} \
256 --with-perl%{!?with_perl:=no} \
257 --with-perl-installdirs=vendor \
258 --with-python2%{!?with_python2:=no} \
259 --with-python3%{!?with_python3:=no} \
265 rm -rf $RPM_BUILD_ROOT
268 DESTDIR=$RPM_BUILD_ROOT \
269 pythondir=%{py_sitescriptdir} \
270 pyexecdir=%{py_sitedir} \
271 python3dir=%{py3_sitescriptdir} \
272 py3execdir=%{py3_sitedir}
275 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.la \
276 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.a}
282 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.la \
283 %{?with_static_libs:$RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.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.28
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
324 %{_mandir}/man1/libprelude-config.1*
326 %if %{with static_libs}
328 %defattr(644,root,root,755)
329 %{_libdir}/libprelude.a
333 %defattr(644,root,root,755)
334 %attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
335 %attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.12
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/libpreludecpp.so
340 %{_libdir}/libpreludecpp.la
341 %{_includedir}/libprelude/idmef*.hxx
342 %{_includedir}/libprelude/prelude*.hxx
344 %if %{with static_libs}
346 %defattr(644,root,root,755)
347 %{_libdir}/libpreludecpp.a
351 %defattr(644,root,root,755)
352 %dir %{_datadir}/libprelude
353 %{_datadir}/libprelude/swig
356 %files -n lua-prelude
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/lua/%{lua_ver}/prelude.so
362 %files -n perl-libprelude
363 %defattr(644,root,root,755)
364 %{perl_vendorarch}/Prelude.pm
365 %dir %{perl_vendorarch}/auto/Prelude
366 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
370 %files -n python-libprelude
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{py_sitedir}/_prelude.so
373 %{py_sitedir}/prelude.py[co]
374 %{py_sitedir}/prelude-%{version}-py*.egg-info
378 %files -n python3-libprelude
379 %defattr(644,root,root,755)
380 %attr(755,root,root) %{py3_sitedir}/_prelude.cpython-*.so
381 %{py3_sitedir}/prelude.py
382 %{py3_sitedir}/__pycache__/prelude.cpython-*.py[co]
383 %{py3_sitedir}/prelude-%{version}-py*.egg-info
387 %files -n ruby-prelude
388 %defattr(644,root,root,755)
389 %attr(755,root,root) %{ruby_vendorarchdir}/Prelude.so