%define build_doc 1 #gw libtracker-common is in the main package and not provided %global __requires_exclude devel\\(libtracker-common|devel\\(libtracker-data %define api 3.0 %define major 0 %define girmajor 3.0 %define libname %mklibname %{name} %{api} %{major} %define develname %mklibname %{name} -d %define girname %mklibname %{name}-gir %{girmajor} %define url_ver %{lua: ver = rpm.expand("%{version}"); majmin, count1 = string.gsub(ver, "^([0123456789]+%.[0123456789]+).*", "%1", 1); if count1 == 0 then print(ver); return; end; maj, count2 = string.gsub(majmin, "^([0123456789]+).*", "%1", 1); if count2 == 0 then print(majmin) elseif tonumber(majmin) < 40 then print(majmin) else print(maj) end} %global tarball_version %%(echo %{version} | tr '~' '.') Summary: Desktop-neutral metadata-based search framework Name: tracker Version: 3.7.1 Release: %mkrel 1 License: GPLv2+ and LGPLv2+ Group: Graphical desktop/GNOME URL: https://wiki.gnome.org/Projects/Tracker Source0: https://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{tarball_version}.tar.xz Source1: 30-tracker.conf BuildRequires: asciidoc BuildRequires: gettext-devel BuildRequires: gi-docgen BuildRequires: gi-docgen BuildRequires: gnome-common BuildRequires: meson BuildRequires: python3-gobject BuildRequires: pkgconfig(avahi-client) BuildRequires: pkgconfig(avahi-glib) BuildRequires: pkgconfig(bash-completion) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(gee-0.8) BuildRequires: pkgconfig(gio-unix-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gmodule-2.0) BuildRequires: pkgconfig(gnome-desktop-3.0) BuildRequires: pkgconfig(gthread-2.0) BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(icu-uc) BuildRequires: pkgconfig(json-glib-1.0) BuildRequires: pkgconfig(libgsf-1) BuildRequires: pkgconfig(libgxps) BuildRequires: pkgconfig(libnm) BuildRequires: pkgconfig(libsoup-3.0) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(rest-1.0) BuildRequires: libstemmer-devel BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(uuid) BuildRequires: pkgconfig(vapigen) BuildRequires: vala BuildRequires: locales Requires: odt2txt # ovitters: the following package handles the indexing Recommends: tracker-miners %description Tracker is a framework designed to extract information and metadata about your personal data so that it can be searched easily and quickly. Tracker is desktop-neutral, fast and resource efficient. %package -n %{libname} Group: System/Libraries Summary: Shared library of Tracker # ovitters: library needs the gschema, further, they need the indexing (mga#20300) # best solution is to require the main package Requires: %{name} %description -n %{libname} Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly. Tracker is desktop-neutral, fast and resource efficient. %package -n %{develname} Group: Development/C Summary: Development library of Tracker Requires: %{libname} = %{version}-%{release} Requires: %{girname} = %{version}-%{release} Requires: %{name}-vala Provides: %{name}-devel = %{version}-%{release} Provides: lib%{name}-devel = %{version}-%{release} %description -n %{develname} Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly. Tracker is desktop-neutral, fast and resource efficient. %package -n %{girname} Summary: GObject Introspection interface description for %{name} Group: System/Libraries Requires: %{libname} = %{version}-%{release} %description -n %{girname} GObject Introspection interface description for %{name}. %package vala Summary: Vala bindings for %{name} Group: Development/Other BuildArch: noarch Requires: %{name}-devel >= %{version}-%{release} Requires: vala %description vala This package contains vala bindings for development %{name}. %if %{build_doc} %package docs Summary: Documentations for tracker Group: Documentation BuildArch: noarch BuildRequires: pkgconfig(gtk-doc) BuildRequires: graphviz %description docs This package contains the documentation for tracker. %endif %prep %autosetup -p1 -n tracker-%{tarball_version} %build export CPATH+=":/usr/include/libstemmer/" %meson \ %if %{build_doc} -Ddocs=true \ %endif %{nil} %meson_build %install %meson_install install -D -p -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/sysctl.d/30-%{name}.conf %find_lang tracker3 rm -rf %{buildroot}%{_datadir}/tracker-tests %files -f tracker3.lang %doc README.md NEWS AUTHORS %{_bindir}/tracker3 %{_bindir}/tracker3-* %{_datadir}/tracker3/ %{_libexecdir}/%{name}* # to split as a python3 subpkg? : %{_libdir}/tracker-3.0/trackertestutils %{_prefix}/lib/sysctl.d/30-%{name}.conf %{_datadir}/bash-completion/completions/tracker3 %{_datadir}/dbus-1/services/org.freedesktop.portal.Tracker.service %{_mandir}/man1/tracker*.1* %{_userunitdir}/tracker-xdg-portal-3.service %files vala %{_datadir}/vala/vapi/%{name}-sparql-%{api}.vapi %{_datadir}/vala/vapi/%{name}-sparql-%{api}.deps %files -n %{libname} %{_libdir}/lib%{name}-sparql-%{api}.so.%{major}{,.*} %{_libdir}/tracker-3.0/lib%{name}-http-soup3.so %{_libdir}/tracker-3.0/lib%{name}-parser-libicu.so %files -n %{girname} %{_libdir}/girepository-1.0/Tracker-%{girmajor}.typelib %files -n %{develname} %{_libdir}/lib%{name}-sparql-%{api}.so %{_includedir}/* %{_libdir}/pkgconfig/%{name}-sparql-%{api}.pc %{_libdir}/pkgconfig/%{name}-testutils-%{api}.pc %{_datadir}/gir-1.0/Tracker-%{girmajor}.gir %if %{build_doc} %files docs %{_docdir}/Tracker-3.0/ %endif