]> git.pld-linux.org Git - packages/libpreludedb.git/blame - libpreludedb.spec
- unified pgsql bcond
[packages/libpreludedb.git] / libpreludedb.spec
CommitLineData
4426d2a4 1#
c0e7694e 2# Conditional build:
6583ad89
JB
3%bcond_without python2 # Python 2.x bindings (needed by prewikka)
4%bcond_without python3 # Python 3.x bindings
5%bcond_without static_libs # static library
cecbb030 6%bcond_without pgsql # PostgreSQL plugin
6583ad89
JB
7%bcond_without mysql # MySQL plugin
8%bcond_without sqlite3 # SQLite3 plugin
c0e7694e 9#
5211581e 10Summary: The PreludeDB Library
c4642f9c 11Summary(pl.UTF-8): Biblioteka PreludeDB
5211581e 12Name: libpreludedb
38e01c2f
JR
13Version: 5.1.0
14Release: 1
19dfa763 15License: GPL v2 or commercial
5211581e 16Group: Libraries
6583ad89 17#Source0Download: https://www.prelude-siem.org/projects/prelude/files
38e01c2f
JR
18Source0: https://www.prelude-siem.org/attachments/download/1171/%{name}-%{version}.tar.gz
19# Source0-md5: 372b2e7b40e1cc451833370e19bb4ec7
6583ad89
JB
20Patch0: %{name}-lt.patch
21Patch1: %{name}-link.patch
22Patch2: %{name}-python-install.patch
38e01c2f 23Patch3: gtk-doc-1.32.patch
6583ad89 24URL: https://www.prelude-siem.org/
8397b4e9 25BuildRequires: autoconf >= 2.59
6583ad89 26BuildRequires: automake >= 1:1.9
aca5d1e6
JB
27BuildRequires: bison
28BuildRequires: flex
19dfa763 29BuildRequires: gtk-doc >= 1.0
f99cb3c4 30BuildRequires: libprelude-devel >= %{version}
6583ad89 31BuildRequires: libprelude-c++-devel >= %{version}
eeba6e85 32BuildRequires: libprelude-swig >= %{version}
6583ad89
JB
33BuildRequires: libstdc++-devel
34BuildRequires: libtool >= 2:1.5
4426d2a4 35%{?with_mysql:BuildRequires: mysql-devel}
5211581e 36BuildRequires: pkgconfig
cecbb030 37%{?with_pgsql:BuildRequires: postgresql-devel}
6583ad89
JB
38%{?with_python2:BuildRequires: python-devel >= 1:2.5}
39%{?with_python3:BuildRequires: python3-devel >= 1:3.2}
19dfa763
JB
40BuildRequires: rpm-pythonprov
41BuildRequires: rpmbuild(macros) >= 1.219
8397b4e9 42%{?with_sqlite3:BuildRequires: sqlite3-devel >= 3.0.0}
6583ad89 43BuildRequires: swig-python
28c30f4d 44Requires(post): /sbin/ldconfig
4426d2a4 45Requires: %{name}(DB_driver) = %{version}-%{release}
f99cb3c4 46Requires: libprelude-libs >= %{version}
6583ad89 47Obsoletes: perl-libpreludedb
5211581e
AM
48BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49
50%description
51The PreludeDB Library provides an abstraction layer upon the type and
52the format of the database used to store IDMEF alerts. It allows
53developers to use the Prelude IDMEF database easily and efficiently
54without worrying about SQL, and to access the database independently
55of the type/format of the database.
56
2dddb0a4
JR
57%description -l pl.UTF-8
58Biblioteka PreludeDB dostarcza warstwę abstrakcji ponad rodzajem i
f99cb3c4
SP
59formatem bazy danych używanej do przechowywania alarmów IDMEF. Pozwala
60programistom łatwo i wydajnie używać bazy danych IDMEF Prelude nie
61martwiąc się o SQL i dostawać się do bazy niezależnie od jej
aca5d1e6
JB
62rodzaju/formatu.
63
19dfa763
JB
64%package devel
65Summary: Header files and development documentation for libpreludedb
66Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna do libpreludedb
67Group: Development/Libraries
68Requires: %{name} = %{version}-%{release}
8397b4e9 69Requires: libprelude-devel >= %{version}
4426d2a4 70
19dfa763
JB
71%description devel
72Header files and development documentation for libpreludedb.
4426d2a4 73
19dfa763
JB
74%description devel -l pl.UTF-8
75Pliki nagłówkowe i dokumentacja programistyczna do libpreludedb.
76
8397b4e9
JB
77%package static
78Summary: Static libpreludedb library
79Summary(pl.UTF-8): Statyczna biblioteka libpreludedb
80Group: Development/Libraries
81Requires: %{name}-devel = %{version}-%{release}
19dfa763 82
8397b4e9
JB
83%description static
84Static libpreludedb library.
19dfa763 85
8397b4e9
JB
86%description static -l pl.UTF-8
87Statyczna biblioteka libpreludedb.
4426d2a4 88
6583ad89
JB
89%package c++
90Summary: C++ binding for libpreludedb
91Summary(pl.UTF-8): Interfejs C++ do libpreludedb
92Group: Libraries
93Requires: %{name} = %{version}-%{release}
94Requires: libprelude-c++ >= %{version}
95
96%description c++
97C++ binding for libpreludedb.
98
99%description c++ -l pl.UTF-8
100Interfejs C++ do libpreludedb.
101
102%package c++-devel
103Summary: Header files for libpreludedbcpp
104Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludedbcpp
105Group: Development/Libraries
106Requires: %{name}-c++ = %{version}-%{release}
107Requires: %{name}-devel = %{version}-%{release}
108Requires: libprelude-c++-devel >= %{version}
109Requires: libstdc++-devel
110
111%description c++-devel
112Header files for libpreludedbcpp.
113
114%description c++-devel -l pl.UTF-8
115Pliki nagłówkowe biblioteki libpreludedbcpp.
116
117%package c++-static
118Summary: Static libpreludedbcpp library
119Summary(pl.UTF-8): Statyczna biblioteka libpreludedbcpp
120Group: Development/Libraries
121Requires: %{name}-c++-devel = %{version}-%{release}
122
123%description c++-static
124Static libpreludedbcpp library.
125
126%description c++-static -l pl.UTF-8
127Statyczna biblioteka libpreludedbcpp.
128
f213ae47 129%package pgsql
4426d2a4 130Summary: PostgreSQL backend for libpreludedb
c4642f9c 131Summary(pl.UTF-8): Interfejs do PostgreSQL dla libpreludedb
4426d2a4
AM
132Group: Libraries
133Requires: %{name} = %{version}-%{release}
134Provides: %{name}(DB_driver) = %{version}-%{release}
135
f213ae47 136%description pgsql
4426d2a4
AM
137PostgreSQL backend for libpreludedb
138
2dddb0a4 139%description pgsql -l pl.UTF-8
4426d2a4
AM
140Interfejs do PostgreSQL do libpreludedb
141
f213ae47 142%package mysql
4426d2a4 143Summary: MySQL backend for libpreludedb
c4642f9c 144Summary(pl.UTF-8): Interfejs do MySQL dla libpreludedb
4426d2a4
AM
145Group: Libraries
146Requires: %{name} = %{version}-%{release}
147Provides: %{name}(DB_driver) = %{version}-%{release}
148
f213ae47 149%description mysql
4426d2a4
AM
150MySQL backend for libpreludedb
151
2dddb0a4 152%description mysql -l pl.UTF-8
4426d2a4
AM
153Interfejs do MySQL do libpreludedb
154
f213ae47 155%package sqlite3
4426d2a4 156Summary: SQLite3 backend for libpreludedb
c4642f9c 157Summary(pl.UTF-8): Interfejs do SQLite3 dla libpreludedb
4426d2a4
AM
158Group: Libraries
159Requires: %{name} = %{version}-%{release}
160Provides: %{name}(DB_driver) = %{version}-%{release}
161
f213ae47 162%description sqlite3
4426d2a4
AM
163SQLite3 backend for libpreludedb
164
2dddb0a4 165%description sqlite3 -l pl.UTF-8
4426d2a4
AM
166Interfejs do SQLite3 do libpreludedb
167
5211581e 168%package -n python-libpreludedb
6583ad89
JB
169Summary: Python 2.x bindings for libpreludedb
170Summary(pl.UTF-8): Wiązania Pythona 2.x do libpreludedb
5211581e 171Group: Development/Languages/Python
6583ad89 172Requires: %{name}-c++ = %{version}-%{release}
5211581e
AM
173
174%description -n python-libpreludedb
6583ad89 175Python 2.x bindings for libpreludedb.
aca5d1e6 176
2dddb0a4 177%description -n python-libpreludedb -l pl.UTF-8
6583ad89
JB
178Wiązania Pythona 2.x do libpreludedb.
179
180%package -n python3-libpreludedb
181Summary: Python 3.x bindings for libpreludedb
182Summary(pl.UTF-8): Wiązania Pythona 3.x do libpreludedb
183Group: Development/Languages/Python
184Requires: %{name}-c++ = %{version}-%{release}
185
186%description -n python3-libpreludedb
187Python 3.x bindings for libpreludedb.
188
189%description -n python3-libpreludedb -l pl.UTF-8
190Wiązania Pythona 3.x do libpreludedb.
5211581e
AM
191
192%prep
40858119 193%setup -q
6537a80c 194%patch0 -p1
8397b4e9 195%patch1 -p1
6583ad89 196%patch2 -p1
38e01c2f 197%patch3 -p1
6583ad89
JB
198
199%if %{with python3}
200%{__rm} bindings/python/{_preludedb.cxx,preludedb.py}
201%endif
5211581e
AM
202
203%build
f48e2dc0 204%{__gtkdocize}
8397b4e9
JB
205%{__libtoolize}
206%{__aclocal} -I m4 -I libmissing/m4
207%{__autoconf}
208%{__autoheader}
209%{__automake}
5211581e 210%configure \
19dfa763 211 --enable-gtk-doc \
6583ad89 212 %{?with_static_libs:--enable-static} \
4426d2a4 213 --with-html-dir=%{_gtkdocdir}/libpreludedb \
6583ad89 214 --with-mysql%{!?with_mysql:=no} \
cecbb030 215 --with-postgresql%{!?with_pgsql:=no} \
6583ad89
JB
216 --with-python2%{!?with_python2:=no} \
217 --with-python3%{!?with_python3:=no} \
218 --with-sqlite%{!?with_sqlite3:=no} \
219 --with-swig
5211581e
AM
220
221%{__make}
222
223%install
224rm -rf $RPM_BUILD_ROOT
225
0f57acec 226%{__make} -j1 install \
6583ad89
JB
227 DESTDIR=$RPM_BUILD_ROOT \
228 pythondir=%{py_sitescriptdir} \
229 pyexecdir=%{py_sitedir} \
230 python3dir=%{py3_sitescriptdir} \
231 py3execdir=%{py3_sitedir}
5211581e 232
cecbb030 233%if %{without pgsql} && %{without mysql} && %{without sqlite3}
8397b4e9
JB
234install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/sql
235%endif
236
237# no *.la for plugins
6583ad89
JB
238%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*/*.la \
239 %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*/*.a}
f213ae47 240
6583ad89 241%if %{with python2}
19dfa763 242%py_postclean
4426d2a4 243%endif
5211581e
AM
244
245%clean
246rm -rf $RPM_BUILD_ROOT
247
4426d2a4 248%post
28c30f4d 249/sbin/ldconfig
4426d2a4
AM
250if [ "$1" = 1 ]; then
251%banner -e %{name} <<EOF
252
253Create new database and database user for prelude
254(or update an existing one if needed) using templates from
255%{_datadir}/%{name}/classic
256for reference visit %{url}
257
258EOF
259fi
260
28c30f4d 261%postun -p /sbin/ldconfig
4426d2a4 262
6583ad89
JB
263%post c++ -p /sbin/ldconfig
264%postun c++ -p /sbin/ldconfig
265
5211581e
AM
266%files
267%defattr(644,root,root,755)
19dfa763 268%doc ChangeLog LICENSE.README NEWS README
eaa145c6 269%attr(755,root,root) %{_bindir}/preludedb-admin
19dfa763 270%attr(755,root,root) %{_libdir}/libpreludedb.so.*.*.*
6583ad89 271%attr(755,root,root) %ghost %{_libdir}/libpreludedb.so.7
5211581e
AM
272%dir %{_libdir}/%{name}
273%dir %{_libdir}/%{name}/plugins
4426d2a4 274%dir %{_libdir}/%{name}/plugins/formats
19dfa763 275%attr(755,root,root) %{_libdir}/%{name}/plugins/formats/classic.so
4426d2a4 276%dir %{_libdir}/%{name}/plugins/sql
4426d2a4
AM
277%dir %{_datadir}/%{name}
278%dir %{_datadir}/%{name}/classic
19dfa763 279%{_mandir}/man1/preludedb-admin.1*
4426d2a4 280
98a7a0b5
JB
281%files devel
282%defattr(644,root,root,755)
283%attr(755,root,root) %{_bindir}/libpreludedb-config
19dfa763
JB
284%attr(755,root,root) %{_libdir}/libpreludedb.so
285%{_libdir}/libpreludedb.la
6583ad89
JB
286%dir %{_includedir}/libpreludedb
287%{_includedir}/libpreludedb/*.h
19dfa763 288%{_aclocaldir}/libpreludedb.m4
98a7a0b5 289%{_gtkdocdir}/libpreludedb
0f57acec 290%{_mandir}/man1/libpreludedb-config.1*
98a7a0b5 291
6583ad89 292%if %{with static_libs}
8397b4e9
JB
293%files static
294%defattr(644,root,root,755)
295%{_libdir}/libpreludedb.a
6583ad89
JB
296%endif
297
298%files c++
299%defattr(644,root,root,755)
300%attr(755,root,root) %{_libdir}/libpreludedbcpp.so.*.*.*
301%attr(755,root,root) %ghost %{_libdir}/libpreludedbcpp.so.2
302
303%files c++-devel
304%defattr(644,root,root,755)
305%attr(755,root,root) %{_libdir}/libpreludedbcpp.so
306%{_libdir}/libpreludedbcpp.la
307%{_includedir}/libpreludedb/*.hxx
308
309%if %{with static_libs}
310%files c++-static
311%defattr(644,root,root,755)
312%{_libdir}/libpreludedbcpp.a
313%endif
98a7a0b5 314
cecbb030 315%if %{with pgsql}
f213ae47 316%files pgsql
4426d2a4 317%defattr(644,root,root,755)
19dfa763
JB
318%attr(755,root,root) %{_libdir}/%{name}/plugins/sql/pgsql.so
319%attr(755,root,root) %{_datadir}/%{name}/classic/mysql2pgsql.sh
320%{_datadir}/%{name}/classic/pgsql*.sql
4426d2a4
AM
321%endif
322
323%if %{with mysql}
f213ae47 324%files mysql
4426d2a4 325%defattr(644,root,root,755)
19dfa763
JB
326%attr(755,root,root) %{_libdir}/%{name}/plugins/sql/mysql.so
327%{_datadir}/%{name}/classic/mysql*.sql
4426d2a4
AM
328%endif
329
330%if %{with sqlite3}
f213ae47 331%files sqlite3
4426d2a4 332%defattr(644,root,root,755)
19dfa763
JB
333%attr(755,root,root) %{_libdir}/%{name}/plugins/sql/sqlite3.so
334%attr(755,root,root) %{_datadir}/%{name}/classic/mysql2sqlite.sh
335%{_datadir}/%{name}/classic/sqlite*.sql
4426d2a4 336%endif
5211581e 337
6583ad89 338%if %{with python2}
5211581e
AM
339%files -n python-libpreludedb
340%defattr(644,root,root,755)
19dfa763
JB
341%attr(755,root,root) %{py_sitedir}/_preludedb.so
342%{py_sitedir}/preludedb.py[co]
8397b4e9 343%{py_sitedir}/preludedb-*-py*.egg-info
4426d2a4 344%endif
6583ad89
JB
345
346%if %{with python3}
347%files -n python3-libpreludedb
348%defattr(644,root,root,755)
349%attr(755,root,root) %{py3_sitedir}/_preludedb.cpython-*.so
350%{py3_sitedir}/preludedb.py
351%{py3_sitedir}/__pycache__/preludedb.cpython-*.py[co]
352%{py3_sitedir}/preludedb-*-py*.egg-info
353%endif
This page took 0.191513 seconds and 4 git commands to generate.