#
# TODO:
-# - finish crawl system
-# - separtate CLI utilities
+# - kill bashisms in crawl stuff
#
%include /usr/lib/rpm/macros.mono
#
# Conditional build:
-%bcond_with epiphany # build epiphany extension
-%bcond_with gsf # build with libgsf support
+%bcond_without apidocs # don't build API documentation
%bcond_without evolution # don't include evolution support
+%bcond_without galago # build without galago support
+%bcond_without gsf # build without libgsf support
+%bcond_without gui # don't build GNOME based GUI
+%bcond_without python # don't build python libraries
+%bcond_without epiphany # don't build epiphany extension
+%bcond_with sqlite3 # use sqlite3 instead of sqlite2
+#
+%if !%{with gui}
+%undefine with_evolution
+%endif
#
Summary: Beagle - An indexing subsystem
Summary(pl): Beagle - podsystem indeksuj±cy
Name: beagle
-Version: 0.2.0
-Release: 1
+Version: 0.2.14
+Release: 0.9
License: Various
Group: Libraries
Source0: http://ftp.gnome.org/pub/gnome/sources/beagle/0.2/%{name}-%{version}.tar.bz2
-# Source0-md5: faa236b812db1a8ee72c58d2cb810010
+# Source0-md5: c3eeccdafc030a7d283bf85b75f5c0bb
+Source1: %{name}-autostart.desktop
Patch0: %{name}-desktop.patch
Patch1: %{name}-crawl.patch
+Patch2: %{name}-kill_exec_a.patch
+Patch3: %{name}-configure.patch
URL: http://beaglewiki.org/Main_Page
BuildRequires: autoconf >= 2.52
BuildRequires: automake
-%{?with_evolution:BuildRequires: dotnet-evolution-sharp-devel >= 0.10.2}
-BuildRequires: dotnet-gmime-sharp-devel >= 2.1.19
-%{?with_gsf:BuildRequires: dotnet-gsf-sharp-devel >= 0.7}
+%{?with_evolution:BuildRequires: dotnet-evolution-sharp-devel >= 0.11.1}
+%{?with_galago:BuildRequires: dotnet-galago-sharp-devel >= 0.5.0}
+BuildRequires: dotnet-gmime-sharp-devel >= 2.2.3
+%{?with_gsf:BuildRequires: dotnet-gsf-sharp-devel >= 0.8.1}
#BuildRequires: dotnet-gst-sharp-devel
-BuildRequires: dotnet-gtk-sharp2-gnome-devel >= 2.3.90
-%{?with_epiphany:BuildRequires: epiphany-devel >= 1.8}
-BuildRequires: gnome-vfs2-devel
-BuildRequires: gtk+2-devel >= 2:2.6.0
-BuildRequires: gtk-doc
-BuildRequires: libexif-devel >= 0.5.0
-BuildRequires: libgnome-devel
+BuildRequires: dotnet-gtk-sharp2-devel >= 2.10.0
+%if %{with epiphany}
+BuildRequires: epiphany-devel >= 2.16.1
+%endif
+BuildRequires: gtk+2-devel >= 2:2.10.6
+%{?with_apidocs:BuildRequires: gtk-doc >= 1.7}
+BuildRequires: libexif-devel >= 0.6.13
+BuildRequires: librsvg-devel >= 1:2.16.0
BuildRequires: libpng-devel
BuildRequires: libtool
-BuildRequires: libxml2-devel >= 2.6.19
-BuildRequires: mono-csharp >= 1.1.10
-BuildRequires: mozilla-devel
+BuildRequires: libxml2-devel >= 1:2.6.26
+BuildRequires: mono-csharp >= 1.1.16.1
+# not used atm
+#BuildRequires: mozilla-devel
+%{?with_python:BuildRequires: python-pygtk-devel >= 2.10.3}
BuildRequires: pkgconfig
+BuildRequires: perl-XML-Parser
BuildRequires: python-devel
+%if %{with sqlite3}
+BuildRequires: sqlite3-devel >= 3.3.4
+%else
BuildRequires: sqlite-devel
-BuildRequires: wv-devel >= 1.0.0
+%endif
+BuildRequires: wv-devel >= 1.2.1
+BuildRequires: xorg-lib-libXScrnSaver-devel
BuildRequires: zip
+# GUI BRs
+%if %{with gui}
+BuildRequires: dotnet-gnome-sharp-devel >= 2.16.0
+BuildRequires: gnome-vfs2-devel >= 2.16.1
+%endif
Requires: %{name}-libs = %{version}-%{release}
-Requires: dotnet-gmime-sharp >= 2.1.19
-%{?with_epiphany:Requires: epiphany-extensions}
-Requires: gtk+2 >= 2:2.6.0
+Requires: dotnet-gmime-sharp >= 2.2.3
+%if %{with sqlite3}
+Requires: sqlite3
+%else
Requires: sqlite
-ExcludeArch: alpha i386 sparc sparc64
+%endif
+ExclusiveArch: %{ix86} %{x8664} arm hppa ia64 ppc s390 s390x sparc sparcv9 sparc64
+ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%description static -l pl
Statyczne biblioteki Beagle.
+%package apidocs
+Summary: libbeagle API documentation
+Summary(pl): Dokumentacja API libbeagle
+Group: Documentation
+Requires: gtk-doc-common
+
+%description apidocs
+libbeagle API documentation.
+
+%description apidocs -l pl
+Dokumentacja API libbeagle.
+
%package crawl-system
Summary: Beagle crawl system
Summary(pl): System przeszukuj±cy beagle-crawl
Group: Applications/System
Requires: crondaemon
-Provides: group(avahi)
-Provides: user(avahi)
+Provides: group(beagleindex)
+Provides: user(beagleindex)
%description crawl-system
Beagle crawl system.
Summary(pl): Backend Beagle dla Evolution
Group: X11/Applications/Networking
Requires: %{name} = %{version}-%{release}
-Requires: evolution
+Requires: dotnet-evolution-sharp >= 0.11.1
+Requires: evolution >= 2.8.0
%description
Beagle Evolution backend.
%description evolution -l pl
Backend Beagle dla Evolution.
+%package thunderbird
+Summary: Beagle Mozilla Thunderbird backend
+Summary(pl): Backend Beagle dla Mozilli Thunderbird
+Group: X11/Applications/Networking
+Requires: %{name} = %{version}-%{release}
+
+%description thunderbird
+Beagle Mozilla Thunderbird backend.
+
+%description thunderbird -l pl
+Backend Beagle dla Mozilli Thunderbird.
+
%package -n epiphany-extension-beagle
Summary: Epiphany extension - beagle
Summary(pl): Rozszerzenie dla Epiphany - beagle
Group: X11/Applications/Networking
Requires: %{name} = %{version}-%{release}
-Requires: epiphany >= 1.2.1
+Requires: epiphany-extensions >= 2.16.1
%description -n epiphany-extension-beagle
Epiphany extension that allows Beagle to index every page the user
%description -n python-%{name} -l pl
Wi±zania jêzyka Python dla Beagle.
+%package search-gui
+Summary: GNOME based Beagle GUI
+Summary(pl): Oparty na GNOME graficzny interfejs dla Beagle
+Group: Libraries/Python
+Requires: %{name} = %{version}-%{release}
+Requires: gtk+2 >= 2:2.10.6
+
+%description search-gui
+GNOME based Beagle GUI.
+
+%description search-gui -l pl
+Oparty na GNOME graficzny interfejs dla Beagle.
+
+%package startup
+Summary: Automatic startup integration for Beagle
+Summary(pl): Integracja funkcji automatycznego startu Beagle
+Group: X11/Applications
+Requires: %{name} = %{version}-%{release}
+Obsoletes: beagle-gnome
+
+%description startup
+Automatic session startup integration for Beagle.
+
+%description startup -l pl
+Integracja funkcji automatycznego startu Beagle.
+
%prep
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%build
%{__libtoolize}
%{__automake}
%configure \
--enable-static \
- --enable-gtk-doc \
+ %{?with_apidocs:--enable-gtk-doc} \
--with-html-dir=%{_gtkdocdir} \
--%{!?with_epiphany:dis}%{?with_epiphany:en}able-epiphany-extension \
- --%{!?with_evolution:dis}%{?with_evolution:en}able-evolution-sharp
+ --%{!?with_evolution:dis}%{?with_evolution:en}able-evolution-sharp \
+ --%{!?with_gui:dis}%{?with_gui:en}able-gui \
%{__make} \
MOZILLA_HOME=%{_libdir}/mozilla \
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_var}/cache/beagle/index
+install -d $RPM_BUILD_ROOT%{_var}/cache/beagle/indexes
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
pythondir=%{py_sitedir}
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart
+
# Kill useless files
-rm -f $RPM_BUILD_ROOT%{_libdir}/epiphany/1.8/extensions/*.la \
+rm -f $RPM_BUILD_ROOT%{_libdir}/epiphany/2.16/extensions/*.{la,a} \
$RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
rm -f $RPM_BUILD_ROOT%{py_sitedir}/*.{a,la}
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS COPYING ChangeLog NEWS README
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_libdir}/%{name}/lib*.so*
-%dir %{_libdir}/%{name}/Backends
-%{_libdir}/%{name}/Filters
+%attr(755,root,root) %{_bindir}/beagle-config
+%attr(755,root,root) %{_bindir}/beagled
+%attr(755,root,root) %{_bindir}/beagle-exercise-file-system
+%attr(755,root,root) %{_bindir}/beagle-extract-content
+%attr(755,root,root) %{_bindir}/beagle-index-info
+%attr(755,root,root) %{_bindir}/beagle-index-url
+%attr(755,root,root) %{_bindir}/beagle-info
+%attr(755,root,root) %{_bindir}/beagle-ping
+%attr(755,root,root) %{_bindir}/beagle-query
+%attr(755,root,root) %{_bindir}/beagle-shutdown
+%attr(755,root,root) %{_bindir}/beagle-status
+%attr(755,root,root) %{_libdir}/%{name}/libbeagleglue.so*
%attr(755,root,root) %{_libdir}/%{name}/*.exe
-%{_libdir}/%{name}/*.dll*
-
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/Backends
+%dir %{_libdir}/%{name}/Filters
+%{_libdir}/%{name}/*.dll
+%{_libdir}/%{name}/*.dll.config
+%{_libdir}/%{name}/Filters/*.dll
%attr(755,root,root) %{_libdir}/%{name}/beagled-index-helper
-
-%{_pixmapsdir}/*.png
-%{_desktopdir}/*.desktop
%{_mandir}/man*/*
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/lib*.so.*.*.*
-%dir %{_libdir}/%{name}
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/*.so
%{_includedir}/libbeagle
%{_libdir}/*.la
-%{_gtkdocdir}/beagle
%{_pkgconfigdir}/*
%files static
%defattr(644,root,root,755)
%{_libdir}/*.a
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%{_gtkdocdir}/beagle
+%endif
+
%files crawl-system
%defattr(644,root,root,755)
-%attr(640,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/*.crontab
+%attr(750,root,crontab) %config(noreplace) %verify(not md5 mtime size) /etc/cron.daily/*
+%dir %{_sysconfdir}/beagle
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/beagle/*
%dir %attr(755,beagleindex,beagleindex) %{_var}/cache/beagle
-%dir %attr(755,beagleindex,beagleindex) %{_var}/cache/beagle/index
+%dir %attr(755,beagleindex,beagleindex) %{_var}/cache/beagle/indexes
%attr(755,root,root) %{_sbindir}/*
-%{_libdir}/beagle-crawl-system
+%if %{with evolution}
%files evolution
%defattr(644,root,root,755)
-%{_libdir}/%{name}/Backends/Evolution*
+%{_libdir}/%{name}/Backends/Evolution*.dll
+%endif
+
+%files thunderbird
+%defattr(644,root,root,755)
+%{_libdir}/%{name}/Backends/Thunderbird*.dll
%if %{with epiphany}
%files -n epiphany-extension-beagle
%defattr(644,root,root,755)
%doc epiphany-extension/README
-%attr(755,root,root) %{_libdir}/epiphany/1.8/extensions/libbeagleextension.so*
-%{_libdir}/epiphany/1.8/extensions/*.xml
+%attr(755,root,root) %{_libdir}/epiphany/2.16/extensions/libbeagleextension.so*
+%{_libdir}/epiphany/2.16/extensions/*.xml
%endif
+%if %{with python}
%files -n python-%{name}
%defattr(644,root,root,755)
%attr(755,root,root) %{py_sitedir}/*.so
+%endif
+
+%if %{with gui}
+%files search-gui
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/beagle-contactviewer
+%attr(755,root,root) %{_bindir}/beagle-imlogviewer
+%attr(755,root,root) %{_bindir}/beagle-search
+%attr(755,root,root) %{_bindir}/beagle-settings
+%attr(755,root,root) %{_libdir}/%{name}/libbeagleuiglue.so*
+%{_pixmapsdir}/*.png
+%{_desktopdir}/*.desktop
+%endif
+
+%files startup
+%defattr(644,root,root,755)
+%{_sysconfdir}/xdg/autostart/beagle-autostart.desktop
+%{_sysconfdir}/xdg/autostart/beagle-search-autostart.desktop