From patchwork Sun Sep 17 14:15:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Volk X-Patchwork-Id: 30597 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id E157ACD37B4 for ; Sun, 17 Sep 2023 14:15:41 +0000 (UTC) Received: from mailout06.t-online.de (mailout06.t-online.de [194.25.134.19]) by mx.groups.io with SMTP id smtpd.web10.30328.1694960133526858126 for ; Sun, 17 Sep 2023 07:15:34 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=none, err=SPF record not found (domain: t-online.de, ip: 194.25.134.19, mailfrom: f_l_k@t-online.de) Received: from fwd72.aul.t-online.de (fwd72.aul.t-online.de [10.223.144.98]) by mailout06.t-online.de (Postfix) with SMTP id 38AA415381 for ; Sun, 17 Sep 2023 16:15:30 +0200 (CEST) Received: from intel-corei7-64.fritz.box ([79.219.232.208]) by fwd72.t-online.de with (TLSv1.3:TLS_AES_256_GCM_SHA384 encrypted) esmtp id 1qhsYa-1ICELJ0; Sun, 17 Sep 2023 16:15:28 +0200 From: Markus Volk To: openembedded-devel@lists.openembedded.org Subject: [meta-gnome][PATCH 1/2] tracker: upgrade 3.5.1 -> 3.6.0 Date: Sun, 17 Sep 2023 16:15:05 +0200 Message-ID: <20230917141520.3166264-1-f_l_k@t-online.de> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-TOI-EXPURGATEID: 150726::1694960128-72FFA980-E0CBA5AC/0/0 CLEAN NORMAL X-TOI-MSGID: 02455f08-7054-44ba-b4f5-ba5b28da7cd9 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Sun, 17 Sep 2023 14:15:41 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/104910 - fix various reproducibility issues - fix gobject-introspection build - build vapi dependent on GI_DATA_ENABLED Signed-off-by: Markus Volk --- .../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%) 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 000000000..75065ed77 --- /dev/null +++ b/meta-gnome/recipes-gnome/tracker/tracker/0001-fix-reproducibility.patch @@ -0,0 +1,84 @@ +From 52e6a20252e7a1df9b451db7690f0a50da9f0ca2 Mon Sep 17 00:00:00 2001 +From: Markus Volk +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 +--- + 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 + diff --git a/meta-gnome/recipes-gnome/tracker/tracker/0001-meson-Do-not-define-TOP_SRCDIR.patch b/meta-gnome/recipes-gnome/tracker/tracker/0001-meson-Do-not-define-TOP_SRCDIR.patch deleted file mode 100644 index 5c6ab71a9..000000000 --- a/meta-gnome/recipes-gnome/tracker/tracker/0001-meson-Do-not-define-TOP_SRCDIR.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 3e262192ffebf5d6fec92d5b7ba08348a94df1ae Mon Sep 17 00:00:00 2001 -From: Khem Raj -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 ---- - 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') diff --git a/meta-gnome/recipes-gnome/tracker/tracker_3.5.1.bb b/meta-gnome/recipes-gnome/tracker/tracker_3.6.0.bb 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 index 6dd8af239..d2eb392a0 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 = " \ 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 \