X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=libprelude.spec;h=52dc88c04cc7eecd1fbac7faa913a0fd8ce43fa1;hb=76646abe42b5e612ddbc0426b544922bbcb5b83c;hp=db7b8c18cc96e9bdf68422da89ad9736293b531c;hpb=6de9ce54972ce83ae0d339b036ae060dbbb91d1e;p=packages%2Flibprelude.git diff --git a/libprelude.spec b/libprelude.spec index db7b8c1..52dc88c 100644 --- a/libprelude.spec +++ b/libprelude.spec @@ -1,21 +1,48 @@ +# +# Conditional build: +%bcond_without lua # Lua (5.1) bindings +%bcond_without perl # Perl bindings +%bcond_without python2 # Python 2.x bindings (required by prewikka) +%bcond_without python3 # Python 3.x bindings +%bcond_without ruby # Ruby bindings +%bcond_without static_libs # static libraries +# %include /usr/lib/rpm/macros.perl Summary: The Prelude library -Summary(pl): Biblioteka Prelude +Summary(pl.UTF-8): Biblioteka Prelude Name: libprelude -Version: 0.9.0 +Version: 1.2.6 Release: 1 -License: GPL +License: GPL v2 or commercial Group: Libraries -Source0: http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz -# Source0-md5: 95fe75b77b8be8992bc87274d6e2283a -URL: http://www.prelude-ids.org/ +# https://www.prelude-ids.org/projects/prelude/files +Source0: https://www.prelude-siem.org/attachments/download/410/%{name}-%{version}.tar.gz +# Source0-md5: 6a5aa32864ca6d74e1c7af0cdab7bf40 +Patch0: python-install.patch +URL: https://www.prelude-siem.org/ +BuildRequires: autoconf >= 2.59 +BuildRequires: automake >= 1:1.9 BuildRequires: bison BuildRequires: flex -BuildRequires: gnutls-devel >= 1.2.5 -BuildRequires: gtk-doc -BuildRequires: perl-devel -BuildRequires: python-devel +BuildRequires: gnutls-devel >= 1.0.17 +BuildRequires: gtk-doc >= 1.0 +BuildRequires: libgcrypt-devel >= 1.1.94 +BuildRequires: libltdl-devel >= 2:2.0 +BuildRequires: libstdc++-devel +BuildRequires: libtool >= 2:2.0 +%{?with_lua:BuildRequires: lua51-devel >= 5.1} +%{?with_perl:BuildRequires: perl-devel} +%{?with_python2:BuildRequires: python-devel >= 1:2.5} +%{?with_python3:BuildRequires: python3-devel >= 1:3.2} BuildRequires: rpm-perlprov +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.219 +%{?with_ruby:BuildRequires: ruby-devel >= 1.9} +BuildRequires: sed >= 4.0 +%{?with_perl:BuildRequires: swig-perl} +%{?with_python:BuildRequires: swig-python} +%{?with_ruby:BuildRequires: swig-ruby} +Requires: %{name}-libs = %{version}-%{release} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -28,89 +55,197 @@ at the commandline, the configuration line, or wide configuration, available from the Manager), and a generic plugin API. It allows you to easily turn your favorite security program into a Prelude sensor. -%description -l pl -Biblioteka Prelude to zbiór ogólnych funkcji zapewniaj±cych -komunikacjê pomiêdzy komponentami zestawu Prelude Hybrid IDS. -Dostarcza wygodny interfejs do wysy³ania alarmów do zarz±dcy Prelude z -przezroczyst± obs³ugê SSL, failover i replikacji, interfejsy do -zdarzeñ asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne -(obs³uguj±ce liniê poleceñ, liniê konfiguracji i konfiguracjê -dostêpn± z zarz±dcy) oraz ogólne API wtyczek. Pozwala ³atwo zamieniæ -ulubiony program zwi±zany z bezpieczeñstwem na czujnik Prelude. +%description -l pl.UTF-8 +Biblioteka Prelude to zbiór ogólnych funkcji zapewniających +komunikację pomiędzy komponentami zestawu Prelude Hybrid IDS. +Dostarcza wygodny interfejs do wysyłania alarmów do zarządcy Prelude z +przezroczystą obsługę SSL, failover i replikacji, interfejsy do +zdarzeń asynchronicznych i zegarów, abstrakcyjne API konfiguracyjne +(obsługujące linię poleceń, linię konfiguracji i konfigurację dostępną +z zarządcy) oraz ogólne API wtyczek. Pozwala łatwo zamienić ulubiony +program związany z bezpieczeństwem na czujnik Prelude. %package libs Summary: The Prelude library -Summary(pl): Biblioteka Prelude +Summary(pl.UTF-8): Biblioteka Prelude Group: Libraries +Requires: gnutls >= 1.0.17 +Requires: libgcrypt >= 1.1.94 %description libs The Prelude library. -%description libs -l pl +%description libs -l pl.UTF-8 Biblioteka Prelude. %package devel Summary: Header files and development documentation for libprelude -Summary(pl): Pliki nag³ówkowe i dokumentacja programistyczna dla libprelude +Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programistyczna dla libprelude Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -Requires: gnutls-devel +Requires: gnutls-devel >= 1.0.17 +Requires: libgcrypt-devel >= 1.1.94 +Requires: libltdl-devel %description devel Header files and development documentation for libprelude. -%description devel -l pl -Pliki nag³ówkowe i dokumentacja programistyczna dla libprelude. +%description devel -l pl.UTF-8 +Pliki nagłówkowe i dokumentacja programistyczna dla libprelude. %package static Summary: Static libprelude library -Summary(pl): Statyczna biblioteka libprelude +Summary(pl.UTF-8): Statyczna biblioteka libprelude Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static Static libprelude library. -%description static -l pl +%description static -l pl.UTF-8 Statyczna biblioteka libprelude. +%package c++ +Summary: libpreludecpp - C++ binding for libprelude +Summary(pl.UTF-8): libpreludecpp - wiązanie C++ do libprelude +Group: Libraries +Requires: %{name}-libs = %{version}-%{release} + +%description c++ +libpreludecpp - C++ binding for libprelude. + +%description c++ -l pl.UTF-8 +libpreludecpp - wiązanie C++ do libprelude. + +%package c++-devel +Summary: Header file for libpreludecpp library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki libpreludecpp +Group: Development/Libraries +Requires: %{name}-c++ = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} +Requires: libstdc++-devel + +%description c++-devel +Header file for libpreludecpp library - C++ binding for libprelude. + +%description c++-devel -l pl.UTF-8 +Pliki nagłówkowe biblioteki libpreludecpp - wiązań C++ do libprelude. + +%package c++-static +Summary: Static libpreludecpp library +Summary(pl.UTF-8): Statyczna biblioteka libpreludecpp +Group: Development/Libraries +Requires: %{name}-c++-devel = %{version}-%{release} + +%description c++-static +Static libpreludecpp library. + +%description c++-static -l pl.UTF-8 +Statyczna biblioteka libpreludecpp. + +%package swig +Summary: SWIG development files for libprelude +Summary(pl.UTF-8): Pliki programistyczne SWIG-a dla libprelude +Group: Development/Libraries +Requires: %{name}-c++-devel = %{version}-%{release} +Requires: swig + +%description swig +SWIG development files for libprelude. + +%description swig -l pl.UTF-8 +Pliki programistyczne SWIG-a dla libprelude. + +%package -n lua-prelude +Summary: PreludeEasy - libprelude Lua bindings +Summary(pl.UTF-8): PreludeEasy - dowiązania języka Lua do libprelude +Group: Development/Languages +Requires: %{name}-c++ = %{version}-%{release} + +%description -n lua-prelude +PreludeEasy - libprelude Lua bindings. + +%description -n lua-prelude -l pl.UTF-8 +PreludeEasy - dowiązania języka Lua do libprelude. + %package -n perl-libprelude -Summary: libprelude Perl bindings -Summary(pl): Dowi±zania Perla do libprelude +Summary: Prelude Perl module - Perl binding for libprelude +Summary(pl.UTF-8): Moduł Perla Prelude - wiązanie Perla do libprelude Group: Development/Languages/Perl +Requires: %{name}-c++ = %{version}-%{release} +Obsoletes: perl-PreludeEasy %description -n perl-libprelude -libprelude Perl bindings. +Prelude Perl module - Perl binding for libprelude. -%description -n perl-libprelude -l pl -Dowi±zania Perla dla libprelude. +%description -n perl-libprelude -l pl.UTF-8 +Moduł Perla Prelude - wiązanie Perla do libprelude. %package -n python-libprelude -Summary: libprelude Python bindings -Summary(pl): Dowi±zania Pythona dla libprelude +Summary: Python 2.x binding for libprelude +Summary(pl.UTF-8): Wiązanie Pythona 2.x do libprelude Group: Development/Languages/Python +Requires: %{name}-c++ = %{version}-%{release} +Obsoletes: python-PreludeEasy %description -n python-libprelude -libprelude Python bindings. +Python 2.x binding for libprelude. + +%description -n python-libprelude -l pl.UTF-8 +Wiązanie Pythona 2.x do libprelude. + +%package -n python3-libprelude +Summary: Python 3.x binding for libprelude +Summary(pl.UTF-8): Wiązanie Pythona 3.x do libprelude +Group: Development/Languages/Python +Requires: %{name}-c++ = %{version}-%{release} + +%description -n python3-libprelude +Python 3.x binding for libprelude. -%description -n python-libprelude -l pl -Dowi±zania Pythona dla libprelude. +%description -n python3-libprelude -l pl.UTF-8 +Wiązanie Pythona 3.x do libprelude. + +%package -n ruby-prelude +Summary: Ruby bindings for libprelude +Summary(pl.UTF-8): Wiązania języka Ruby do libprelude +Group: Development/Languages +Requires: %{name}-c++ = %{version}-%{release} + +%description -n ruby-prelude +Ruby bindings for libprelude. + +%description -n ruby-prelude -l pl.UTF-8 +Wiązania języka Ruby do libprelude. %prep %setup -q +%patch0 -p1 + +%if %{with python3} +# regenerate with fresh swig for python 3.5+ +%{__rm} bindings/python/{_prelude.cxx,prelude.py} +%endif + +%{__sed} -i -e 's/lua >= 5.1/lua51 >= 5.1/;s/lua -e/lua5.1 -e/' configure.in %build +%{__libtoolize} +%{__aclocal} -I m4 -I libmissing/m4 +%{__autoconf} +%{__autoheader} +%{__automake} %configure \ - --enable-shared \ - --enable-static \ - --enable-perl \ - --enable-python \ + am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \ --enable-gtk-doc \ - --with-html-dir=%{_gtkdocdir}/libprelude - -# first make the perl makefile otherwise with jobserver strange things happen: -# Makefile out-of-date with respect to Makefile.PL -%{__make} -C bindings perl/Makefile + %{?with_static_libs:--enable-static} \ + --with-html-dir=%{_gtkdocdir}/libprelude \ + --with-lua%{!?with_lua:=no} \ + --with-perl%{!?with_perl:=no} \ + --with-perl-installdirs=vendor \ + --with-python2%{!?with_python2:=no} \ + --with-python3%{!?with_python3:=no} \ + --with-swig %{__make} @@ -118,16 +253,23 @@ Dowi rm -rf $RPM_BUILD_ROOT %{__make} install \ - DESTDIR=$RPM_BUILD_ROOT - -cd bindings/perl && %{__perl} Makefile.PL \ - INSTALLDIRS=vendor -cd ../.. -%{__make} -C bindings/perl install \ - DESTDIR=$RPM_BUILD_ROOT - -%py_ocomp $RPM_BUILD_ROOT%{py_sitedir} -%py_comp $RPM_BUILD_ROOT%{py_sitedir} + DESTDIR=$RPM_BUILD_ROOT \ + pythondir=%{py_sitescriptdir} \ + pyexecdir=%{py_sitedir} \ + python3dir=%{py3_sitescriptdir} \ + py3execdir=%{py3_sitedir} + +%if %{with lua} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/lua/5.1/prelude.la \ + %{?with_static_libs:$RPM_BUILD_ROOT%{_libdir}/lua/5.1/prelude.a} +%endif +%if %{with python2} +%py_postclean +%endif +%if %{with ruby} +%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.la \ + %{?with_static_libs:$RPM_BUILD_ROOT%{ruby_vendorarchdir}/Prelude.a} +%endif %clean rm -rf $RPM_BUILD_ROOT @@ -135,40 +277,101 @@ rm -rf $RPM_BUILD_ROOT %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig +%post c++ -p /sbin/ldconfig +%postun c++ -p /sbin/ldconfig + %files %defattr(644,root,root,755) -%doc AUTHORS ChangeLog NEWS README +%doc AUTHORS ChangeLog LICENSE.README NEWS README +%attr(755,root,root) %{_bindir}/prelude-adduser +%attr(755,root,root) %{_bindir}/prelude-admin %dir %{_sysconfdir}/prelude %dir %{_sysconfdir}/prelude/default -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/*.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/client.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/global.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/idmef-client.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/prelude/default/tls.conf %dir %{_sysconfdir}/prelude/profile +%{_mandir}/man1/prelude-admin.1* %files libs %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/prelude-adduser -%attr(755,root,root) %{_libdir}/lib*.so.*.* +%attr(755,root,root) %{_libdir}/libprelude.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libprelude.so.23 %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/libprelude-config -%attr(755,root,root) %{_libdir}/lib*.so -%{_libdir}/lib*.la -%{_includedir}/libprelude -%{_aclocaldir}/*.m4 +%attr(755,root,root) %{_libdir}/libprelude.so +%{_libdir}/libprelude.la +%dir %{_includedir}/libprelude +%{_includedir}/libprelude/*.h +%{_aclocaldir}/libprelude.m4 %{_gtkdocdir}/libprelude +%{_pkgconfigdir}/libprelude.pc +%if %{with static_libs} %files static %defattr(644,root,root,755) -%{_libdir}/lib*.a +%{_libdir}/libprelude.a +%endif + +%files c++ +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.8 +%files c++-devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/libpreludecpp.so +%{_libdir}/libpreludecpp.la +%{_includedir}/libprelude/idmef*.hxx +%{_includedir}/libprelude/prelude*.hxx + +%if %{with static_libs} +%files c++-static +%defattr(644,root,root,755) +%{_libdir}/libpreludecpp.a +%endif + +%files swig +%defattr(644,root,root,755) +%dir %{_datadir}/libprelude +%{_datadir}/libprelude/swig + +%if %{with lua} +%files -n lua-prelude +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/lua/5.1/prelude.so +%endif + +%if %{with perl} %files -n perl-libprelude %defattr(644,root,root,755) -%dir %{perl_vendorarch}/auto/Prelude -%attr(755,root,root) %{perl_vendorarch}/auto/Prelude/*.so -%{perl_vendorarch}/auto/Prelude/*.bs %{perl_vendorarch}/Prelude.pm +%dir %{perl_vendorarch}/auto/Prelude +%attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so +%endif +%if %{with python2} %files -n python-libprelude %defattr(644,root,root,755) -%attr(755,root,root) %{py_sitedir}/*.so -%{py_sitedir}/*.py[co] +%attr(755,root,root) %{py_sitedir}/_prelude.so +%{py_sitedir}/prelude.py[co] +%{py_sitedir}/prelude-%{version}-py*.egg-info +%endif + +%if %{with python3} +%files -n python3-libprelude +%defattr(644,root,root,755) +%attr(755,root,root) %{py3_sitedir}/_prelude.cpython-*.so +%{py3_sitedir}/prelude.py +%{py3_sitedir}/__pycache__/prelude.cpython-*.py[co] +%{py3_sitedir}/prelude-%{version}-py*.egg-info +%endif + +%if %{with ruby} +%files -n ruby-prelude +%defattr(644,root,root,755) +%attr(755,root,root) %{ruby_vendorarchdir}/Prelude.so +%endif