localsearch: update 3.9.0 -> 3.11.0

- rework reproducibility patch
- disable functional_tests to avoid python3-dbusmock-native dependency
- add PACKAGECONFIG for libzip and enable by default

NEW in 3.11.0 - 2026-03-15
==========================
  * Memory leak fixes
  * Stability fixes
  * Fixes to tv series/season extraction from video files

Translations: ca, da, en_GB, pl

Notable changes since 3.10.0:
  * Default configuration change, the user home directory will now be indexed
    recursively as a whole, instead of XDG folders
  * Major change in handling of removable devices. When enabled, removable
    devices will get a `.localsearch3` folder with a self-contained database
    for the removable device indexed data, instead of being included in the
    main database in the user home folder. The setting default remains off.
  * The set of dependencies was modernized and sanitized. GExiv2 is now used
    for more metadata, libzip is now used for bundled files.

NEW in 3.11.rc - 2026-03-03
===========================
  * Reliability improvements to the test suite

Translations: es, hu, ko, ne, oc, pt

NEW in 3.11.beta - 2026-02-18
=============================
  * Fixes for possible buffer overflows and NULL pointer dereferences
    in MP3 extractor
  * Fix seccomp jail in database helper process for removable devices
  * Replace libgsf with libzip for ZIP content handling
  * Improve reliability of the test suite in slow scenarios (e.g. CI)

Translations: bg, ca, cs, el, eu, fa, fr, gl, he, ka, kk, lt, pt_BR, ro, ru,
  sl, sv, tr, ug, uk, zh_CN

NEW in 3.11.alpha - 2026-01-05
==============================
  * Default configuration change, the user home directory will now be indexed
    recursively as a whole, instead of XDG folders
  * Major change in handling of removable devices. When enabled, removable
    devices will get a `.localsearch3` folder with a self-contained database
    for the removable device indexed data, instead of being included in the
    main database in the user home folder. The setting default remains off.
  * Improved handling of indexed folder changes found on restart
  * Improved handling of indexing cancellation in deleted folders
  * Improved handling of BTRFS filesystems
  * Dropped libexif dependency, EXIF data is now extracted through gexiv2
  * Dropped libpiptcdata dependency, IPTC data is now extracted through
    gexiv2
  * Consistency improvements to extracted metadata
  * Fixes to SHSTK handling in the sandboxed process
  * Further extended test coverage

Translations: ca, el, fur, id, oc, sr, sr@latin

NEW in 3.10.1 - 2025-10-13
==========================
  * Improvements to the handling of corrupted databases
  * Avoid session startup issues if database initialization takes long
  * Handle compressed Abiword documents
  * Memory usage improvements indexing WEBP files
  * Support gexiv2 >= 0.16
  * Unify metadata extraction deadline mechanisms
  * Test suite improvements

Translations: bg, ca, es, kab, pt, ro, tr, ug

NEW in 3.10.0 - 2025-09-14
==========================
  * Fixes to handling of configuration changes
  * Improvements to the test suite

Translations: da, en_GB, eo, es, eu, fa, he, hu, ka, ko, lt, nl, pt_BR, ru, sv, tr, uk, zh_CN

Notable changes since 3.9.0:
  * A number of behavioral settings has been deprecated
  * Webp file format now has a metadata extractor

NEW in 3.10.rc - 2025-09-01
===========================
  * Webp file format now has a metadata extractor
  * Indexer refactors and cleanups

Translations: ca, cs, gl, pl, sl

NEW in 3.10.beta - 2025-08-03
=============================
  * Fix service files with -Ddomain-ontology option
  * Fixes for Alpine and similar distributions without merged /usr

NEW in 3.10.alpha - 2025-07-01
==============================
  * Systemd integration improvements
  * A number of behavioral settings has been deprecated
  * Fixes handling /var/home directories
  * Many improvements to the command line tool
  * The tracker:available property is again set on all graphs, for
    indexed folders
  * Fixes handling XML documents
  * Fixes for possible crashes handling large PDF files
  * Fixes for coverity warnings
  * Code cleanups and refactors

Translations: be, ca, uz

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Markus Volk 2026-03-26 17:47:57 +01:00 committed by Khem Raj
parent 0662fc89e4
commit 2454812275
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 30 additions and 47 deletions

View File

@ -1,4 +1,4 @@
From bad93f7aec96b1819f4027dbc06b337d2e2227f2 Mon Sep 17 00:00:00 2001 From 78c089de4bef7d8f07cc6def1202dcec949521b5 Mon Sep 17 00:00:00 2001
From: Lei Maohui <leimaohui@fujitsu.com> From: Lei Maohui <leimaohui@fujitsu.com>
Date: Thu, 15 Sep 2022 16:35:39 +0900 Date: Thu, 15 Sep 2022 16:35:39 +0900
Subject: [PATCH] Set header file to a fixed path instead of a host path. Subject: [PATCH] Set header file to a fixed path instead of a host path.
@ -7,7 +7,7 @@ Upstream-Status: Inappropriate [embedded specific]
Signed-off-by: Lei Maohui <leimaohui@fujitsu.com> Signed-off-by: Lei Maohui <leimaohui@fujitsu.com>
--- ---
.../tracker-miners-enum-types.c.template | 2 +- src/common/tracker-miners-enum-types.c.template | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/tracker-miners-enum-types.c.template b/src/common/tracker-miners-enum-types.c.template diff --git a/src/common/tracker-miners-enum-types.c.template b/src/common/tracker-miners-enum-types.c.template

View File

@ -1,4 +1,4 @@
From 57f4279008394831826ea2ff449b06b29c08ce68 Mon Sep 17 00:00:00 2001 From 7affd66ff09747ad95b2e6de0b86ab06c97ca8f1 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de> From: Markus Volk <f_l_k@t-online.de>
Date: Tue, 12 Sep 2023 17:00:41 +0200 Date: Tue, 12 Sep 2023 17:00:41 +0200
Subject: [PATCH] meson: fix reproducibility Subject: [PATCH] meson: fix reproducibility
@ -12,18 +12,14 @@ Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Markus Volk <f_l_k@t-online.de>
--- ---
meson.build | 8 ++++---- meson.build | 4 ++--
src/common/tracker-landlock.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
src/miners/fs/meson.build | 4 ++--
src/tracker-extract/meson.build | 2 +-
tests/tracker-miner-fs/meson.build | 2 +-
5 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/meson.build b/meson.build diff --git a/meson.build b/meson.build
index 7ae103c..cc61e84 100644 index fe65280b6..6af5abec9 100644
--- a/meson.build --- a/meson.build
+++ b/meson.build +++ b/meson.build
@@ -371,7 +371,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version())) @@ -323,7 +323,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version()))
conf.set('TRACKER_VERSION', '"@0@"'.format(meson.project_version())) conf.set('TRACKER_VERSION', '"@0@"'.format(meson.project_version()))
# Config that goes in some other generated files (.desktop, .pc, etc) # Config that goes in some other generated files (.desktop, .pc, etc)
@ -32,7 +28,7 @@ index 7ae103c..cc61e84 100644
conf.set('exec_prefix', get_option('prefix')) conf.set('exec_prefix', get_option('prefix'))
conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir')))
conf.set('datadir', datadir) conf.set('datadir', datadir)
@@ -400,7 +400,7 @@ tracker_c_args = [ @@ -353,7 +353,7 @@ tracker_c_args = [
configinc = include_directories('./') configinc = include_directories('./')
srcinc = include_directories('src/') srcinc = include_directories('src/')
@ -41,22 +37,22 @@ index 7ae103c..cc61e84 100644
# We use tracker-miners-3.0 rather than tracker3-miners inside the lib64 # We use tracker-miners-3.0 rather than tracker3-miners inside the lib64
# directory, following the existing convention in that directory. # directory, following the existing convention in that directory.
@@ -430,8 +430,8 @@ subdir('data') @@ -378,8 +378,8 @@ subdir('src')
subdir('docs') subdir('docs')
test_c_args = tracker_c_args + [ test_c_args = tracker_c_args + [
- '-DTOP_BUILDDIR="@0@/"'.format(meson.build_root()), - '-DTOP_BUILDDIR="@0@/"'.format(meson.project_build_root()),
- '-DTOP_SRCDIR="@0@/"'.format(meson.source_root()), - '-DTOP_SRCDIR="@0@/"'.format(meson.project_source_root()),
+ '-DTOP_BUILDDIR="@0@/"'.format(''), + '-DTOP_BUILDDIR="@0@/"'.format(''),
+ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'), + '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'),
] ]
if get_option('tests_tap_protocol') if get_option('tests_tap_protocol')
diff --git a/src/common/tracker-landlock.c b/src/common/tracker-landlock.c diff --git a/src/common/tracker-landlock.c b/src/common/tracker-landlock.c
index 0ad90d0..354f5d1 100644 index a3f390585..778ae62d9 100644
--- a/src/common/tracker-landlock.c --- a/src/common/tracker-landlock.c 2026-03-15 01:40:56.000000000 +0100
+++ b/src/common/tracker-landlock.c +++ b/src/common/tracker-landlock.c 2026-03-26 16:49:16.948259117 +0100
@@ -283,7 +283,7 @@ tracker_landlock_init (const gchar * const *indexed_folders) @@ -299,7 +299,7 @@
LANDLOCK_ACCESS_FS_READ_DIR); LANDLOCK_ACCESS_FS_READ_DIR);
} }
} }
@ -65,7 +61,7 @@ index 0ad90d0..354f5d1 100644
current_dir = g_get_current_dir (); current_dir = g_get_current_dir ();
/* Detect running in-tree */ /* Detect running in-tree */
@@ -303,7 +303,7 @@ tracker_landlock_init (const gchar * const *indexed_folders) @@ -319,7 +319,7 @@
in_tree_rules[i].flags); in_tree_rules[i].flags);
} }
} }
@ -74,43 +70,28 @@ index 0ad90d0..354f5d1 100644
/* Add user cache for readonly databases */ /* Add user cache for readonly databases */
#ifdef MINER_FS_CACHE_LOCATION #ifdef MINER_FS_CACHE_LOCATION
add_rule (landlock_fd, MINER_FS_CACHE_LOCATION, add_rule (landlock_fd, MINER_FS_CACHE_LOCATION,
diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build --- a/src/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100
index 1e16618..286580a 100644 +++ b/src/indexer/meson.build 2026-03-26 16:55:09.020362168 +0100
--- a/src/indexer/meson.build @@ -91,9 +91,9 @@ executable('localsearch-@0@'.format(tracker_api_major),
+++ b/src/indexer/meson.build
@@ -68,8 +68,8 @@ executable('localsearch-@0@'.format(tracker_api_major),
dependencies: tracker_miner_fs_deps, dependencies: tracker_miner_fs_deps,
c_args: [ c_args: [
tracker_c_args, tracker_c_args,
- '-DBUILDROOT="@0@"'.format(meson.global_build_root()), - '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'extractor'), - '-DBUILDDIR="@0@"'.format(meson.current_build_dir()),
- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.project_build_root() / 'src' / 'extractor'),
+ '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'), + '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'),
+ '-DBUILDDIR="@0@"'.format(''),
+ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'extractor'), + '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'extractor'),
'-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')), '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')),
], ],
install: true, install: true,
diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build --- a/tests/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100
index 2584881..31411f2 100644 +++ b/tests/indexer/meson.build 2026-03-26 17:01:29.686224071 +0100
--- a/src/extractor/meson.build @@ -18,7 +18,7 @@
+++ b/src/extractor/meson.build
@@ -158,7 +158,7 @@ endif
executable('localsearch-extractor-@0@'.format(tracker_api_major),
tracker_extract_sources,
# Manually add the root dir to work around https://github.com/mesonbuild/meson/issues/1387
- c_args: tracker_c_args + ['-I' + meson.build_root()],
+ c_args: tracker_c_args,
export_dynamic: true,
dependencies: tracker_extract_dependencies,
install: true,
diff --git a/tests/tracker-miner-fs/meson.build b/tests/tracker-miner-fs/meson.build
index 8c081fd..9792082 100644
--- a/tests/indexer/meson.build
+++ b/tests/indexer/meson.build
@@ -18,7 +18,7 @@ libtracker_miner_test_c_args = [
] ]
libtracker_miner_test_environment = environment() libtracker_miner_test_environment = environment()
-libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) -libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.project_build_root(), 'data'))
+libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', '/usr/src/debug/tracker-miners/data') +libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', '/usr/src/debug/tracker-miners/data')
libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql] libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql]

View File

@ -18,7 +18,7 @@ SRC_URI:append = " \
file://0001-fix-reproducibility.patch \ file://0001-fix-reproducibility.patch \
file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
" "
SRC_URI[archive.sha256sum] = "d42f408dc3fb28fe54f5a9abbf5f1decf5818db9c2e9ec51c09464bdfd0c14b9" SRC_URI[archive.sha256sum] = "c6774761a8b9f4a06f6812f1c8078bee2e937d65e376c3d2338b78993e5f4666"
# gobject-introspection is mandatory and cannot be configured # gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
@ -38,6 +38,7 @@ PACKAGECONFIG ??= " \
tiff \ tiff \
raw \ raw \
xml \ xml \
zip \
${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \
battery \ battery \
" "
@ -62,6 +63,7 @@ PACKAGECONFIG[png] = "-Dpng=enabled,-Dpng=disabled,libpng"
PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff" PACKAGECONFIG[tiff] = "-Dtiff=enabled,-Dtiff=disabled,tiff"
PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw" PACKAGECONFIG[raw] = "-Draw=enabled,-Draw=disabled,libraw"
PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2" PACKAGECONFIG[xml] = "-Dxml=enabled,-Dxml=disabled,libxml2"
PACKAGECONFIG[zip] = "-Dzip=enabled,-Dzip=disabled,libzip"
PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled" PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled"
# For security reasons it is strongly recommended to set add meta-security in # For security reasons it is strongly recommended to set add meta-security in
@ -69,7 +71,7 @@ PACKAGECONFIG[landlock] = "-Dlandlock=enabled,-Dlandlock=disabled"
PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp" PACKAGECONFIG[seccomp] = "-Dseccomp=true,-Dseccomp=false,libseccomp"
EXTRA_OEMESON += " \ EXTRA_OEMESON += " \
-Dman=false \ -Dman=false -Dfunctional_tests=false \
-Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
-Dsystemd_user_services_dir=${systemd_user_unitdir} \ -Dsystemd_user_services_dir=${systemd_user_unitdir} \
" "