new file mode 100644
@@ -0,0 +1,84 @@
+From 52e6a20252e7a1df9b451db7690f0a50da9f0ca2 Mon Sep 17 00:00:00 2001
+From: Markus Volk <f_l_k@t-online.de>
+Date: Tue, 12 Sep 2023 16:54:54 +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 | 6 +++---
+ src/libtracker-common/meson.build | 6 +++---
+ src/libtracker-sparql/meson.build | 6 +++---
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index 8442a216f..1665acf35 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/build')
+ 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/build'),
++ '-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..236a619be 100644
+--- a/src/libtracker-common/meson.build
++++ b/src/libtracker-common/meson.build
+@@ -50,11 +50,11 @@ libtracker_common = static_library('tracker-common',
+ tracker_common_sources,
+ dependencies: [tracker_common_dependencies, gmodule],
+ c_args: [
+- '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
+- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()),
++ '-DPRIVATE_LIBDIR="@0@"'.format(''),
++ '-DBUILD_LIBDIR="@0@"'.format(''),
+ # 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/build'),
+ ] + 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..416105b28 100644
+--- a/src/libtracker-sparql/meson.build
++++ b/src/libtracker-sparql/meson.build
+@@ -95,11 +95,11 @@ 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()),
++ '-DPRIVATE_LIBDIR="@0@"'.format(''),
++ '-DBUILD_LIBDIR="@0@"'.format(''),
+ # 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/build'),
+ ] + tracker_c_args,
+
+ dependencies: [libtracker_sparql_dependencies, gvdb_dep],
+--
+2.41.0
+
deleted file mode 100644
@@ -1,24 +0,0 @@
-From 3e262192ffebf5d6fec92d5b7ba08348a94df1ae Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 25 May 2023 20:54:47 -0700
-Subject: [PATCH] meson: Do not define TOP_SRCDIR
-
-This is passed from build env
-
-Upstream-Status: Inappropriate [Cross compile specific]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- meson.build | 1 -
- 1 file changed, 1 deletion(-)
-
---- a/meson.build
-+++ b/meson.build
-@@ -353,7 +353,7 @@ subdir('utils')
-
- test_c_args = tracker_c_args + [
- '-DTOP_BUILDDIR="@0@"'.format(build_root),
-- '-DTOP_SRCDIR="@0@"'.format(source_root),
-+ '-DTOP_SRCDIR="@0@"'.format('/usr/src/debug/tracker'),
- ]
-
- tracker_uninstalled_cli_dir = join_paths(meson.current_build_dir(), 'src', 'tracker')
similarity index 63%
rename from meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
rename to 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 \
- fix various reproducibility issues - fix gobject-introspection build - build vapi dependent on GI_DATA_ENABLED Signed-off-by: Markus Volk <f_l_k@t-online.de> --- .../tracker/0001-fix-reproducibility.patch | 84 +++++++++++++++++++ .../0001-meson-Do-not-define-TOP_SRCDIR.patch | 24 ------ .../{tracker_3.5.1.bb => tracker_3.6.0.bb} | 19 +++-- 3 files changed, 96 insertions(+), 31 deletions(-) create mode 100644 meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch delete mode 100644 meta-gnome/recipes-gnome/tracker/tracker/0001-meson-Do-not-define-TOP_SRCDIR.patch rename meta-gnome/recipes-gnome/tracker/{tracker_3.5.1.bb => tracker_3.6.0.bb} (63%)