The Localsearch package contains a filesystem indexer as well as a metadata extractor.
![[Note]](../images/note.png) 
          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.
Download (HTTP): https://download.gnome.org/sources/localsearch/3.9/localsearch-3.9.0.tar.xz
Download MD5 sum: 6d29c941a4e10eb7fcc6e84d0d90053a
Download size: 4.3 MB
Estimated disk space required: 35 MB (with tests)
Estimated build time: 0.2 SBU (with parallelism=4; add as much as 1.0 SBU for tests, dependent on disk speed)
gexiv2-0.14.6, gst-plugins-base-1.26.6, and tinysparql-3.9.2
Exempi-2.6.6, giflib-5.2.2, FFmpeg-7.1.2, ICU-77.1, libexif-0.6.25, libgxps-0.3.2, libseccomp-2.6.0, Poppler-25.10.0, and UPower-1.90.10
asciidoc-10.2.1, CMake-4.1.2, DConf-0.40.0, libgsf-1.14.53, NetworkManager-1.54.1, taglib-2.1.1, totem-pl-parser-3.26.6, libcue, libitpcdata, libosinfo, and gupnp
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]
![[Warning]](../images/warning.png) 
          
            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]](../images/note.png) 
          
            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
        First, apply a patch to make the HTML extractor compatible with libxml2-2.14 and later:
patch -Np1 -i ../localsearch-3.9.0-libxml2_2_14-1.patch
Install Localsearch by running the following commands:
mkdir build &&
cd    build &&
meson setup --prefix=/usr       \
            --buildtype=release \
            -D man=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]](../images/note.png) 
          The tests create files in the user directory (up to 24 MB), so they have to be removed afterwards.
          --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 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.
        
          -D libav=disabled: Use this option if
          you have not installed the recommended dependency ffmpeg. Note that
          using this will cause 7 test failures, and will also significantly
          hamper the functionality of this package.