## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 6; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global forgeurl https://android.googlesource.com/platform/external/perfetto %global common_description %{expand: Perfetto is a production-grade open-source stack for performance instrumentation and trace analysis. It offers services and libraries and for recording system-level and app-level traces, native plus Java heap profiling, a library for analyzing traces using SQL and a web-based UI to visualize and explore multi-GB traces.} Name: perfetto Version: 49.0 Release: %autorelease Summary: System profiling, app tracing and trace analysis License: Apache-2.0 URL: https://perfetto.dev/ Source0: %{forgeurl}/+archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz Source1: perfetto.tmpfiles Source2: perfetto.sysusers BuildRequires: binutils-gold BuildRequires: chrpath BuildRequires: gcc-c++ BuildRequires: gn BuildRequires: ninja-build BuildRequires: pandoc BuildRequires: protobuf-compiler < 4 BuildRequires: systemd-rpm-macros BuildRequires: protobuf-devel < 4 BuildRequires: zlib-devel Requires: %{name}-libs%{?_isa} = %{version}-%{release} # Upstream only supports these architectures ExclusiveArch: aarch64 x86_64 %description %{common_description} %package libs Summary: Libraries for %{name} %description libs %{common_description} This package contains shared libraries for %{name}. %package sdk Summary: Perfetto Tracing SDK Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description sdk %{common_description} This package contains the Perfetto Tracing SDK, a C++17 library that allows userspace applications to emit trace events and add more app-specific context to a Perfetto trace. %prep %autosetup -c -p1 %build gn gen build --args="\ is_debug=false \ use_custom_libcxx=false \ is_hermetic_clang=false \ is_system_compiler=true \ is_clang=false \ skip_buildtools_check=true \ enable_perfetto_integration_tests=false \ enable_perfetto_unittests=false \ perfetto_use_system_protobuf=true \ perfetto_use_system_zlib=true \ perfetto_enable_git_rev_version_header=false \ extra_cflags=\"${CFLAGS}\" \ extra_cxxflags=\"${CXXFLAGS} -Wno-error=array-bounds\" \ extra_ldflags=\"${LDFLAGS}\" \ cc=\"${CC}\" \ cxx=\"${CXX}\" \ " %ninja_build -C build perfetto traced traced_probes pandoc docs/reference/perfetto-cli.md -s -t man --shift-heading-level-by=-1 \ > perfetto.1 # Fix bogus rpath chrpath -d build/{perfetto,traced,traced_probes} %install install -Dpm0755 -t %{buildroot}%{_libdir} build/libperfetto.so install -Dpm0755 -t %{buildroot}%{_sbindir} build/traced build/traced_probes install -Dpm0755 -t %{buildroot}%{_bindir} build/perfetto install -Dpm0644 -t %{buildroot}%{_unitdir} debian/{traced,traced-probes}.service install -Dpm0664 -t %{buildroot}%{_mandir}/man1 perfetto.1 install -Ddpm0755 %{buildroot}/run/perfetto install -Dpm0644 %SOURCE1 %{buildroot}%{_tmpfilesdir}/perfetto.conf install -Dpm0644 %SOURCE2 %{buildroot}%{_sysusersdir}/perfetto.conf install -Dpm0644 -t %{buildroot}%{_datadir}/%{name}/configs test/configs/*.cfg install -Dpm0644 -t %{buildroot}%{_datadir}/%{name}/sdk sdk/perfetto.{h,cc} %post %systemd_post traced.service traced-probes.service %preun %systemd_preun traced.service traced-probes.service %postun %systemd_postun_with_restart traced.service traced-probes.service %files %doc CHANGELOG README.md %attr(0755,traced,traced) %dir /run/%{name} %{_bindir}/perfetto %{_datadir}/%{name}/configs/ %{_mandir}/man1/perfetto.1* %{_sbindir}/traced %{_sbindir}/traced_probes %{_sysusersdir}/perfetto.conf %{_tmpfilesdir}/perfetto.conf %{_unitdir}/traced.service %{_unitdir}/traced-probes.service %files libs %license LICENSE %{_libdir}/libperfetto.so %dir %{_datadir}/%{name} %files sdk %{_datadir}/%{name}/sdk/ %changelog ## START: Generated by rpmautospec * Tue May 19 2026 Miroslav Suchý - 49.0-6 - Use protobuf in version 3.x only * Tue Feb 17 2026 Davide Cavalca - 49.0-5 - Fix FTBFS with GCC 16; Fixes: RHBZ#2434907 * Fri Jan 16 2026 Fedora Release Engineering - 49.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild * Fri Jul 25 2025 Fedora Release Engineering - 49.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek - 49.0-2 - Drop call to %%sysusers_create_compat * Sat Jan 18 2025 Jonathan Steffan - 49.0-1 - Update to 49.0 (fedora#2335926). * Fri Jan 17 2025 Fedora Release Engineering - 48.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Sun Jan 05 2025 Jonathan Steffan - 48.1-1 - Update to 48.1 (fedora#2318602). * Sat Oct 12 2024 Davide Cavalca - 48.0-1 - Update to 48.0 * Sat Oct 12 2024 Davide Cavalca - 47.0-1 - Initial import; Fixes: RHBZ#2255751 ## END: Generated by rpmautospec