From 2bbd07843e8ec34311cafab35f21b40c86e0dd7f Mon Sep 17 00:00:00 2001 From: Markus Volk 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 --- meson.build | 20 ++++++++++---------- src/tracker-extract/meson.build | 2 +- tests/tracker-miner-fs/meson.build | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/meson.build b/meson.build index 935584185..aa6126081 100644 --- a/meson.build +++ b/meson.build @@ -380,7 +380,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) @@ -409,7 +409,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. @@ -438,8 +438,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/tracker-extract/meson.build b/src/tracker-extract/meson.build index 4aaad5c41..d17cce221 100644 --- a/src/tracker-extract/meson.build +++ b/src/tracker-extract/meson.build @@ -159,7 +159,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 e131b85ad..59e509fa6 100644 --- a/tests/tracker-miner-fs/meson.build +++ b/tests/tracker-miner-fs/meson.build @@ -19,7 +19,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] diff --git a/src/miners/fs/meson.build b/src/miners/fs/meson.build index 6e5883288..04750f82b 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/libtracker-miners-common/tracker-landlock.c b/src/libtracker-miners-common/tracker-landlock.c index 27e7db65b..3021343eb 100644 --- a/src/libtracker-miners-common/tracker-landlock.c +++ b/src/libtracker-miners-common/tracker-landlock.c @@ -276,7 +276,7 @@ LANDLOCK_ACCESS_FS_READ_DIR); } } - +#if 0 current_dir = g_get_current_dir (); /* Detect running in-tree */ @@ -296,7 +296,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, -- 2.41.0