]> git.pld-linux.org Git - packages/libprelude.git/blobdiff - libprelude.spec
- removed patching of autogenerated file
[packages/libprelude.git] / libprelude.spec
index dafd0d22b9278ef8d7235597501bdd3f7936a111..1331e2212bbeea903a86b676235f48ab97f6f915 100644 (file)
@@ -1,21 +1,49 @@
+#
+# Conditional build:
+%bcond_without lua     # Lua (5.1) bindings
+%bcond_without perl    # Perl bindings
+%bcond_without python  # Python bindings (required by prewikka)
+%bcond_without ruby    # Ruby bindings
+#
 %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.8
-Release:       1
-License:       GPL
+Version:       1.0.1
+Release:       6
+License:       GPL v2 or commercial
 Group:         Libraries
-Source0:       http://www.prelude-ids.org/download/releases/%{name}-%{version}.tar.gz
-# Source0-md5: d46527e7b036d20c3cc72c887486d773
-URL:           http://www.prelude-ids.org/
+# https://www.prelude-ids.org/projects/prelude/files
+Source0:       https://www.prelude-ids.org/attachments/download/241/%{name}-%{version}.tar.gz
+# Source0-md5: dce1ea9f82cf436830567894e7ee622f
+Patch0:                %{name}-libtool.patch
+Patch1:                %{name}-ruby.patch
+Patch2:                %{name}-gnutls.patch
+Patch3:                %{name}-gets.patch
+Patch4:                %{name}-python.patch
+URL:           http://www.prelude-ids.com/
+BuildRequires: autoconf >= 2.59
+BuildRequires: automake
 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_python:BuildRequires:  python-devel >= 1:2.5}
 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,90 +56,212 @@ 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 -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 - 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}
 
 %description -n perl-libprelude
-libprelude Perl bindings.
+Prelude Perl module - low-level Perl binding for libprelude.
+
+%description -n perl-libprelude -l pl.UTF-8
+Moduł Perla Prelude - niskopoziomowe wiązanie Perla do libprelude.
 
-%description -n perl-libprelude -l pl
-Dowi±zania Perla dla libprelude.
+%package -n perl-PreludeEasy
+Summary:       PreludeEasy - high-level Perl binding for libprelude
+Summary(pl.UTF-8):     PreludeEasy - wysokopoziomowe wiązanie Perla do libprelude
+Group:         Development/Languages/Perl
+Requires:      %{name}-c++ = %{version}-%{release}
+
+%description -n perl-PreludeEasy
+PreludeEasy - high-level Perl binding for libprelude.
+
+%description -n perl-PreludeEasy -l pl.UTF-8
+PreludeEasy - wysokopoziomowe wiązanie Perla do libprelude.
 
 %package -n python-libprelude
-Summary:       libprelude Python bindings
-Summary(pl):   Dowi±zania Pythona dla libprelude
+Summary:       Low-level Python binding for libprelude
+Summary(pl.UTF-8):     Niskopoziomowe wiązanie Pythona do libprelude
 Group:         Development/Languages/Python
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description -n python-libprelude
-libprelude Python bindings.
+Low-level Python binding for libprelude.
+
+%description -n python-libprelude -l pl.UTF-8
+Niskopoziomowe wiązanie Pythona do libprelude.
+
+%package -n python-PreludeEasy
+Summary:       PreludeEasy - high-level Python binding for libprelude
+Summary(pl.UTF-8):     PreludeEasy - wysokopoziomowe wiązanie Pythona do libprelude
+Group:         Development/Languages/Python
+Requires:      %{name}-c++ = %{version}-%{release}
 
-%description -n python-libprelude -l pl
-Dowi±zania Pythona dla libprelude.
+%description -n python-PreludeEasy
+PreludeEasy - high-level Python binding for libprelude.
+
+%description -n python-PreludeEasy -l pl.UTF-8
+PreludeEasy - wysokopoziomowe wiązanie Pythona 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 python}
+# regenerate with fresh swig for gcc 4.6+
+%{__rm} bindings/python/{_PreludeEasy.cxx,PreludeEasy.py}
+%endif
+%if %{with ruby}
+# same for ruby 1.9
+%{__rm} bindings/ruby/PreludeEasy.cxx
+%patch1 -p1
+%endif
+%if %{with perl}
+# regenerate with fresh swig for perl 5.20
+%{__rm} bindings/low-level/perl/Prelude.c
+%endif
+
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+sed -i -e 's/lua >= 5.1/lua51 >= 5.1/' 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
+       --enable-static \
+       --with%{!?with_lua:out}-lua \
+       --with%{!?with_perl:out}-perl \
+       --with%{!?with_python:out}-python \
+       --with-html-dir=%{_gtkdocdir}/libprelude \
+       --with-perl-installdirs=vendor
 
-# 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
+%{__make}
 
+cd bindings/perl
+%{__make} clean
+%{__perl} Makefile.PL \
+        INSTALLDIRS=vendor \
 %{__make}
 
 %install
@@ -120,14 +270,20 @@ 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
 
+%if %{with lua}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/PreludeEasy.{la,a}
+%endif
+%if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
+%py_postclean
+%endif
+%if %{with ruby}
+%{__rm} $RPM_BUILD_ROOT%{ruby_vendorarchdir}/PreludeEasy.{la,a}
+%endif
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -135,40 +291,95 @@ 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.2
 
 %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
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/lib*.a
+%{_libdir}/libprelude.a
+
+%files c++
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libpreludecpp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libpreludecpp.so.0
+
+%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
+
+%files c++-static
+%defattr(644,root,root,755)
+%{_libdir}/libpreludecpp.a
 
+%if %{with lua}
+%files -n lua-prelude
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/PreludeEasy.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
 
+%files -n perl-PreludeEasy
+%defattr(644,root,root,755)
+%{perl_vendorarch}/PreludeEasy.pm
+%dir %{perl_vendorarch}/auto/PreludeEasy
+%attr(755,root,root) %{perl_vendorarch}/auto/PreludeEasy/PreludeEasy.so
+%endif
+
+%if %{with python}
 %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
+
+%files -n python-PreludeEasy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/_PreludeEasy.so
+%{py_sitedir}/PreludeEasy.py[co]
+%{py_sitedir}/PreludeEasy-%{version}-py*.egg-info
+%endif
+
+%if %{with ruby}
+%files -n ruby-prelude
+%defattr(644,root,root,755)
+%attr(755,root,root) %{ruby_vendorarchdir}/PreludeEasy.so
+%endif
This page took 0.098518 seconds and 4 git commands to generate.