# # 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 https://bugs.opensuse.org/ # %define TrackerAPI 2.0 %define RPMTrackerAPI 2_0 # FIXME: At every release switch on meson use and try to fix it, if the build succeeds remove this conditional. %bcond_with meson Name: tracker Version: 2.1.6 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.1/%{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-sqlte-3.25-rename-tables.patch glgo#GNOME/tracker#40 boo#1110090 dimstar@opensuse.org -- drop FTS table/view before ontology update Patch1: tracker-sqlte-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.8.3 BuildRequires: translation-update-upstream 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 %if %{with meson} BuildRequires: meson BuildRequires: pkgconfig(dbus-1) %endif %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 Group: System/Libraries Requires: %{name} # Obsolete old tracker libs, bnc#876649 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} %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} %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} %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 %if %{with meson} %meson %meson_build %else #Needed for patch0 autoreconf -fiv %configure \ --disable-static \ --disable-functional-tests \ %{nil} %make_build %endif %install %if %{with meson} %meson_install %else %make_install find %{buildroot} -type f -name "*.la" -delete -print %endif %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/ %fdupes %{buildroot}%{_datadir}/gtk-doc %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