#### Beyond Linux® From Scratch (System V Edition) - Version 12.3

### Chapter 33. GNOME Libraries and Desktop

- Prev

  tinysparql-3.8.2

- Next

  GSound-1.0.3

- Up
- Home

# localsearch-3.8.2

## Introduction to Localsearch

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

This package is known to build and work properly using an LFS 12.3 platform.

### Package Information

- Download (HTTP): https://download.gnome.org/sources/localsearch/3.8/localsearch-3.8.2.tar.xz

- Download MD5 sum: 56dfb5a30b3ab5ba33939d9f6bc21016

- Download size: 4.3 MB

- Estimated disk space required: 31 MB (with tests)

- Estimated build time: 0.4 SBU (with parallelism=4; add as much as 1.0 SBU for tests, dependent on disk speed)

### Localsearch Dependencies

#### Required

Exempi-2.6.5, gexiv2-0.14.3, gst-plugins-base-1.24.12, and tinysparql-3.8.2

#### Recommended

giflib-5.2.2, gst-plugins-good-1.24.12 (runtime), gst-libav-1.24.12 (runtime), ICU-76.1, libexif-0.6.25, libgxps-0.3.2, libseccomp-2.6.0, Poppler-25.02.0, and UPower-1.90.7

#### Optional

asciidoc-10.2.1, CMake-3.31.5, DConf-0.40.0, FFmpeg-7.1, libgsf-1.14.53, NetworkManager-1.50.0, 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

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

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

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

    dbus-run-session env LC_ALL=C.UTF-8 TRACKER_TESTS_AWAIT_TIMEOUT=20 \
                     ninja test &&
    rm -rf ~/tracker-tests

Now, as the `root` user:

    ninja install

### 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 else localsearch may waste battery life when 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

- Prev

  tinysparql-3.8.2

- Next

  GSound-1.0.3

- Up
- Home