summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-gnome/recipes-gnome/tracker
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-gnome/recipes-gnome/tracker')
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch108
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch37
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb)10
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch80
-rw-r--r--meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb (renamed from meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb)19
5 files changed, 206 insertions, 48 deletions
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch
new file mode 100644
index 0000000000..dd55256166
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch
@@ -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
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
deleted file mode 100644
index 53c5f2664e..0000000000
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch
+++ /dev/null
@@ -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
-
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb
index d093697c13..d899155028 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb
@@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = " \
DEPENDS = " \
intltool-native \
+ libseccomp \
tracker \
zlib \
"
@@ -15,10 +16,11 @@ GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gsettings gobject-introspection vala bash-completion features_check
-SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch \
- file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
- "
-SRC_URI[archive.sha256sum] = "17966603dc432a98526b490586a48acd7f9f59935f7895dfc51729a46a6901a3"
+SRC_URI:append = " \
+ file://0001-fix-reproducibility.patch \
+ file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \
+"
+SRC_URI[archive.sha256sum] = "c2ed9f6b0410195863b84c7b5467c5bc1255e96d658741192b5e92568a3bebd0"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
new file mode 100644
index 0000000000..4a11f8314b
--- /dev/null
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
@@ -0,0 +1,80 @@
+From e5acd475f796420b4887969f2b0057dbf67979b3 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Mon, 18 Sep 2023 02:47:55 +0200
+Subject: [PATCH] tracker: fix reproducibility issue
+
+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 | 6 +++---
+ src/libtracker-common/meson.build | 4 ++--
+ src/libtracker-sparql/meson.build | 4 ++--
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 8442a216f..82844d7fd 100644
+--- a/meson.build
++++ b/meson.build
+@@ -348,7 +348,7 @@ have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD')
+ conf.set('HAVE_RTLD_NOLOAD', have_rtld_noload)
+
+ # Config that goes in some other generated files (.desktop, .service, etc)
+-conf.set('abs_top_builddir', meson.current_build_dir())
++conf.set('abs_top_builddir', '/usr/src/debug/tracker')
+ conf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
+
+ configure_file(input: 'config.h.meson.in',
+@@ -388,8 +388,8 @@ subdir('docs')
+ subdir('utils')
+
+ test_c_args = tracker_c_args + [
+- '-DTOP_BUILDDIR="@0@"'.format(build_root),
+- '-DTOP_SRCDIR="@0@"'.format(source_root),
++ '-DTOP_BUILDDIR="@0@/"'.format('/usr/src/debug/tracker'),
++ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'),
+ ]
+
+ tracker_uninstalled_cli_dir = join_paths(meson.current_build_dir(), 'src', 'tracker')
+diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build
+index 9355d1c0d..cdbc05f28 100644
+--- a/src/libtracker-common/meson.build
++++ b/src/libtracker-common/meson.build
+@@ -51,10 +51,10 @@ libtracker_common = static_library('tracker-common',
+ dependencies: [tracker_common_dependencies, gmodule],
+ c_args: [
+ '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
+- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()),
++ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'),
+ # Global build root is required to detect noinst situations (tests/introspection),
+ # event when built as a subproject
+- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
++ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'),
+ ] + tracker_c_args,
+ include_directories: [configinc, srcinc],
+ gnu_symbol_visibility: 'hidden',
+diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
+index 36288f5c3..61086a697 100644
+--- a/src/libtracker-sparql/meson.build
++++ b/src/libtracker-sparql/meson.build
+@@ -96,10 +96,10 @@ libtracker_sparql_private = static_library('tracker-sparql-private',
+ c_args: [
+ '-include', 'libtracker-sparql/tracker-private.h',
+ '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
+- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()),
++ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'),
+ # Global build root is required to detect noinst situations (tests/introspection),
+ # event when built as a subproject
+- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
++ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'),
+ ] + tracker_c_args,
+
+ dependencies: [libtracker_sparql_dependencies, gvdb_dep],
+--
+2.41.0
+
diff --git a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
index 6dd8af2390..d2eb392a0f 100644
--- a/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
+++ b/meta-openembedded/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
@@ -20,14 +20,10 @@ DEPENDS = " \
GNOMEBASEBUILDCLASS = "meson"
-inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native
+inherit gettext gnomebase gsettings gobject-introspection vala gtk-doc bash-completion python3native
-SRC_URI += "file://0001-meson-Do-not-define-TOP_SRCDIR.patch"
-SRC_URI[archive.sha256sum] = "f972d50ac7bafdccf113b1eb99dcae35404685a99e55bfef16f3ac83b4de974d"
-
-# gobject-introspection is mandatory and cannot be configured
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-GIR_MESON_OPTION = ""
+SRC_URI += "file://0001-fix-reproducibility.patch"
+SRC_URI[archive.sha256sum] = "52592cfe19baffd16dbe47475be7da750dbd0b6333fd7acb60faa9da5bc40df2"
# text search is not an option anymore and requires sqlite3 build with
# PACKAGECONFIG[fts5] set (default)
@@ -45,8 +41,17 @@ EXTRA_OEMESON = " \
-Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
-Dsystemd_user_services_dir=${systemd_user_unitdir} \
-Dsoup=soup3 \
+ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \
"
+do_install:prepend() {
+ sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
+ sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
+}
+
+GIR_MESON_ENABLE_FLAG = 'enabled'
+GIR_MESON_DISABLE_FLAG = 'disabled'
+
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/tracker3 \