localsearch-3.8.0

Introduction to Localsearch

The Localsearch package contains a filesystem indexer as well as a metadata extractor.

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Localsearch Dependencies

Required

gst-plugins-base-1.24.8, tinysparql-3.8.0, Exempi-2.6.5, and gexiv2-0.14.3

Recommended

Optional

asciidoc-10.2.1, CMake-3.30.5, DConf-0.40.0, FFmpeg-7.1, libgsf-1.14.53, NetworkManager-1.48.10, taglib-2.0.2, totem-pl-parser-3.26.6, libcue, libgrss, libitpcdata, libosinfo, and gupnp

Kernel Configuration

Enable the following options in the kernel configuration, then recompile the kernel and reboot if necessary:

Security options --->
  [*]        Enable different security models                         [SECURITY]
  [*]        Landlock support                                [SECURITY_LANDLOCK]
  # List more Linux Security Modules here (separated with comma) if needed,
  # for example 'landlock,lockdown,smack':
  (landlock) Ordered list of enabled LSMs                                  [LSM]

Installation of Localsearch

[Warning]

Warning

If you are upgrading this package from a version where it was known as tracker-miners, there are several files which will cause conflicts. Before installing this package, remove these files as the root user:

rm -fv /etc/xdg/autostart/tracker-miner-fs-3.desktop                           &&
rm -fv /usr/lib/systemd/user/tracker-miner-fs-3.service                        &&
rm -fv /usr/lib/systemd/user/tracker-miner-fs-control-3.service                &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.service &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Writeback.service   &&
rm -fv /usr/share/dbus-1/services/org.freedesktop.Tracker3.Miner.Files.Control.service
[Note]

Note

If you plan to run the tests, some timeouts are too short when using spinning disks. There are two places where timeouts are used: first, individual tests inside a group of tests have a default timeout of 10s. This can be changed by setting the environment variable TRACKER_TESTS_AWAIT_TIMEOUT to the desired value when running the tests (see below). Second, a global timeout for a group of tests is fixed at configuration time. The default value in the functional-tests directory (other directories have only short lived tests) may be increased with the following command (replace 200 with a value suitable for your machine):

sed -i s/120/200/ tests/functional-tests/meson.build

Install Localsearch by running the following commands:

mkdir build &&
cd    build &&

meson setup --prefix=/usr                  \
            --buildtype=release            \
            -D systemd_user_services=false \
            -D man=false                   \
            -D miner_rss=false             \
            ..                             &&
ninja

Now, as the root user:

ninja install

To test the results, issue (adjust the individual test timeout to a value suitable for your machine, see the note above):

meson configure -D debug=true &&
dbus-run-session env LC_ALL=C.UTF-8 TRACKER_TESTS_AWAIT_TIMEOUT=20 \
                 ninja test &&
rm -rf ~/tracker-tests
[Note]

Note

The tests create files in the user directory (up to 24 MB), so they have to be removed afterwards.

Command Explanations

--buildtype=release: Specify a buildtype suitable for stable releases of the package, as the default may produce unoptimized binaries.

-D man=false: This switch prevents the build process from generating man pages. Omit this switch if you have asciidoc-10.2.1 installed and wish to generate and install the man pages.

-D miner_rss=false: This switch prevents using libgrss for indexing RSS feeds because libgrss is insecure and no longer in BLFS.

-D systemd_user_services=false: This switch prevents the build process from installing systemd units since they are useless on SysV systems.

-D seccomp=false: This option disables the seccomp system call filter. On some architectures, such as i686 and ARM, the functions that tracker-miners uses are not guarded properly, and tracker-miners will get killed with a SIGSYS as a result. Note that disabling seccomp may cause the system to be compromised worse in the event that a security vulnerability in localsearch or its dependencies is exploited.

-D landlock=disabled: This switch disables the Landlock file access sandbox. Use it if you don't want to build the kernel with Landlock support. Note that disabling Landlock may cause the system to be compromised worse in the event that a security vulnerability in localsearch or its dependencies is exploited.

-D battery_detection=none: Use this option if you have not installed the recommended dependency upower. Do not use this option if your system has a battery (laptop battery or UPS), or localsearch may waste the battery power and lifespan when the A/C power is unavailable.

Contents

Installed Programs: localsearch
Installed Libraries: Several modules under /usr/lib/localsearch-3.0
Installed Directories: /usr/lib/localsearch-3.0 and /usr/share/localsearch

Short Descriptions

localsearch

starts, stops, restarts, and lists daemons responsible for indexing content