diff options
| -rw-r--r-- | meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch | 108 | ||||
| -rw-r--r-- | meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch | 37 | ||||
| -rw-r--r-- | meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb (renamed from meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb) | 10 |
3 files changed, 114 insertions, 41 deletions
diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch new file mode 100644 index 0000000000..dd55256166 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-fix-reproducibility.patch | |||
| @@ -0,0 +1,108 @@ | |||
| 1 | From 2bbd07843e8ec34311cafab35f21b40c86e0dd7f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Markus Volk <f_l_k@t-online.de> | ||
| 3 | Date: Tue, 12 Sep 2023 17:00:41 +0200 | ||
| 4 | Subject: [PATCH] meson: fix reproducibility | ||
| 5 | |||
| 6 | Tracker's design seems to be strictly for non-cross builds and leaks buildpaths into the | ||
| 7 | binaries at various places. Avoid this to improve binary reproducibility. | ||
| 8 | |||
| 9 | todo: Some of these paths may need to be adjusted to make the test environment work | ||
| 10 | |||
| 11 | Upstream-Status: Inappropriate [oe-specific] | ||
| 12 | |||
| 13 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 14 | --- | ||
| 15 | meson.build | 20 ++++++++++---------- | ||
| 16 | src/tracker-extract/meson.build | 2 +- | ||
| 17 | tests/tracker-miner-fs/meson.build | 2 +- | ||
| 18 | 3 files changed, 12 insertions(+), 12 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/meson.build b/meson.build | ||
| 21 | index 935584185..aa6126081 100644 | ||
| 22 | --- a/meson.build | ||
| 23 | +++ b/meson.build | ||
| 24 | @@ -380,7 +380,7 @@ conf.set('PACKAGE_VERSION', '"@0@"'.format(meson.project_version())) | ||
| 25 | conf.set('TRACKER_VERSION', '"@0@"'.format(meson.project_version())) | ||
| 26 | |||
| 27 | # Config that goes in some other generated files (.desktop, .pc, etc) | ||
| 28 | -conf.set('abs_top_builddir', meson.current_build_dir()) | ||
| 29 | +conf.set('abs_top_builddir', '') | ||
| 30 | conf.set('exec_prefix', get_option('prefix')) | ||
| 31 | conf.set('bindir', join_paths(get_option('prefix'), get_option('bindir'))) | ||
| 32 | conf.set('datadir', datadir) | ||
| 33 | @@ -409,7 +409,7 @@ tracker_c_args = [ | ||
| 34 | configinc = include_directories('./') | ||
| 35 | srcinc = include_directories('src/') | ||
| 36 | |||
| 37 | -build_root = meson.current_build_dir() | ||
| 38 | +build_root = '' | ||
| 39 | |||
| 40 | # We use tracker-miners-3.0 rather than tracker3-miners inside the lib64 | ||
| 41 | # directory, following the existing convention in that directory. | ||
| 42 | @@ -421,10 +421,10 @@ tracker_writeback_modules_dir = join_paths(get_option('prefix'), get_option('lib | ||
| 43 | tracker_extract_rules_dir = join_paths(get_option('prefix'), get_option('datadir'), tracker_versioned_name, 'extract-rules') | ||
| 44 | tracker_miner_services_dir = join_paths(get_option('prefix'), get_option('datadir'), tracker_versioned_name, 'miners') | ||
| 45 | |||
| 46 | -tracker_uninstalled_cli_subcommands_dir = meson.current_build_dir() / 'src' / 'tracker' / 'subcommands' | ||
| 47 | -tracker_uninstalled_extract_rules_dir = join_paths(meson.current_build_dir(), 'src', 'tracker-extract', 'uninstalled-rules') | ||
| 48 | -tracker_uninstalled_writeback_modules_dir = join_paths(meson.current_build_dir(), 'src', 'tracker-writeback') | ||
| 49 | -uninstalled_tracker_extract_path = join_paths(meson.current_build_dir(), 'src', 'tracker-extract', 'tracker-extract-3') | ||
| 50 | +tracker_uninstalled_cli_subcommands_dir = '/usr/src/debug/tracker/src/tracker/subcommands' | ||
| 51 | +tracker_uninstalled_extract_rules_dir = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-extract', 'uninstalled-rules') | ||
| 52 | +tracker_uninstalled_writeback_modules_dir = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-writeback') | ||
| 53 | +uninstalled_tracker_extract_path = join_paths('usr', 'src', 'debug', 'tracker', 'src', 'tracker-extract', 'tracker-extract-3') | ||
| 54 | |||
| 55 | gsettings_schema_dir = join_paths(get_option('prefix'), get_option('datadir'), 'glib-2.0', 'schemas') | ||
| 56 | po_dir = join_paths(meson.current_source_dir(), 'po') | ||
| 57 | @@ -438,8 +438,8 @@ subdir('data') | ||
| 58 | subdir('docs') | ||
| 59 | |||
| 60 | test_c_args = tracker_c_args + [ | ||
| 61 | - '-DTOP_BUILDDIR="@0@/"'.format(meson.build_root()), | ||
| 62 | - '-DTOP_SRCDIR="@0@/"'.format(meson.source_root()), | ||
| 63 | + '-DTOP_BUILDDIR="@0@/"'.format(''), | ||
| 64 | + '-DTOP_SRCDIR="@0@/"'.format('/usr/src/debug/tracker'), | ||
| 65 | ] | ||
| 66 | |||
| 67 | if get_option('tests_tap_protocol') | ||
| 68 | @@ -454,9 +454,9 @@ run_uninstalled_conf = configuration_data() | ||
| 69 | run_uninstalled_conf.set('tracker_sparql_uninstalled_dir', tracker_sparql_uninstalled_dir) | ||
| 70 | run_uninstalled_conf.set('tracker_uninstalled_cli_dir', tracker_uninstalled_cli_dir) | ||
| 71 | run_uninstalled_conf.set('tracker_uninstalled_cli_subcommands_dir', tracker_uninstalled_cli_subcommands_dir) | ||
| 72 | -run_uninstalled_conf.set('tracker_uninstalled_domain_rule', meson.current_build_dir() / 'tests' / 'functional-tests' / 'config' / 'test-domain.rule') | ||
| 73 | +run_uninstalled_conf.set('tracker_uninstalled_domain_rule', '/usr/src/debug/tracker/tests/functional-tests/config/test-domain.rule') | ||
| 74 | run_uninstalled_conf.set('tracker_uninstalled_extract_rules_dir', tracker_uninstalled_extract_rules_dir) | ||
| 75 | -run_uninstalled_conf.set('tracker_uninstalled_extractors_dir', meson.current_build_dir() / 'src' / 'tracker-extract') | ||
| 76 | +run_uninstalled_conf.set('tracker_uninstalled_extractors_dir', '/usr/src/debug/tracker/src/tracker-extract') | ||
| 77 | run_uninstalled_conf.set('tracker_uninstalled_miner_services_dir', tracker_uninstalled_miner_services_dir) | ||
| 78 | run_uninstalled_conf.set('tracker_uninstalled_testutils_dir', tracker_uninstalled_testutils_dir) | ||
| 79 | run_uninstalled_conf.set('tracker_uninstalled_writeback_modules_dir', tracker_uninstalled_writeback_modules_dir) | ||
| 80 | diff --git a/src/tracker-extract/meson.build b/src/tracker-extract/meson.build | ||
| 81 | index 4aaad5c41..d17cce221 100644 | ||
| 82 | --- a/src/tracker-extract/meson.build | ||
| 83 | +++ b/src/tracker-extract/meson.build | ||
| 84 | @@ -159,7 +159,7 @@ endif | ||
| 85 | executable('tracker-extract-@0@'.format(tracker_api_major), | ||
| 86 | tracker_extract_sources, | ||
| 87 | # Manually add the root dir to work around https://github.com/mesonbuild/meson/issues/1387 | ||
| 88 | - c_args: tracker_c_args + ['-I' + meson.build_root()], | ||
| 89 | + c_args: tracker_c_args, | ||
| 90 | export_dynamic: true, | ||
| 91 | dependencies: tracker_extract_dependencies, | ||
| 92 | install: true, | ||
| 93 | diff --git a/tests/tracker-miner-fs/meson.build b/tests/tracker-miner-fs/meson.build | ||
| 94 | index e131b85ad..59e509fa6 100644 | ||
| 95 | --- a/tests/tracker-miner-fs/meson.build | ||
| 96 | +++ b/tests/tracker-miner-fs/meson.build | ||
| 97 | @@ -19,7 +19,7 @@ libtracker_miner_test_c_args = [ | ||
| 98 | ] | ||
| 99 | |||
| 100 | libtracker_miner_test_environment = environment() | ||
| 101 | -libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', join_paths(meson.build_root(), 'data')) | ||
| 102 | +libtracker_miner_test_environment.set('GSETTINGS_SCHEMA_DIR', '/usr/src/debug/tracker-miners/data') | ||
| 103 | |||
| 104 | libtracker_miner_test_deps = [tracker_miners_common_dep, tracker_miner_dep, tracker_sparql] | ||
| 105 | |||
| 106 | -- | ||
| 107 | 2.41.0 | ||
| 108 | |||
diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch b/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-gnome/recipes-gnome/tracker/tracker-miners/0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | From 54ea2cabf85ad1bd5695cdbd1935115c9495e80c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> | ||
| 3 | Date: Sun, 1 Dec 2019 17:06:59 +0100 | ||
| 4 | Subject: [PATCH] meson.build: Just warn if we build without libseccomp | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | libseccomp lives in meta-security currently and we cannot make it a mandatory | ||
| 10 | dependency. Once somebody moves libseccomp to meta-oe and adjusts all the | ||
| 11 | target specific knobs this patch can go. For discussion see [1]. | ||
| 12 | |||
| 13 | [1] http://lists.openembedded.org/pipermail/openembedded-devel/2019-November/203234.html | ||
| 14 | |||
| 15 | Upstream-Status: Inappropriate [embedded specific] | ||
| 16 | |||
| 17 | Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> | ||
| 18 | --- | ||
| 19 | meson.build | 2 +- | ||
| 20 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/meson.build b/meson.build | ||
| 23 | index 71a9df4..1eaa1a0 100644 | ||
| 24 | --- a/meson.build | ||
| 25 | +++ b/meson.build | ||
| 26 | @@ 299,7 +299,7 @@ cpu_supports_seccomp = not unsupported_cpus.contains(host_cpu) | ||
| 27 | seccomp_required = system_supports_seccomp and cpu_supports_seccomp and get_option('seccomp') and get_option('extract') | ||
| 28 | |||
| 29 | if not libseccomp.found() and seccomp_required | ||
| 30 | - error('Libseccomp is mandatory for sandboxed metadata extraction') | ||
| 31 | + warning('Building without Libseccomp might cause security issues!') | ||
| 32 | endif | ||
| 33 | |||
| 34 | #################################################################### | ||
| 35 | -- | ||
| 36 | 2.21.0 | ||
| 37 | |||
diff --git a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb index d093697c13..d899155028 100644 --- a/meta-gnome/recipes-gnome/tracker/tracker-miners_3.5.0.bb +++ b/meta-gnome/recipes-gnome/tracker/tracker-miners_3.6.0.bb | |||
| @@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = " \ | |||
| 7 | 7 | ||
| 8 | DEPENDS = " \ | 8 | DEPENDS = " \ |
| 9 | intltool-native \ | 9 | intltool-native \ |
| 10 | libseccomp \ | ||
| 10 | tracker \ | 11 | tracker \ |
| 11 | zlib \ | 12 | zlib \ |
| 12 | " | 13 | " |
| @@ -15,10 +16,11 @@ GNOMEBASEBUILDCLASS = "meson" | |||
| 15 | 16 | ||
| 16 | inherit gnomebase gsettings gobject-introspection vala bash-completion features_check | 17 | inherit gnomebase gsettings gobject-introspection vala bash-completion features_check |
| 17 | 18 | ||
| 18 | SRC_URI += "file://0001-meson.build-Just-warn-if-we-build-without-libseccomp.patch \ | 19 | SRC_URI:append = " \ |
| 19 | file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ | 20 | file://0001-fix-reproducibility.patch \ |
| 20 | " | 21 | file://0001-Set-header-file-to-a-fixed-path-instead-of-a-host-pa.patch \ |
| 21 | SRC_URI[archive.sha256sum] = "17966603dc432a98526b490586a48acd7f9f59935f7895dfc51729a46a6901a3" | 22 | " |
| 23 | SRC_URI[archive.sha256sum] = "c2ed9f6b0410195863b84c7b5467c5bc1255e96d658741192b5e92568a3bebd0" | ||
| 22 | 24 | ||
| 23 | # gobject-introspection is mandatory and cannot be configured | 25 | # gobject-introspection is mandatory and cannot be configured |
| 24 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" | 26 | REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" |
