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-ids.org/projects/prelude/files
22 Source0: https://www.prelude-ids.org/attachments/download/721/%{name}-%{version}.tar.gz
23 # Source0-md5: 2e1a5d7cbf98a2d57fbb367a578dbf8c
24 Patch0: python-install.patch
25 Patch1: %{name}-lua.patch
26 URL: https://www.prelude-ids.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}
238 %{__aclocal} -I m4 -I libmissing/m4
243 am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
245 %{?with_static_libs:--enable-static} \
246 --with-html-dir=%{_gtkdocdir}/libprelude \
247 --with-lua%{!?with_lua:=no} \
248 --with-perl%{!?with_perl:=no} \
249 --with-perl-installdirs=vendor \
250 --with-python2%{!?with_python2:=no} \
251 --with-python3%{!?with_python3:=no} \
257 rm -rf $RPM_BUILD_ROOT
260 DESTDIR=$RPM_BUILD_ROOT \
261 pythondir=%{py_sitescriptdir} \
262 pyexecdir=%{py_sitedir} \
263 python3dir=%{py3_sitescriptdir} \
264 py3execdir=%{py3_sitedir}
267 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.la \
268 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/lua/%{lua_ver}/prelude.a}
274 %{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.la \
275 %{?with_static_libs:$RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.a}
279 rm -rf $RPM_BUILD_ROOT
281 %post libs -p /sbin/ldconfig
282 %postun libs -p /sbin/ldconfig
284 %post c++ -p /sbin/ldconfig
285 %postun c++ -p /sbin/ldconfig
288 %defattr(644,root,root,755)
289 %doc AUTHORS ChangeLog LICENSE.README NEWS README
290 %attr(755,root,root) %{_bindir}/prelude-adduser
291 %attr(755,root,root) %{_bindir}/prelude-admin
292 %dir %{_sysconfdir}/prelude
293 %dir %{_sysconfdir}/prelude/default
294 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/client.conf
295 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/global.conf
296 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/idmef-client.conf
297 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/tls.conf
298 %dir %{_sysconfdir}/prelude/profile
299 %{_mandir}/man1/prelude-admin.1*
302 %defattr(644,root,root,755)
303 %attr(755,root,root) %{_libdir}/libprelude.so.*.*.*
304 %attr(755,root,root) %ghost %{_libdir}/libprelude.so.23
307 %defattr(644,root,root,755)
308 %attr(755,root,root) %{_bindir}/libprelude-config
309 %attr(755,root,root) %{_libdir}/libprelude.so
310 %{_libdir}/libprelude.la
311 %dir %{_includedir}/libprelude
312 %{_includedir}/libprelude/*.h
313 %{_aclocaldir}/libprelude.m4
314 %{_gtkdocdir}/libprelude
315 %{_pkgconfigdir}/libprelude.pc
316 %{_mandir}/man1/libprelude-config.1*
318 %if %{with static_libs}
320 %defattr(644,root,root,755)
321 %{_libdir}/libprelude.a
325 %defattr(644,root,root,755)
326 %attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
327 %attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.8
330 %defattr(644,root,root,755)
331 %attr(755,root,root) %{_libdir}/libpreludecpp.so
332 %{_libdir}/libpreludecpp.la
333 %{_includedir}/libprelude/idmef*.hxx
334 %{_includedir}/libprelude/prelude*.hxx
336 %if %{with static_libs}
338 %defattr(644,root,root,755)
339 %{_libdir}/libpreludecpp.a
343 %defattr(644,root,root,755)
344 %dir %{_datadir}/libprelude
345 %{_datadir}/libprelude/swig
348 %files -n lua-prelude
349 %defattr(644,root,root,755)
350 %attr(755,root,root) %{_libdir}/lua/%{lua_ver}/prelude.so
354 %files -n perl-libprelude
355 %defattr(644,root,root,755)
356 %{perl_vendorarch}/Prelude.pm
357 %dir %{perl_vendorarch}/auto/Prelude
358 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
362 %files -n python-libprelude
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{py_sitedir}/_prelude.so
365 %{py_sitedir}/prelude.py[co]
366 %{py_sitedir}/prelude-%{version}-py*.egg-info
370 %files -n python3-libprelude
371 %defattr(644,root,root,755)
372 %attr(755,root,root) %{py3_sitedir}/_prelude.cpython-*.so
373 %{py3_sitedir}/prelude.py
374 %{py3_sitedir}/__pycache__/prelude.cpython-*.py[co]
375 %{py3_sitedir}/prelude-%{version}-py*.egg-info
379 %files -n ruby-prelude
380 %defattr(644,root,root,755)
381 %attr(755,root,root) %{ruby_vendorarchdir}/Prelude.so