mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-08 17:39:24 +00:00
tracker-miners: upgrade 3.5.0 -> 3.6.0
- fix various reproducibility issues - build with sccomp by default and remove the according patch Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -0,0 +1,108 @@
|
|||||||
|
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 | 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.
|
||||||
|
@@ -421,10 +421,10 @@ tracker_writeback_modules_dir = join_paths(get_option('prefix'), get_option('lib
|
||||||
|
tracker_extract_rules_dir = join_paths(get_option('prefix'), get_option('datadir'), tracker_versioned_name, 'extract-rules')
|
||||||
|
tracker_miner_services_dir = join_paths(get_option('prefix'), get_option('datadir'), tracker_versioned_name, 'miners')
|
||||||
|
|
||||||
|
-tracker_uninstalled_cli_subcommands_dir = meson.current_build_dir() / 'src' / 'tracker' / 'subcommands'
|
||||||
|
-tracker_uninstalled_extract_rules_dir = join_paths(meson.current_build_dir(), 'src', 'tracker-extract', 'uninstalled-rules')
|
||||||
|
-tracker_uninstalled_writeback_modules_dir = join_paths(meson.current_build_dir(), 'src', 'tracker-writeback')
|
||||||
|
-uninstalled_tracker_extract_path = join_paths(meson.current_build_dir(), 'src', 'tracker-extract', 'tracker-extract-3')
|
||||||
|
+tracker_uninstalled_cli_subcommands_dir = '/usr/src/debug/tracker/src/tracker/subcommands'
|
||||||
|
+tracker_uninstalled_extract_rules_dir = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-extract', 'uninstalled-rules')
|
||||||
|
+tracker_uninstalled_writeback_modules_dir = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-writeback')
|
||||||
|
+uninstalled_tracker_extract_path = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-extract', 'tracker-extract-3')
|
||||||
|
|
||||||
|
gsettings_schema_dir = join_paths(get_option('prefix'), get_option('datadir'), 'glib-2.0', 'schemas')
|
||||||
|
po_dir = join_paths(meson.current_source_dir(), 'po')
|
||||||
|
@@ -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')
|
||||||
|
@@ -454,9 +454,9 @@ run_uninstalled_conf = configuration_data()
|
||||||
|
run_uninstalled_conf.set('tracker_sparql_uninstalled_dir', tracker_sparql_uninstalled_dir)
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_cli_dir', tracker_uninstalled_cli_dir)
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_cli_subcommands_dir', tracker_uninstalled_cli_subcommands_dir)
|
||||||
|
-run_uninstalled_conf.set('tracker_uninstalled_domain_rule', meson.current_build_dir() / 'tests' / 'functional-tests' / 'config' / 'test-domain.rule')
|
||||||
|
+run_uninstalled_conf.set('tracker_uninstalled_domain_rule', '/usr/src/debug/tracker/tests/functional-tests/config/test-domain.rule')
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_extract_rules_dir', tracker_uninstalled_extract_rules_dir)
|
||||||
|
-run_uninstalled_conf.set('tracker_uninstalled_extractors_dir', meson.current_build_dir() / 'src' / 'tracker-extract')
|
||||||
|
+run_uninstalled_conf.set('tracker_uninstalled_extractors_dir', '/usr/src/debug/tracker/src/tracker-extract')
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_miner_services_dir', tracker_uninstalled_miner_services_dir)
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_testutils_dir', tracker_uninstalled_testutils_dir)
|
||||||
|
run_uninstalled_conf.set('tracker_uninstalled_writeback_modules_dir', tracker_uninstalled_writeback_modules_dir)
|
||||||
|
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]
|
||||||
|
|
||||||
|
--
|
||||||
|
2.41.0
|
||||||
|
|
||||||
-37
@@ -1,37 +0,0 @@
|
|||||||
From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
|
||||||
Date: Sun, 1 Dec 2019 17:06:59 +0100
|
|
||||||
Subject: [PATCH] meson.build: Just warn if we build without libseccomp
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
libseccomp lives in meta-security currently and we cannot make it a mandatory
|
|
||||||
dependency. Once somebody moves libseccomp to meta-oe and adjusts all the
|
|
||||||
target specific knobs this patch can go. For discussion see [1].
|
|
||||||
|
|
||||||
[1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html
|
|
||||||
|
|
||||||
Upstream-Status: Inappropriate [embedded specific]
|
|
||||||
|
|
||||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
|
||||||
---
|
|
||||||
meson.build | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
|
||||||
index 71a9df4..1eaa1a0 100644
|
|
||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ 299,7 +299,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu)
|
|
||||||
seccomp_required = system_supports_seccomp and cpu_supports_seccomp and get_option('seccomp') and get_option('extract')
|
|
||||||
|
|
||||||
if not libseccomp.found() and seccomp_required
|
|
||||||
- error('Libseccomp is mandatory for sandboxed metadata extraction')
|
|
||||||
+ warning('Building without Libseccomp might cause security issues!')
|
|
||||||
endif
|
|
||||||
|
|
||||||
####################################################################
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
||||||
+6
-4
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = " \
|
|||||||
|
|
||||||
DEPENDS = " \
|
DEPENDS = " \
|
||||||
intltool-native \
|
intltool-native \
|
||||||
|
libseccomp \
|
||||||
tracker \
|
tracker \
|
||||||
zlib \
|
zlib \
|
||||||
"
|
"
|
||||||
@@ -15,10 +16,11 @@ GNOMEBASEBUILDCLASS = "meson"
|
|||||||
|
|
||||||
inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
|
inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
|
||||||
|
|
||||||
SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch \
|
SRC_URI:append = " \
|
||||||
file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
|
file://0001-fix-reproducibility.patch \
|
||||||
"
|
file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
|
||||||
SRC_URI[archive.sha256sum] = "17966603dc432a98526b490586a48acd7f9f59935f7895dfc51729a46a6901a3"
|
"
|
||||||
|
SRC_URI[archive.sha256sum] = "c2ed9f6b0410195863b84c7b5467c5bc1255e96d658741192b5e92568a3bebd0"
|
||||||
|
|
||||||
# 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"
|
||||||
Reference in New Issue
Block a user