# This needs to be changed accordingly to the application for what localsearch # is bundled. As of F43, this domain is hard-coded in the binary at build time # and is no longer configurable at post-install. gnome-music is the only # currently maintained app which absolutely requires localsearch, so this is # built just for that. If more apps need support, then we will need more # creative solutions. %if 0%{?flatpak} %global domain_ontology org.gnome.Music %else %global domain_ontology org.freedesktop %endif %global with_enca 1 %global with_ffmpeg 1 %global with_libcue 1 %global with_totem_pl_parser 1 %if 0%{?rhel} %global with_enca 0 %global with_ffmpeg 0 %global with_libcue 0 %if 0%{?rhel} >= 10 %global with_totem_pl_parser 0 %endif %endif %global tinysparql_version 3.8 %global systemd_units localsearch-3.service localsearch-control-3.service localsearch-writeback-3.service # Exclude private libraries from autogenerated provides and requires %global __provides_exclude_from ^%{_libdir}/localsearch-3.0/ %global __requires_exclude ^(libtracker-extract\.so|libextract-.*\.so|libwriteback-.*\.so) %global tarball_version %%(echo %{version} | tr '~' '.') Name: localsearch Version: 3.11~rc Release: %autorelease Summary: Localsearch and metadata extractors # The indexer is a mix of GPLv2 and LGPLv2+ code License: GPL-2.0-or-later AND LGPL-2.1-or-later URL: https://gnome.pages.gitlab.gnome.org/localsearch/ Source0: https://download.gnome.org/sources/%{name}/3.11/%{name}-%{tarball_version}.tar.xz BuildRequires: asciidoc BuildRequires: gcc BuildRequires: giflib-devel BuildRequires: meson BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(dbus-1) %if 0%{?with_enca} BuildRequires: pkgconfig(enca) %endif BuildRequires: pkgconfig(exempi-2.0) BuildRequires: pkgconfig(flac) BuildRequires: pkgconfig(gexiv2-0.16) BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-pbutils-1.0) BuildRequires: pkgconfig(gstreamer-tag-1.0) BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(icu-uc) %if 0%{?with_ffmpeg} BuildRequires: pkgconfig(libavformat) %endif %if 0%{?with_libcue} BuildRequires: pkgconfig(libcue) %endif BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libgsf-1) BuildRequires: pkgconfig(libgxps) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(libseccomp) BuildRequires: pkgconfig(libtiff-4) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzip) BuildRequires: pkgconfig(poppler-glib) %if 0%{?with_totem_pl_parser} BuildRequires: pkgconfig(totem-plparser) %endif BuildRequires: pkgconfig(tinysparql-3.0) >= %{tinysparql_version} BuildRequires: pkgconfig(vorbisfile) %if !0%{?flatpak} BuildRequires: pkgconfig(libosinfo-1.0) BuildRequires: pkgconfig(libnm) BuildRequires: pkgconfig(upower-glib) %endif BuildRequires: python3-dbusmock # renamed in F42 Obsoletes: tracker-miners < 3.8 Provides: tracker-miners = %{version}-%{release} Provides: tracker-miners%{?_isa} = %{version}-%{release} %description Tinysparql is a powerful desktop-neutral first class object database, tag/metadata database and search tool. This package contains various miners and metadata extractors for tinysparql. %prep %autosetup -p1 -n %{name}-%{tarball_version} %build %meson \ %if 0%{?flatpak} -Dwriteback=false \ -Dsystemd_user_services=false \ -Diso=disabled \ -Dbattery_detection=none \ -Ddomain_prefix=%{domain_ontology} \ %endif %if ! 0%{?with_libcue} -Dcue=disabled \ %endif %if ! 0%{?with_ffmpeg} -Dlibav=disabled \ %endif %if ! 0%{?flatpak} -Dsystemd_user_services_dir=%{_userunitdir} \ %endif %if ! 0%{?with_totem_pl_parser} -Dplaylist=disabled \ %endif %{nil} %meson_build %install %meson_install %find_lang localsearch3 %post %systemd_user_post %{systemd_units} %preun %systemd_user_preun %{systemd_units} %postun %systemd_user_postun_with_restart %{systemd_units} %files -f localsearch3.lang %license COPYING* %doc AUTHORS NEWS README.md %config(noreplace) %{_sysconfdir}/xdg/autostart/localsearch-3.desktop %{_bindir}/localsearch %{_libdir}/localsearch-3.0/ %{_libexecdir}/localsearch-3 %{_libexecdir}/localsearch-control-3 %{_libexecdir}/localsearch-extractor-3 %{_libexecdir}/localsearch-endpoint-3 %if ! 0%{?flatpak} %{_libexecdir}/localsearch-writeback-3 %endif %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/localsearch %dir %{_datadir}/dbus-1 %dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %{_datadir}/dbus-1/interfaces/org.freedesktop.Tracker3.Miner.Files.Index.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.Tracker3.Miner.xml %{_datadir}/dbus-1/services/%{domain_ontology}.LocalSearch3.* %{_datadir}/dbus-1/services/%{domain_ontology}.Tracker3.* %if 0%{?flatpak} %exclude %{_datadir}/dbus-1/services/org.freedesktop.LocalSearch3.service %exclude %{_datadir}/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.service %endif %{_datadir}/glib-2.0/schemas/* %{_datadir}/localsearch3/ %{_mandir}/man1/localsearch*.1* %if !0%{?flatpak} %{_userunitdir}/localsearch*.service %endif %changelog %autochangelog