aboutsummaryrefslogtreecommitdiffstats
path: root/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch')
-rw-r--r--meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch
new file mode 100644
index 0000000000..ea239c41f9
--- /dev/null
+++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch
@@ -0,0 +1,120 @@
+From 2bbd07843e8ec34311cafab35f21b40c86e0dd7f 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 | 8 ++++----
+ src/libtracker-miners-common/tracker-landlock.c | 4 ++--
+ 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
+index a838344..6945f63 100644
+--- a/meson.build
++++ b/meson.build
+@@ -393,7 +393,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)
+@@ -422,7 +422,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.
+@@ -451,8 +451,8 @@ subdir('data')
+ subdir('docs')
+
+ test_c_args = tracker_c_args + [
+- '-DTOP_BUILDDIR="@0@/"'.format(meson.build_root()),
+- '-DTOP_SRCDIR="@0@/"'.format(meson.source_root()),
++ '-DTOP_BUILDDIR="@0@/"'.format(''),
++ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'),
+ ]
+
+ if get_option('tests_tap_protocol')
+diff --git a/src/libtracker-miners-common/tracker-landlock.c b/src/libtracker-miners-common/tracker-landlock.c
+index 95c652e..608cee4 100644
+--- a/src/libtracker-miners-common/tracker-landlock.c
++++ b/src/libtracker-miners-common/tracker-landlock.c
+@@ -276,7 +276,7 @@ tracker_landlock_init (const gchar * const *indexed_folders)
+ LANDLOCK_ACCESS_FS_READ_DIR);
+ }
+ }
+-
++#if 0
+ current_dir = g_get_current_dir ();
+
+ /* Detect running in-tree */
+@@ -296,7 +296,7 @@ tracker_landlock_init (const gchar * const *indexed_folders)
+ 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,
+diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build
+index 6e58832..04750f8 100644
+--- a/src/miners/fs/meson.build
++++ b/src/miners/fs/meson.build
+@@ -67,8 +67,8 @@ executable('tracker-miner-fs-@0@'.format(tracker_api_major),
+ dependencies: tracker_miner_fs_deps,
+ c_args: [
+ tracker_c_args,
+- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
+- '-DBUILD_EXTRACTDIR="@0@"'.format(meson.build_root() / 'src' / 'tracker-extract'),
++ '-DBUILDROOT="@0@"'.format(get_option('prefix') / 'src'),
++ '-DBUILD_EXTRACTDIR="@0@"'.format(get_option('prefix') / 'src' / 'tracker-extract'),
+ '-DLIBEXECDIR="@0@"'.format(get_option('prefix') / get_option('libexecdir')),
+ ],
+ install: true,
+diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build
+index 16ce367..bbd494d 100644
+--- a/src/tracker-extract/meson.build
++++ b/src/tracker-extract/meson.build
+@@ -158,7 +158,7 @@ endif
+ executable('tracker-extract-@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/tracker-miner-fs/meson.build
++++ b/tests/tracker-miner-fs/meson.build
+@@ -18,7 +18,7 @@ libtracker_miner_test_c_args = [
+ ]
+
+ 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', '/usr/src/debug/tracker-miners/data')
+
+ libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql]
+
+--
+2.34.1
+