Markus Volk 2454812275
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>
2026-03-27 09:09:04 -07:00

99 lines
3.7 KiB
Diff

From 7affd66ff09747ad95b2e6de0b86ab06c97ca8f1 Mon Sep 17 00:00:00 2001
From: Markus Volk <f_l_k@t-online.de>
Date: Tue, 12 Sep 2023 17:00:41 +0200
Subject: [PATCH] meson: fix reproducibility
Tracker's design seems to be strictly for non-cross builds and leaks buildpaths into the
binaries at various places. Avoid this to improve binary reproducibility.
todo: Some of these paths may need to be adjusted to make the test environment work
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Markus Volk <f_l_k@t-online.de>
---
meson.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index fe65280b6..6af5abec9 100644
--- a/meson.build
+++ b/meson.build
@@ -323,7 +323,7 @@ conf.set('PACKAGE_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)
-conf.set('abs_top_builddir', meson.current_build_dir())
+conf.set('abs_top_builddir', '')
conf.set('exec_prefix', get_option('prefix'))
conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir')))
conf.set('datadir', datadir)
@@ -353,7 +353,7 @@ tracker_c_args = [
configinc = include_directories('./')
srcinc = include_directories('src/')
-build_root = meson.current_build_dir()
+build_root = ''
# We use tracker-miners-3.0 rather than tracker3-miners inside the lib64
# directory, following the existing convention in that directory.
@@ -378,8 +378,8 @@ subdir('src')
subdir('docs')
test_c_args = tracker_c_args + [
- '-DTOP_BUILDDIR="@0@/"'.format(meson.project_build_root()),
- '-DTOP_SRCDIR="@0@/"'.format(meson.project_source_root()),
+ '-DTOP_BUILDDIR="@0@/"'.format(''),
+ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'),
]
if get_option('tests_tap_protocol')
diff --git a/src/common/tracker-landlock.c b/src/common/tracker-landlock.c
index a3f390585..778ae62d9 100644
--- a/src/common/tracker-landlock.c 2026-03-15 01:40:56.000000000 +0100
+++ b/src/common/tracker-landlock.c 2026-03-26 16:49:16.948259117 +0100
@@ -299,7 +299,7 @@
LANDLOCK_ACCESS_FS_READ_DIR);
}
}
-
+#if 0
current_dir = g_get_current_dir ();
/* Detect running in-tree */
@@ -319,7 +319,7 @@
in_tree_rules[i].flags);
}
}
-
+#endif
/* Add user cache for readonly databases */
#ifdef MINER_FS_CACHE_LOCATION
add_rule (landlock_fd, MINER_FS_CACHE_LOCATION,
--- a/src/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100
+++ b/src/indexer/meson.build 2026-03-26 16:55:09.020362168 +0100
@@ -91,9 +91,9 @@ executable('localsearch-@0@'.format(tracker_api_major),
dependencies: tracker_miner_fs_deps,
c_args: [
tracker_c_args,
- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
- '-DBUILDDIR="@0@"'.format(meson.current_build_dir()),
- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.project_build_root() / 'src' / 'extractor'),
+ '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'),
+ '-DBUILDDIR="@0@"'.format(''),
+ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'extractor'),
'-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')),
],
install: true,
--- a/tests/indexer/meson.build 2026-03-15 01:40:56.000000000 +0100
+++ b/tests/indexer/meson.build 2026-03-26 17:01:29.686224071 +0100
@@ -18,7 +18,7 @@
]
libtracker_miner_test_environment = environment()
-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_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql]