File tracker.spec of Package tracker.10850

#
# spec file for package tracker
#
# Copyright (c) 2018 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 TrackerAPI    2.0
%define RPMTrackerAPI 2_0
Name:           tracker
Version:        2.0.3
Release:        0
Summary:        Object database, tag/metadata database, search tool and indexer
License:        GPL-2.0-or-later
Group:          Productivity/Other
URL:            https://wiki.gnome.org/Projects/Tracker
Source0:        http://download.gnome.org/sources/tracker/2.0/%{name}-%{version}.tar.xz
# 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-sqlite-3.25-rename-tables.patch glgo#GNOME/tracker#40 boo#1131229 mgorse@suse.com -- drop FTS table/view before ontology update
Patch1:         tracker-sqlite-3.25-rename-tables.patch
BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  glib2-devel >= 2.44.0
BuildRequires:  gobject-introspection-devel
BuildRequires:  intltool
BuildRequires:  libicu-devel >= 4.8.1.1
# Needed for patch0
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  python3
BuildRequires:  sqlite3-devel >= 3.7.15
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  vala >= 0.18.0
BuildRequires:  zlib-devel
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(json-glib-1.0) >= 1.0
BuildRequires:  pkgconfig(libnm)
BuildRequires:  pkgconfig(libseccomp) >= 2.0
BuildRequires:  pkgconfig(libsoup-2.4) >= 2.40
BuildRequires:  pkgconfig(libxml-2.0) >= 2.6
BuildRequires:  pkgconfig(upower-glib) >= 0.9.0
BuildRequires:  pkgconfig(uuid)
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
# Removed with tracker 2.0
Obsoletes:      tracker-gui < 1.99.0
Obsoletes:      tracker-miner-evolution < 1.99.0
Obsoletes:      tracker-miner-firefox < 1.99.0
Obsoletes:      tracker-miner-thunderbird < 1.99.0
%glib2_gsettings_schema_requires
%if 0%{?suse_version} >= 1140
BuildRequires:  libgupnp-dlna-devel >= 0.9.4
%endif

%description
Tracker is a desktop-neutral 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 context linking and audit trails for file objects.
It has the ability to index, store, harvest metadata, retrieve
and search all types of files and other first class objects.

# This package name is not correct as per SLPP, but the 'lib' lives in a
# private directory: 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:        Convenience libraries for Tracker
# Obsolete old tracker libs, bnc#876649
Group:          System/Libraries
Obsoletes:      libtracker-extract-0_16-0
# Obsolete tracker 1.0 - this is not a 'real' slpp package, thus can be obsoleted
Obsoletes:      libtracker-common-1_0

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

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

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

%description -n libtracker-control-%{RPMTrackerAPI}-0
Tracker is a desktop-neutral 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 context linking and audit trails for file objects.
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
# rpm autodetects libtracker-common.so() symbol, which is provided by all versions of libtracker-common, so we need to help with an explicit Requires.
Group:          System/Libraries
Requires:       libtracker-common-%{RPMTrackerAPI}
Suggests:       %{name}

%description -n libtracker-miner-%{RPMTrackerAPI}-0
Tracker is a desktop-neutral 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 context linking and audit trails for file objects.
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:        Introspection bindings for the Tracker Sparql library
Group:          System/Libraries

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

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

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

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

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

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

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

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

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

%description -n libtracker-sparql-%{RPMTrackerAPI}-0
Tracker is a desktop-neutral 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 context linking and audit trails for file objects.
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:        Development files for the Tracker indexer
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 desktop-neutral object database, tag/metadata database,
search tool and indexer.

This subpackage contains the headers to make use of its libraries.

%lang_package

%prep
%autosetup -p1
translation-update-upstream

%build
#Needed for patch0
autoreconf -fiv
%configure \
	--disable-static \
	--disable-functional-tests \
	%{nil}
%make_build

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print

## Normal build
%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/

%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

%files
%license COPYING
%{_sysconfdir}/xdg/autostart/tracker-store.desktop
%{_bindir}/tracker
%{_libexecdir}/tracker-store
%{_userunitdir}/tracker-store.service
%dir %{_libdir}/tracker-%{TrackerAPI}/
%{_datadir}/bash-completion/completions/tracker
%{_datadir}/tracker/
%{_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.gschema.xml
%{_mandir}/man1/tracker-daemon.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}

%files -n libtracker-common-%{RPMTrackerAPI}
%{_libdir}/tracker-%{TrackerAPI}/libtracker-common.so
%{_libdir}/tracker-%{TrackerAPI}/libtracker-data.so
%{_datadir}/glib-2.0/schemas/org.freedesktop.Tracker.enums.xml

%files -n libtracker-control-%{RPMTrackerAPI}-0
%{_libdir}/libtracker-control*.so.*

%files -n libtracker-miner-%{RPMTrackerAPI}-0
%{_libdir}/libtracker-miner*.so.*

%files -n libtracker-sparql-%{RPMTrackerAPI}-0
%{_libdir}/libtracker-sparql*.so.*

%files -n typelib-1_0-Tracker-%{RPMTrackerAPI}
%{_libdir}/girepository-1.0/Tracker-%{TrackerAPI}.typelib

%files -n typelib-1_0-TrackerControl-%{RPMTrackerAPI}
%{_libdir}/girepository-1.0/TrackerControl-%{TrackerAPI}.typelib

%files -n typelib-1_0-TrackerMiner-%{RPMTrackerAPI}
%{_libdir}/girepository-1.0/TrackerMiner-%{TrackerAPI}.typelib

%files -n tracker-devel
%doc AUTHORS ChangeLog README NEWS
%{_libdir}/lib*.so
%{_includedir}/tracker-%{TrackerAPI}/
%{_libdir}/pkgconfig/tracker-control-%{TrackerAPI}.pc
%{_libdir}/pkgconfig/tracker-miner-%{TrackerAPI}.pc
%{_libdir}/pkgconfig/tracker-sparql-%{TrackerAPI}.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

%files lang -f %{name}.lang

%changelog
openSUSE Build Service is sponsored by