]> git.pld-linux.org Git - packages/libprelude.git/blobdiff - libprelude.spec
- updated to 1.2.6 (note: new sonames)
[packages/libprelude.git] / libprelude.spec
index 97c58e79a2a4aa8aa874d4ede01dd8590ecc0dfb..f17d4b507402d465bc29f08d7378c40492e4c5e5 100644 (file)
@@ -1,20 +1,24 @@
 #
 # Conditional build:
-%bcond_without perl    # don't build perl bindings
-%bcond_without python  # don't build python bindings (required by prewikka)
+%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.UTF-8):     Biblioteka Prelude
 Name:          libprelude
-Version:       0.9.17.2
+Version:       1.2.6
 Release:       1
 License:       GPL v2 or commercial
 Group:         Libraries
-#Source0Download: http://www.prelude-ids.com/developpement/telechargement/index.html
-Source0:       http://www.prelude-ids.com/download/releases/libprelude/%{name}-%{version}.tar.gz
-# Source0-md5: 7c769293b4d79be2667993b8a88d42ac
-Patch0:                %{name}-libdir.patch
+# https://www.prelude-ids.org/projects/prelude/files
+Source0:       https://www.prelude-ids.org/attachments/download/410/%{name}-%{version}.tar.gz
+# Source0-md5: 6a5aa32864ca6d74e1c7af0cdab7bf40
+Patch0:                python-install.patch
 URL:           http://www.prelude-ids.com/
 BuildRequires: autoconf >= 2.59
 BuildRequires: automake
@@ -23,13 +27,21 @@ BuildRequires:      flex
 BuildRequires: gnutls-devel >= 1.0.17
 BuildRequires: gtk-doc >= 1.0
 BuildRequires: libgcrypt-devel >= 1.1.94
-BuildRequires: libltdl-devel
-BuildRequires: libtool
+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_python:BuildRequires:  python-devel >= 1:2.5}
+%{?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)
 
@@ -49,9 +61,9 @@ 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.
+(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
@@ -93,34 +105,117 @@ Static libprelude library.
 %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 -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.UTF-8):     Dowiązania Perla do libprelude
+Summary:       Prelude Perl module - low-level Perl binding for libprelude
+Summary(pl.UTF-8):     Moduł Perla Prelude - niskopoziomowe wiązanie Perla do libprelude
 Group:         Development/Languages/Perl
 Requires:      %{name}-libs = %{version}-%{release}
+Obsoletes:     perl-PreludeEasy
 
 %description -n perl-libprelude
-libprelude Perl bindings.
+Prelude Perl module - low-level Perl binding for libprelude.
 
 %description -n perl-libprelude -l pl.UTF-8
-Dowiązania Perla dla libprelude.
+Moduł Perla Prelude - niskopoziomowe wiązanie Perla do libprelude.
 
 %package -n python-libprelude
-Summary:       libprelude Python bindings
-Summary(pl.UTF-8):     Dowiązania Pythona dla libprelude
+Summary:       Low-level Python 2.x binding for libprelude
+Summary(pl.UTF-8):     Niskopoziomowe wiązanie Pythona 2.x do libprelude
 Group:         Development/Languages/Python
 Requires:      %{name}-libs = %{version}-%{release}
+Obsoletes:     python-PreludeEasy
 
 %description -n python-libprelude
-libprelude Python bindings.
+Low-level Python 2.x binding for libprelude.
 
 %description -n python-libprelude -l pl.UTF-8
-Dowiązania Pythona dla libprelude.
+Niskopoziomowe wiązanie Pythona 2.x do libprelude.
+
+%package -n python3-libprelude
+Summary:       Low-level Python 3.x binding for libprelude
+Summary(pl.UTF-8):     Niskopoziomowe wiązanie Pythona 3.x do libprelude
+Group:         Development/Languages/Python
+Requires:      %{name}-libs = %{version}-%{release}
+
+%description -n python3-libprelude
+Low-level Python 3.x binding for libprelude.
+
+%description -n python3-libprelude -l pl.UTF-8
+Niskopoziomowe wiązanie Pythona 3.x do libprelude.
+
+%package -n ruby-prelude
+Summary:       PreludeEasy - libprelude Ruby bindings
+Summary(pl.UTF-8):     PreludeEasy - dowiązania języka Ruby do libprelude
+Group:         Development/Languages
+Requires:      %{name}-c++ = %{version}-%{release}
+
+%description -n ruby-prelude
+PreludeEasy - libprelude Ruby bindings.
+
+%description -n ruby-prelude -l pl.UTF-8
+PreludeEasy - dowią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
@@ -128,26 +223,52 @@ Dowiązania Pythona dla libprelude.
 %{__autoheader}
 %{__automake}
 %configure \
-       --enable-static \
+       am_cv_ruby_rbexecdir=%{ruby_vendorarchdir} \
        --enable-gtk-doc \
-       --with%{!?with_perl:out}-perl \
-       --with%{!?with_python:out}-python \
+       %{?with_static_libs:--enable-static} \
        --with-html-dir=%{_gtkdocdir}/libprelude \
-       --with-perl-installdirs=vendor
+       --with-lua%{!?with_lua:=no} \
+       --with-perl%{!?with_perl:=no} \
+       --with-perl-installdirs=vendor \
+       --with-python%{!?with_python2:=no} \
+       --with-python3%{!?with_python3:=no} \
+       --with-swig
 
 %{__make}
 
+#cd bindings/perl
+#%{__make} clean
+#%{__perl} Makefile.PL \
+#        INSTALLDIRS=vendor \
+#%{__make}
+
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %{__make} install \
-       DESTDIR=$RPM_BUILD_ROOT
+       DESTDIR=$RPM_BUILD_ROOT \
+       pythondir=%{py_sitescriptdir} \
+       pyexecdir=%{py_sitedir} \
+       python3dir=%{py3_sitescriptdir} \
+       py3execdir=%{py3_sitedir}
+
+#%{__make} -C bindings/perl install \
+#      DESTDIR=$RPM_BUILD_ROOT
 
-%if %{with python}
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_comp $RPM_BUILD_ROOT%{py_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
+
+# not useful in distro? (or -swig?)
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/libprelude/swig
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -155,6 +276,9 @@ 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 LICENSE.README NEWS README
@@ -162,41 +286,86 @@ rm -rf $RPM_BUILD_ROOT
 %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) %{_libdir}/libprelude.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libprelude.so.2
+%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}/libprelude.so
 %{_libdir}/libprelude.la
-%{_includedir}/libprelude
+%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}/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
+
+%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)
 %{perl_vendorarch}/Prelude.pm
 %dir %{perl_vendorarch}/auto/Prelude
-%{perl_vendorarch}/auto/Prelude/Prelude.bs
 %attr(755,root,root) %{perl_vendorarch}/auto/Prelude/Prelude.so
 %endif
 
-%if %{with python}
+%if %{with python2}
 %files -n python-libprelude
 %defattr(644,root,root,755)
 %attr(755,root,root) %{py_sitedir}/_prelude.so
 %{py_sitedir}/prelude.py[co]
-%{py_sitedir}/prelude-*.egg-info
+%{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
This page took 0.100929 seconds and 4 git commands to generate.