summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch78
-rw-r--r--meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb (renamed from meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb)19
2 files changed, 90 insertions, 7 deletions
diff --git a/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
new file mode 100644
index 0000000000..30a58923c3
--- /dev/null
+++ b/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch
@@ -0,0 +1,78 @@
1From e5acd475f796420b4887969f2b0057dbf67979b3 Mon Sep 17 00:00:00 2001
2From: Markus Volk <f_l_k@t-online.de>
3Date: Mon, 18 Sep 2023 02:47:55 +0200
4Subject: [PATCH] tracker: fix reproducibility issue
5
6Tracker's design seems to be strictly for non-cross builds and leaks buildpaths into the
7binaries at various places. Avoid this to improve binary reproducibility.
8
9todo: Some of these paths may need to be adjusted to make the test environment work
10
11Signed-off-by: Markus Volk <f_l_k@t-online.de>
12---
13 meson.build | 6 +++---
14 src/libtracker-common/meson.build | 4 ++--
15 src/libtracker-sparql/meson.build | 4 ++--
16 3 files changed, 7 insertions(+), 7 deletions(-)
17
18diff --git a/meson.build b/meson.build
19index 8442a216f..82844d7fd 100644
20--- a/meson.build
21+++ b/meson.build
22@@ -348,7 +348,7 @@ have_rtld_noload = cc.has_header_symbol('dlfcn.h', 'RTLD_NOLOAD')
23 conf.set('HAVE_RTLD_NOLOAD', have_rtld_noload)
24
25 # Config that goes in some other generated files (.desktop, .service, etc)
26-conf.set('abs_top_builddir', meson.current_build_dir())
27+conf.set('abs_top_builddir', '/usr/src/debug/tracker')
28 conf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
29
30 configure_file(input: 'config.h.meson.in',
31@@ -388,8 +388,8 @@ subdir('docs')
32 subdir('utils')
33
34 test_c_args = tracker_c_args + [
35- '-DTOP_BUILDDIR="@0@"'.format(build_root),
36- '-DTOP_SRCDIR="@0@"'.format(source_root),
37+ '-DTOP_BUILDDIR="@0@/"'.format('/usr/src/debug/tracker'),
38+ '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'),
39 ]
40
41 tracker_uninstalled_cli_dir = join_paths(meson.current_build_dir(), 'src', 'tracker')
42diff --git a/src/libtracker-common/meson.build b/src/libtracker-common/meson.build
43index 9355d1c0d..cdbc05f28 100644
44--- a/src/libtracker-common/meson.build
45+++ b/src/libtracker-common/meson.build
46@@ -51,10 +51,10 @@ libtracker_common = static_library('tracker-common',
47 dependencies: [tracker_common_dependencies, gmodule],
48 c_args: [
49 '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
50- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()),
51+ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'),
52 # Global build root is required to detect noinst situations (tests/introspection),
53 # event when built as a subproject
54- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
55+ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'),
56 ] + tracker_c_args,
57 include_directories: [configinc, srcinc],
58 gnu_symbol_visibility: 'hidden',
59diff --git a/src/libtracker-sparql/meson.build b/src/libtracker-sparql/meson.build
60index 36288f5c3..61086a697 100644
61--- a/src/libtracker-sparql/meson.build
62+++ b/src/libtracker-sparql/meson.build
63@@ -96,10 +96,10 @@ libtracker_sparql_private = static_library('tracker-sparql-private',
64 c_args: [
65 '-include', 'libtracker-sparql/tracker-private.h',
66 '-DPRIVATE_LIBDIR="@0@"'.format(tracker_internal_libs_dir),
67- '-DBUILD_LIBDIR="@0@"'.format(meson.current_build_dir()),
68+ '-DBUILD_LIBDIR="@0@"'.format('/usr/src/debug/tracker'),
69 # Global build root is required to detect noinst situations (tests/introspection),
70 # event when built as a subproject
71- '-DBUILDROOT="@0@"'.format(meson.global_build_root()),
72+ '-DBUILDROOT="@0@"'.format('/usr/src/debug/tracker'),
73 ] + tracker_c_args,
74
75 dependencies: [libtracker_sparql_dependencies, gvdb_dep],
76--
772.41.0
78
diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb b/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
index 6dd8af2390..d2eb392a0f 100644
--- a/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb
+++ b/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb
@@ -20,14 +20,10 @@ DEPENDS = " \
20 20
21GNOMEBASEBUILDCLASS = "meson" 21GNOMEBASEBUILDCLASS = "meson"
22 22
23inherit gnomebase gsettings gobject-introspection vala gtk-doc manpages bash-completion features_check python3native 23inherit gettext gnomebase gsettings gobject-introspection vala gtk-doc bash-completion python3native
24 24
25SRC_URI += "file://0001-meson-Do-not-define-TOP_SRCDIR.patch" 25SRC_URI += "file://0001-fix-reproducibility.patch"
26SRC_URI[archive.sha256sum] = "f972d50ac7bafdccf113b1eb99dcae35404685a99e55bfef16f3ac83b4de974d" 26SRC_URI[archive.sha256sum] = "52592cfe19baffd16dbe47475be7da750dbd0b6333fd7acb60faa9da5bc40df2"
27
28# gobject-introspection is mandatory and cannot be configured
29REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
30GIR_MESON_OPTION = ""
31 27
32# text search is not an option anymore and requires sqlite3 build with 28# text search is not an option anymore and requires sqlite3 build with
33# PACKAGECONFIG[fts5] set (default) 29# PACKAGECONFIG[fts5] set (default)
@@ -45,8 +41,17 @@ EXTRA_OEMESON = " \
45 -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \ 41 -Dsystemd_user_services=${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)} \
46 -Dsystemd_user_services_dir=${systemd_user_unitdir} \ 42 -Dsystemd_user_services_dir=${systemd_user_unitdir} \
47 -Dsoup=soup3 \ 43 -Dsoup=soup3 \
44 ${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-Dvapi=enabled', '-Dvapi=disabled', d)} \
48" 45"
49 46
47do_install:prepend() {
48 sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/tracker-sparql-enum-types.c
49 sed -i -e 's|${B}/../${PN}-${PV}|/usr/src/debug/${PN}/${PV}-${PR}|g' ${B}/src/libtracker-sparql/core/tracker-data-enum-types.c
50}
51
52GIR_MESON_ENABLE_FLAG = 'enabled'
53GIR_MESON_DISABLE_FLAG = 'disabled'
54
50FILES:${PN} += " \ 55FILES:${PN} += " \
51 ${datadir}/dbus-1 \ 56 ${datadir}/dbus-1 \
52 ${datadir}/tracker3 \ 57 ${datadir}/tracker3 \