File tracker.spec of Package tracker

#
# spec file for package tracker
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Luis Medinas, Portugal
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define build_extras 0

%if !%{build_extras}
%define build_evo 0
%define build_firefox 0
%define build_gui 0
%define build_miner_rss 0
%define build_nautilus 0
%define build_thunderbird 0
%else
%define build_evo 0
%define build_firefox 0
%define build_gui 1
%define build_miner_rss 1
%define build_nautilus 1
%define build_thunderbird 0
%endif

%define firefox_appid      \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
%define thunderbird_appid  \{3550f703-e582-4d05-9a08-453d09bdfdc6\}

Name:           tracker
%define _name   tracker
Version:        1.8.0
Release:        0
%define TrackerAPI    1.0
%define RPMTrackerAPI 1_0
Summary:        Powerful object database, tag/metadata database, search tool and indexer
License:        GPL-2.0+
Group:          Productivity/Other
Url:            http://projects.gnome.org/tracker/
Source0:        http://download.gnome.org/sources/tracker/1.8/%{_name}-%{version}.tar.xz
# Needed for patch0: we need to bootstrap
Source2:        README.SUSE.rss
# PATCH-FIX-UPSTREAM tracker-extract-private.patch bgo#725689 dimstar@opensuse.org -- Do not maintain LT versioning for private libs
Patch0:         tracker-extract-private.patch
# PATCH-FIX-UPSTREAM tracker-fix-memory-leak.patch bgo#765172 zaitor@opensuse.org -- Fix a memory leak, patch from upstream git.
Patch1:         tracker-fix-memory-leak.patch
BuildRequires:  NetworkManager-devel >= 0.8
BuildRequires:  enca-devel
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  glib2-devel >= 2.35.1
# Needed for patch0
BuildRequires:  gnome-common
BuildRequires:  gobject-introspection-devel
BuildRequires:  intltool
BuildRequires:  libgnome-keyring-devel
# Not guarded by !%%{build_extras}, else we build files to have external generic
# media players
BuildRequires:  gstreamer-plugins-base-devel >= 0.10.31
BuildRequires:  libicu-devel
BuildRequires:  libupower-glib-devel
BuildRequires:  libuuid-devel
BuildRequires:  sqlite3-devel >= 3.7.9
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  vala >= 0.12.0
BuildRequires:  zlib-devel
BuildRequires:  pkgconfig(gee-0.8)
BuildRequires:  pkgconfig(libmediaart-2.0) >= 0.1.0
%if !%{build_extras}
# Dependencies for extractors / writeback
BuildRequires:  flac-devel
BuildRequires:  giflib-devel
BuildRequires:  libcue-devel
BuildRequires:  libexif-devel
BuildRequires:  libgsf-devel
BuildRequires:  libosinfo-devel >= 0.0.2
%if 0%{?suse_version} >= 1140
BuildRequires:  libgupnp-dlna-devel >= 0.9.4
%endif
BuildRequires:  libexempi-devel
BuildRequires:  libgxps-devel
BuildRequires:  libiptcdata-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libpng-devel
BuildRequires:  libpoppler-glib-devel
BuildRequires:  libtiff-devel
BuildRequires:  libvorbis-devel
BuildRequires:  libxml2-devel
BuildRequires:  taglib-devel
BuildRequires:  totem-pl-parser-devel
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
%else
# For directory ownership and removing files in %%install
BuildRequires:  tracker = %{version}
BuildRequires:  tracker-devel
BuildRequires:  tracker-miner-files
%endif # !build_extras
%if %{build_evo}
BuildRequires:  evolution-data-server-devel
BuildRequires:  evolution-devel
%endif
%if %{build_firefox}
# It's a bit annoying to require this for the build, see bgo#655618.
BuildRequires:  MozillaFirefox
%endif
%if %{build_gui}
BuildRequires:  gtk3-devel
%endif
%if %{build_miner_rss}
BuildRequires:  libgrss-devel >= 0.7
%endif
%if %{build_nautilus}
BuildRequires:  pkgconfig(libnautilus-extension)
%endif
%if %{build_thunderbird}
# It's a bit annoying to require this for the build, see bgo#655618.
BuildRequires:  MozillaThunderbird
%endif
Recommends:     %{_name}-lang
# We want to index files by default, if possible
Recommends:     %{_name}-miner-files
# gnome-panel-applet-tracker (aka tracker-search-bar) was removed with tracker 0.16.0
Obsoletes:      gnome-panel-applet-tracker < 0.16.0
# flickr miner was removed with tracker 0.16.0
Obsoletes:      tracker-miner-flickr < 0.16.0
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

%if !%{build_extras}

%package -n %{_name}-miner-files
Summary:        Tracker miner to index files and applications
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
%glib2_gsettings_schema_requires

%description -n %{_name}-miner-files
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains a miner to index files and applications.

# This package name is not correct as per SLPP, but the 'lib' lives in a
# private folder: the symbol provided is libtracker-common.so() (same
# name across multiple versions of tracker).
# Yet, different libtracker-miner-* packages require their explicit
# version of libtracker-common.so as they link is done using rpath.
%package -n libtracker-common-%{RPMTrackerAPI}
Summary:        Conveniance libraries for Tracker
Group:          System/Libraries
# Obsolete old tracker libs, bnc#876649
Obsoletes:      libtracker-extract-0_16-0

%description -n libtracker-common-%{RPMTrackerAPI}
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains private conveniance libraries for the
various tracker libraries.

%package -n libtracker-control-%{RPMTrackerAPI}-0
Summary:        Control library for Tracker
Group:          System/Libraries
# rpm autodetects libtracker-common.so() symbol, which is provided by all versions of libtracker-common, so we need to help with an explicit Requires.
Requires:       libtracker-common-%{RPMTrackerAPI}
Recommends:     %{_name}
%glib2_gsettings_schema_requires

%description -n libtracker-control-%{RPMTrackerAPI}-0
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

%package -n libtracker-miner-%{RPMTrackerAPI}-0
Summary:        Miner library for Tracker
Group:          System/Libraries
# rpm autodetects libtracker-common.so() symbol, which is provided by all versions of libtracker-common, so we need to help with an explicit Requires.
Requires:       libtracker-common-%{RPMTrackerAPI}
Recommends:     %{_name}

%description -n libtracker-miner-%{RPMTrackerAPI}-0
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

%package -n typelib-1_0-Tracker-%{RPMTrackerAPI}
Summary:        Sparql library for Tracker -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-Tracker-%{RPMTrackerAPI}
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

This package provides the GObject Introspection bindings for the
sparql library for Tracker.

%package -n typelib-1_0-TrackerControl-%{RPMTrackerAPI}
Summary:        Control library for Tracker -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-TrackerControl-%{RPMTrackerAPI}
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

This package provides the GObject Introspection bindings for the
extract library for Tracker.

%package -n typelib-1_0-TrackerMiner-%{RPMTrackerAPI}
Summary:        Miner library for Tracker -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-TrackerMiner-%{RPMTrackerAPI}
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

This package provides the GObject Introspection bindings for the
miner library for Tracker.

%package -n libtracker-sparql-%{RPMTrackerAPI}-0
Summary:        Sparql library for Tracker
Group:          System/Libraries
# rpm autodetects libtracker-common.so() symbol, which is provided by all versions of libtracker-common, so we need to help with an explicit Requires.
Requires:       libtracker-common-%{RPMTrackerAPI}
Recommends:     %{_name}

%description -n libtracker-sparql-%{RPMTrackerAPI}-0
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

%package -n tracker-devel
Summary:        Tracker -- Development files
Group:          Development/Libraries/GNOME
Requires:       libtracker-control-%{RPMTrackerAPI}-0 = %{version}
Requires:       libtracker-miner-%{RPMTrackerAPI}-0 = %{version}
Requires:       libtracker-sparql-%{RPMTrackerAPI}-0 = %{version}
Requires:       typelib-1_0-Tracker-%{RPMTrackerAPI} = %{version}
Requires:       typelib-1_0-TrackerControl-%{RPMTrackerAPI} = %{version}
Requires:       typelib-1_0-TrackerMiner-%{RPMTrackerAPI} = %{version}

%description -n tracker-devel
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.
%endif # !build_extras

%if %{build_evo}

%package -n %{_name}-miner-evolution
Summary:        Tracker miner to index Evolution mails
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
Requires:       evolution
Supplements:    packageand(%{_name}:evolution}
# Name changed during development of 11.4
Provides:       evolution-tracker = %{version}
Obsoletes:      evolution-tracker < %{version}
# A generic provides, since this is also an evolution plugin
Provides:       evolution-plugin-tracker = %{version}

%description -n %{_name}-miner-evolution
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains an Evolution plugin that will index Evolution
mails.
%endif # build_evo

%if %{build_firefox}

%package -n %{_name}-miner-firefox
Summary:        Tracker miner to index Firefox bookmarks
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
Requires:       MozillaFirefox
Supplements:    packageand(%{_name}:MozillaFirefox}
# A generic provides, since this is also a firefox extension
Provides:       MozillaFirefox-extension-tracker = %{version}

%description -n %{_name}-miner-firefox
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains a Firefox extension that will index
Firefox bookmarks.
%endif # build_firefox

%if %{build_miner_rss}

%package -n %{_name}-miner-rss
Summary:        Tracker miner to index ATOM and RSS feeds
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}

%description -n %{_name}-miner-rss
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains a miner to index ATOM and RSS feeds.
%endif # build_miner_rss

%if %{build_thunderbird}

%package -n %{_name}-miner-thunderbird
Summary:        Tracker miner to index Thunderbird mails
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
Requires:       MozillaThunderbird
# bnc#840403 - Addon regularly breaks TB - do not install by deps
#Supplements:    packageand(%{_name}:MozillaThunderbird}
# A generic provides, since this is also a thunderbird extension
Provides:       MozillaThunderbird-extension-tracker = %{version}

%description -n %{_name}-miner-thunderbird
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains a Thunderbird extension that will index
Thunderbird mails.
%endif # build_thunderbird

%if %{build_gui}

%package -n %{_name}-gui
Summary:        Graphical User Interface for Tracker
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
Recommends:     %{_name}-lang

%description -n %{_name}-gui
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

It consists of a common object database that allows entities to
have an almost infinite number of properties, metadata (both
embedded/harvested as well as user definable), a comprehensive
database of keywords/tags and links to other entities.

It provides additional features for file-based objects
including context linking and audit trails for a file object.

It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.
%endif # build_gui

%if %{build_nautilus}

%package -n nautilus-extension-tracker-tags
Summary:        Tracker Plugin for Nautilus
Group:          System/GUI/GNOME
Requires:       %{_name} = %{version}
Requires:       nautilus
Recommends:     %{_name}-lang
Supplements:    packageand(%{_name}:nautilus}
# Name changed during development of 11.4
Provides:       nautilus-tracker = %{version}
Obsoletes:      nautilus-tracker < %{version}

%description -n nautilus-extension-tracker-tags
Tracker is a powerful desktop-neutral first class object
database, tag/metadata database, search tool and indexer.

This package contains an nautilus plugin to tag files with Tracker.
%endif # build_nautilus

%if !%{build_extras}
%lang_package
%endif

%prep
%setup -q -n %{_name}-%{version}
%patch0 -p1
%patch1 -p1
translation-update-upstream
cp %{S:2} src/miners/rss/README.SUSE

%build
#Needed for patch0 and patch2
NOCONFIGURE=1 gnome-autogen.sh
%configure \
        --disable-static \
%if !%{build_extras}
        --enable-libvorbis \
        --enable-libflac \
%endif
%if %{build_evo}
        --enable-miner-evolution \
%else
        --disable-miner-evolution \
%endif
%if %{build_firefox}
        --enable-miner-firefox \
        --with-firefox-plugin-dir="%{_datadir}/mozilla/extensions/%{firefox_appid}" \
%else
        --disable-miner-firefox \
%endif
%if %{build_gui}
        --enable-tracker-needle \
        --enable-tracker-preferences \
%else
        --disable-tracker-needle \
        --disable-tracker-preferences \
%endif
%if %{build_nautilus}
        --enable-nautilus-extension \
%else
        --disable-nautilus-extension \
%endif
%if %{build_miner_rss}
        --enable-miner-rss \
%else
        --disable-miner-rss \
%endif
%if %{build_thunderbird}
        --enable-miner-thunderbird \
        --with-thunderbird-plugin-dir="%{_datadir}/mozilla/extensions/%{thunderbird_appid}" \
%else
        --disable-miner-thunderbird \
%endif
        --disable-functional-tests
make %{?_smp_mflags}

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
rm -r %{buildroot}%{_datadir}/tracker-tests

%if !%{build_extras}

## Normal build
%suse_update_desktop_file tracker-miner-fs
%suse_update_desktop_file tracker-store
%find_lang %{_name} %{?no_lang_C}

# Ensure we have a /usr/share/tracker/icons/ folder, so the
# tracker-extras build can put icons in there without having to worry
mkdir -p %{buildroot}%{_datadir}/tracker/icons/

%fdupes %{buildroot}%{_datadir}/vala/

%else

## Extras build: remove files from main, miner-files, devel, lang and lib subpackages
for file in `rpm -ql tracker tracker-devel tracker-miner-files libtracker-control-%{RPMTrackerAPI}-0 libtracker-miner-%{RPMTrackerAPI}-0 libtracker-sparql-%{RPMTrackerAPI}-0 typelib-1_0-Tracker-%{RPMTrackerAPI} typelib-1_0-TrackerControl-%{RPMTrackerAPI} typelib-1_0-TrackerMiner-%{RPMTrackerAPI} libtracker-common-%{RPMTrackerAPI}`; do
  # do not remove directories (might contain files we want); -f to not fail if
  # file doesn't exist
  test ! -d %{buildroot}${file} && rm -f %{buildroot}${file}
  test ${file#%{_mandir}} != ${file} && rm -f %{buildroot}${file%%%{?ext_man}}
done
rm %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/tracker.mo

%endif

%if %{build_miner_rss}
%suse_update_desktop_file tracker-miner-rss
%endif
%if %{build_evo}
%suse_update_desktop_file %{buildroot}%{_datadir}/tracker/miners/tracker-miner-evolution.desktop
%endif
%if %{build_gui}
%suse_update_desktop_file -r tracker-preferences Settings DesktopSettings X-SuSE-Core-System X-GNOME-PersonalSettings
%suse_update_desktop_file tracker-needle DesktopUtility
%endif
%if %{build_thunderbird}
%suse_update_desktop_file trackerbird-launcher
%endif

%clean
rm -rf %{buildroot}

%if !%{build_extras}

%post
%glib2_gsettings_schema_post

%postun
%glib2_gsettings_schema_postun

%post -n libtracker-common-%{RPMTrackerAPI}
%glib2_gsettings_schema_post

%postun -n libtracker-common-%{RPMTrackerAPI}
%glib2_gsettings_schema_postun

%post -n %{_name}-miner-files
%glib2_gsettings_schema_post

%postun -n %{_name}-miner-files
%glib2_gsettings_schema_postun

%post -n libtracker-control-%{RPMTrackerAPI}-0 -p /sbin/ldconfig

%postun -n libtracker-control-%{RPMTrackerAPI}-0 -p /sbin/ldconfig

%post -n libtracker-miner-%{RPMTrackerAPI}-0 -p /sbin/ldconfig

%postun -n libtracker-miner-%{RPMTrackerAPI}-0 -p /sbin/ldconfig

%post -n libtracker-sparql-%{RPMTrackerAPI}-0 -p /sbin/ldconfig

%postun -n libtracker-sparql-%{RPMTrackerAPI}-0 -p /sbin/ldconfig
%endif # !build_extras

%if %{build_gui}
%if 0%{?suse_version} > 1130

%post -n %{_name}-gui
%glib2_gsettings_schema_post
%desktop_database_post
%icon_theme_cache_post

%postun -n %{_name}-gui
%glib2_gsettings_schema_postun
%desktop_database_postun
%icon_theme_cache_postun
%endif
%endif

%if %{build_thunderbird}
%if 0%{?suse_version} > 1130

%post -n %{_name}-miner-thunderbird
%desktop_database_post

%postun -n %{_name}-miner-thunderbird
%desktop_database_postun
%endif
%endif

%if !%{build_extras}

%files
%defattr(-,root,root)
%doc AUTHORS ChangeLog COPYING README NEWS
%{_sysconfdir}/xdg/autostart/tracker-extract.desktop
%{_sysconfdir}/xdg/autostart/tracker-store.desktop
%{_bindir}/tracker
%{_libexecdir}/tracker-extract
%{_libexecdir}/tracker-store
%{_libexecdir}/tracker-writeback
%dir %{_libdir}/tracker-%{TrackerAPI}/
%{_libdir}/tracker-%{TrackerAPI}/extract-modules/
%{_libdir}/tracker-%{TrackerAPI}/writeback-modules/
%{_datadir}/bash-completion/completions/tracker
%{_datadir}/tracker/
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.Extract.service
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Writeback.service
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.service
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.DB.gschema.xml
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.FTS.gschema.xml
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.Store.gschema.xml
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.Writeback.gschema.xml
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.gschema.xml
%{_datadir}/bash-completion/completions/tracker
%{_mandir}/man1/tracker-daemon.1%{ext_man}
%{_mandir}/man1/tracker-extract.1%{ext_man}
%{_mandir}/man1/tracker-index.1%{ext_man}
%{_mandir}/man1/tracker-info.1%{ext_man}
%{_mandir}/man1/tracker-reset.1%{ext_man}
%{_mandir}/man1/tracker-search.1%{ext_man}
%{_mandir}/man1/tracker-sparql.1%{ext_man}
%{_mandir}/man1/tracker-sql.1%{ext_man}
%{_mandir}/man1/tracker-status.1%{ext_man}
%{_mandir}/man1/tracker-store.1%{ext_man}
%{_mandir}/man1/tracker-tag.1%{ext_man}
%{_mandir}/man1/tracker-writeback.1%{ext_man}
%{_mandir}/man5/tracker-db.cfg.5%{ext_man}
%{_mandir}/man5/tracker-extract.cfg.5%{ext_man}
%{_mandir}/man5/tracker-fts.cfg.5%{ext_man}
%{_mandir}/man5/tracker-miner-fs.cfg.5%{ext_man}
%{_mandir}/man5/tracker-store.cfg.5%{ext_man}
%{_mandir}/man5/tracker-writeback.cfg.5%{ext_man}
# Exclude files which live in other packages
%if %{build_evo}
%exclude %{_datadir}/tracker/miners/tracker-miner-evolution.desktop
%endif
%if %{build_miner_rss}
%exclude %{_datadir}/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service
%endif
%if %{build_gui}
%exclude %{_datadir}/tracker/tracker-needle.ui
%exclude %{_datadir}/tracker/tracker-preferences.ui
%endif

%files -n %{_name}-miner-files
%defattr(-,root,root)
%{_sysconfdir}/xdg/autostart/tracker-miner-apps.desktop
%{_sysconfdir}/xdg/autostart/tracker-miner-fs.desktop
%{_sysconfdir}/xdg/autostart/tracker-miner-user-guides.desktop
%{_libexecdir}/tracker-miner-apps
%{_libexecdir}/tracker-miner-fs
%{_libexecdir}/tracker-miner-user-guides
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.Applications.service
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.Files.service
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.Userguides.service
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.Miner.Files.gschema.xml
%{_mandir}/man1/tracker-miner-fs.1%{ext_man}

%files -n libtracker-common-%{RPMTrackerAPI}
%defattr(-,root,root)
%{_libdir}/tracker-%{TrackerAPI}/libtracker-common.so
%{_libdir}/tracker-%{TrackerAPI}/libtracker-data.so
%{_libdir}/tracker-%{TrackerAPI}/libtracker-extract*.so
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.Extract.gschema.xml
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.enums.xml

%files -n libtracker-control-%{RPMTrackerAPI}-0
%defattr(-,root,root)
%{_libdir}/libtracker-control*.so.*

%files -n libtracker-miner-%{RPMTrackerAPI}-0
%defattr(-,root,root)
%{_libdir}/libtracker-miner*.so.*

%files -n libtracker-sparql-%{RPMTrackerAPI}-0
%defattr(-, root, root)
%{_libdir}/libtracker-sparql*.so.*

%files -n typelib-1_0-Tracker-%{RPMTrackerAPI}
%defattr(-,root,root)
%{_libdir}/girepository-1.0/Tracker-%{TrackerAPI}.typelib

%files -n typelib-1_0-TrackerControl-%{RPMTrackerAPI}
%defattr(-,root,root)
%{_libdir}/girepository-1.0/TrackerControl-%{TrackerAPI}.typelib

%files -n typelib-1_0-TrackerMiner-%{RPMTrackerAPI}
%defattr(-,root,root)
%{_libdir}/girepository-1.0/TrackerMiner-%{TrackerAPI}.typelib

%files -n tracker-devel
%defattr(-,root,root)
%{_libdir}/lib*.so
%{_includedir}/tracker-%{TrackerAPI}/
%{_libdir}/pkgconfig/tracker-control-1.0.pc
%{_libdir}/pkgconfig/tracker-miner-1.0.pc
%{_libdir}/pkgconfig/tracker-sparql-1.0.pc
%{_datadir}/gir-1.0/*.gir
%{_datadir}/gtk-doc/html/libtracker-miner/
%{_datadir}/gtk-doc/html/libtracker-control/
%{_datadir}/gtk-doc/html/libtracker-sparql/
%dir %{_datadir}/vala
%dir %{_datadir}/vala/vapi
%{_datadir}/vala/vapi/*.deps
%{_datadir}/vala/vapi/*.vapi
%endif # !build_extras

%if %{build_evo}

%files -n %{_name}-miner-evolution
%defattr(-,root,root)
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.EMails.service
%{_datadir}/tracker/miners/tracker-miner-evolution.desktop
%{_libdir}/evolution/*/plugins/liborg-freedesktop-Tracker-evolution-plugin.so
%{_libdir}/evolution/*/plugins/org-freedesktop-Tracker-evolution-plugin.eplug
%endif

%if %{build_firefox}

%files -n %{_name}-miner-firefox
%defattr(-,root,root)
%{_datadir}/mozilla/extensions/%{firefox_appid}/trackerfox@bustany.org
%dir %{_datadir}/xul-ext
%{_datadir}/xul-ext/trackerfox/
%endif

%if %{build_miner_rss}

%files -n %{_name}-miner-rss
%defattr(-,root,root)
%doc src/miners/rss/README.SUSE examples/rss-reader/initial-data.ttl
%{_sysconfdir}/xdg/autostart/tracker-miner-rss.desktop
%{_libexecdir}/tracker-miner-rss
%{_datadir}/dbus-1/services/org.freedesktop.Tracker1.Miner.RSS.service
%{_datadir}/tracker/miners/org.freedesktop.Tracker1.Miner.RSS.service
%{_mandir}/man1/tracker-miner-rss.1%{ext_man}
%endif

%if %{build_thunderbird}

%files -n %{_name}-miner-thunderbird
%defattr(-,root,root)
%dir %{_datadir}/mozilla
%dir %{_datadir}/mozilla/extensions
%dir %{_datadir}/mozilla/extensions/%{thunderbird_appid}
%{_datadir}/mozilla/extensions/%{thunderbird_appid}/trackerbird@bustany.org
%dir %{_datadir}/xul-ext
%{_datadir}/xul-ext/trackerbird/
%{_datadir}/applications/trackerbird-launcher.desktop
%endif

%if %{build_gui}

%files -n %{_name}-gui
%defattr(-,root,root)
# preferences
%{_bindir}/tracker-preferences
%dir %{_datadir}/appdata
%{_datadir}/appdata/tracker-needle.appdata.xml
%{_datadir}/appdata/tracker-preferences.appdata.xml
%{_datadir}/applications/tracker-preferences.desktop
%{_datadir}/icons/hicolor/*/apps/tracker.*
%{_datadir}/tracker/tracker-preferences.ui
%{_mandir}/man1/tracker-preferences.1*
# Tracker Needle (former search tool)
%{_bindir}/tracker-needle
%{_datadir}/applications/tracker-needle.desktop
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.Needle.gschema.xml
%{_datadir}/tracker/tracker-needle.ui
%{_mandir}/man1/tracker-needle.1*
%endif

%if %{build_nautilus}

%files -n nautilus-extension-tracker-tags
%defattr(-,root,root)
%{_libdir}/nautilus/extensions-3.0/libnautilus-tracker-tags*
%endif

%if !%{build_extras}

%files lang -f %{_name}.lang
%endif

%changelog
openSUSE Build Service is sponsored by