From 464522a67a685f85e6a6424f53cd81fbabdd80ca Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 6 Aug 2026 04:27:51 +0000 Subject: [PATCH] perfetto/libperfetto: upgrade 51.2 -> 57.2 Release Notes: https://github.com/google/perfetto/releases/tag/v57.2 perfetto 57.2 added a new build-time dependency on RE2 (via enable_perfetto_re2, unconditionally true for standalone builds) for trace processor regex support, so a matching buildtools/re2 git fetch/SRCREV was added to perfetto.bb, mirroring the existing buildtools/* pattern from tools/install-build-deps. abseil-cpp is now fetched the same way for the same reason. Upstream also dropped the amalgamated sdk/perfetto.{h,cc} from the git release branches (now shipped only as a GitHub release .zip asset), so libperfetto.bb now fetches perfetto-cpp-sdk-src.zip and unpacks it into sdk/, which the meson build requires. Build-verified for qemux86-64: both perfetto and libperfetto build through do_package_qa cleanly. AI-Generated: Uses Claude Code Signed-off-by: Khem Raj --- .../recipes-devtools/perfetto/libperfetto.bb | 10 +++++++-- ...1-meson-add-pc-file-for-lib_perfetto.patch | 2 +- meta-oe/recipes-devtools/perfetto/perfetto.bb | 15 +++++++------ .../recipes-devtools/perfetto/perfetto.inc | 4 ++-- ...-Remove-check_build_deps-build-steps.patch | 21 ++++++++----------- 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto.bb b/meta-oe/recipes-devtools/perfetto/libperfetto.bb index 368d333145..0693c18166 100644 --- a/meta-oe/recipes-devtools/perfetto/libperfetto.bb +++ b/meta-oe/recipes-devtools/perfetto/libperfetto.bb @@ -1,11 +1,17 @@ LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c0c9924c5c63b4834b8b1959816c8e3b" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b06e43f2e368eb8663632d529232353" require perfetto.inc inherit meson -SRC_URI:append = " file://0001-meson-add-pc-file-for-lib_perfetto.patch" +# The amalgamated C++ SDK (sdk/perfetto.{h,cc}) is no longer part of the git +# release branches as of v52 - it now ships only as a GitHub release asset. +SRC_URI:append = " \ + file://0001-meson-add-pc-file-for-lib_perfetto.patch \ + https://github.com/google/perfetto/releases/download/v${PV}/perfetto-cpp-sdk-src.zip;subdir=${BP}/sdk;name=sdk \ + " +SRC_URI[sdk.sha256sum] = "c6fa3d89aee30f7da39402c9cd178c9f2e344544fda5c2109fd8457e319c3a2f" LDFLAGS += "-Wl,--as-needed -latomic -Wl,--no-as-needed" diff --git a/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch index 9cfe636152..2c74228759 100644 --- a/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch +++ b/meta-oe/recipes-devtools/perfetto/libperfetto/0001-meson-add-pc-file-for-lib_perfetto.patch @@ -18,7 +18,7 @@ index 8fb1e26275..3ef3ebf27d 100644 project( 'perfetto', ['cpp'], -+ version: '51.2' ++ version: '57.2' ) +soversion = meson.project_version() diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.bb b/meta-oe/recipes-devtools/perfetto/perfetto.bb index 0c5a3959d5..9dc6b6035d 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto.bb +++ b/meta-oe/recipes-devtools/perfetto/perfetto.bb @@ -1,17 +1,17 @@ LICENSE = "Apache-2.0 AND BSD-3-Clause AND MIT AND Zlib" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c0c9924c5c63b4834b8b1959816c8e3b \ +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b06e43f2e368eb8663632d529232353 \ file://buildtools/libcxx/LICENSE.TXT;md5=55d89dd7eec8d3b4204b680e27da3953 \ file://buildtools/libcxxabi/LICENSE.TXT;md5=7b9334635b542c56868400a46b272b1e \ file://buildtools/libunwind/LICENSE.TXT;md5=f66970035d12f196030658b11725e1a1 \ file://buildtools/protobuf/LICENSE;md5=37b5762e07f0af8c74ce80a8bda4266b \ file://buildtools/zlib/LICENSE;md5=8c75f2b4df47a77f9445315a9500cd1c \ - file://debian/copyright;md5=55b18749ff89714316c007d06f305c4a \ file://python/LICENSE;md5=c602a632c34ade9c78a976734077bce7" # Dependencies from perfetto/tools/install-build-deps SRC_URI:append = " \ git://github.com/protocolbuffers/protobuf.git;branch=main;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/protobuf;name=protobuf \ + git://github.com/abseil/abseil-cpp.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/abseil-cpp;name=abseil \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxx;branch=main;name=libcxx \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libcxxabi;branch=main;name=libcxxabi \ git://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/libunwind;branch=main;name=libunwind \ @@ -24,6 +24,7 @@ SRC_URI:append = " \ git://chromium.googlesource.com/chromium/src/third_party/zlib.git;nobranch=1;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zlib;name=zlib \ git://android.googlesource.com/platform/external/lzma.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/lzma;name=lzma \ git://android.googlesource.com/platform/external/zstd.git;branch=master;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/zstd;name=zstd \ + git://chromium.googlesource.com/external/github.com/google/re2.git;nobranch=1;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/buildtools/re2;name=re2 \ \ file://0001-Remove-check_build_deps-build-steps.patch \ " @@ -32,17 +33,19 @@ SRCREV_bionic = "a0d0355105cb9d4a4b5384897448676133d7b8e2" SRCREV_core = "9e6cef7f07d8c11b3ea820938aeb7ff2e9dbaa52" SRCREV_lzma = "7851dce6f4ca17f5caa1c93a4e0a45686b1d56c3" SRCREV_libprocinfo = "fd214c13ededecae97a3b15b5fccc8925a749a84" -SRCREV_logging = "7b36b566c9113fc703d68f76e8f40c0c2432481c" +SRCREV_logging = "da4d6df49d1d6c971be508dcde18e8b00bb74581" SRCREV_unwinding = "4b59ea8471e89d01300481a92de3230b79b6d7c7" -SRCREV_protobuf = "f0dc78d7e6e331b8c6bb2d5283e06aa26883ca7c" -SRCREV_libbase = "78f1c2f83e625bdf66d55b48bdb3a301c20d2fb3" +SRCREV_protobuf = "74211c0dfc2777318ab53c2cd2c317a2ef9012de" +SRCREV_abseil = "76bb24329e8bf5f39704eb10d21b9a80befa7c81" +SRCREV_libbase = "18c2bd4f3607cb300bb96e543df91dfdda6a9655" SRCREV_libcxx = "852bc6746f45add53fec19f3a29280e69e358d44" SRCREV_libcxxabi = "a37a3aa431f132b02a58656f13984d51098330a2" SRCREV_libunwind = "419b03c0b8f20d6da9ddcb0d661a94a97cdd7dad" SRCREV_zlib = "6f9b4e61924021237d474569027cfb8ac7933ee6" SRCREV_zstd = "77211fcc5e08c781734a386402ada93d0d18d093" +SRCREV_re2 = "927f5d53caf8111721e734cf24724686bb745f55" -SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_libbase_libcxx_libcxxabi_libunwind_zlib_zstd" +SRCREV_FORMAT .= "_bionic_core_lzma_libprocinfo_logging_unwinding_protobuf_abseil_libbase_libcxx_libcxxabi_libunwind_zlib_zstd_re2" require perfetto.inc diff --git a/meta-oe/recipes-devtools/perfetto/perfetto.inc b/meta-oe/recipes-devtools/perfetto/perfetto.inc index 5b4a942526..188472b27d 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto.inc +++ b/meta-oe/recipes-devtools/perfetto/perfetto.inc @@ -5,6 +5,6 @@ HOMEPAGE = "https://github.com/google/perfetto" SRC_URI = "git://github.com/google/perfetto.git;protocol=https;name=perfetto;nobranch=1 \ " -SRCREV_perfetto = "7a9a6a0587348bffd1796b66a1da33cc1ea421d8" +SRCREV_perfetto = "da1d152cff27890903d158fe96751de3aab883cc" SRCREV_FORMAT = "perfetto" -PV = "51.2" +PV = "57.2" diff --git a/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch index 3a046f3d2a..67720ea227 100644 --- a/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch +++ b/meta-oe/recipes-devtools/perfetto/perfetto/0001-Remove-check_build_deps-build-steps.patch @@ -15,16 +15,11 @@ Signed-off-by: Etienne Cordonnier --- Upstream-Status: Pending - gn/BUILD.gn | 1 - - gn/standalone/BUILD.gn | 20 ++++++++++---------- - gn/standalone/BUILDCONFIG.gn | 5 +++-- - 3 files changed, 13 insertions(+), 13 deletions(-) - diff --git a/gn/BUILD.gn b/gn/BUILD.gn -index 9ce3145cac..67656b6648 100644 +index 6f2ad9fd..05e4030b 100644 --- a/gn/BUILD.gn +++ b/gn/BUILD.gn -@@ -127,7 +127,6 @@ group("default_deps") { +@@ -137,7 +137,6 @@ group("default_deps") { deps = [ ":gen_buildflags" ] if (perfetto_build_standalone) { public_deps = [ @@ -33,10 +28,10 @@ index 9ce3145cac..67656b6648 100644 "//gn/standalone/sanitizers:deps", ] diff --git a/gn/standalone/BUILD.gn b/gn/standalone/BUILD.gn -index 2d0a4b2916..740266a964 100644 +index 7ecaae60..3edb470b 100644 --- a/gn/standalone/BUILD.gn +++ b/gn/standalone/BUILD.gn -@@ -514,13 +514,13 @@ config("android_liblog") { +@@ -541,16 +541,16 @@ config("android_liblog") { } # Checks that tools/install-build-deps has been run since it last changed. @@ -60,11 +55,14 @@ index 2d0a4b2916..740266a964 100644 +# "--android", +# ] +#} + + # TODO(https://github.com/google/perfetto/issues/5353): Remove this after + # updating emscripten. diff --git a/gn/standalone/BUILDCONFIG.gn b/gn/standalone/BUILDCONFIG.gn -index 8e2be2ae1b..0faff46e50 100644 +index 2e27f2f1..7037d35e 100644 --- a/gn/standalone/BUILDCONFIG.gn +++ b/gn/standalone/BUILDCONFIG.gn -@@ -62,8 +62,9 @@ declare_args() { +@@ -64,8 +64,9 @@ declare_args() { # the ossfuzz sanitizer overrides this to true. In that config the # host/target cpu and arch are identical, but we want to build only the # targets with the sanitizer/fuzzer flags @@ -78,4 +76,3 @@ index 8e2be2ae1b..0faff46e50 100644 "//gn/standalone:default", -- 2.43.0 -