# # spec file for package tracker # # Copyright (c) 2017 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: 1.99.3 Release: 0 Summary: Object database, tag/metadata database, search tool and indexer License: GPL-2.0+ Group: Productivity/Other Url: http://projects.gnome.org/tracker/ Source0: https://download.gnome.org/sources/tracker/1.99/%{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 BuildRequires: fdupes BuildRequires: gcc-c++ BuildRequires: glib2-devel >= 2.44.0 BuildRequires: gobject-introspection-devel BuildRequires: intltool BuildRequires: libicu-devel # Needed for patch0 BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: python3 BuildRequires: sqlite3-devel >= 3.7.15 BuildRequires: update-desktop-files BuildRequires: vala >= 0.12.0 BuildRequires: zlib-devel BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(json-glib-1.0) >= 1.0 BuildRequires: pkgconfig(libnm-glib) >= 0.8 BuildRequires: pkgconfig(libseccomp) >= 2.0 BuildRequires: pkgconfig(libsoup-2.4) >= 2.40 BuildRequires: pkgconfig(libxml-2.0) >= 2.6 BuildRequires: pkgconfig(upower-glib) 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%{?is_opensuse} BuildRequires: translation-update-upstream %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 # 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 %setup -q %patch0 -p1 %if !0%{?is_opensuse} translation-update-upstream %endif %build #Needed for patch0 autoreconf -fiv %configure \ --disable-static \ --disable-functional-tests make %{?_smp_mflags} %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 %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING README NEWS %{_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} %defattr(-,root,root) %{_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 %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-%{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