Bug 2255751

Summary: Review Request: perfetto - System profiling, app tracing and trace analysis
Product: [Fedora] Fedora Reporter: Davide Cavalca <davide>
Component: Package ReviewAssignee: Neal Gompa <ngompa13>
Status: ASSIGNED --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ngompa13, package-review
Target Milestone: ---Flags: ngompa13: fedora-review?
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://perfetto.dev/
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2255875    
Attachments:
Description Flags
The .spec file difference from Copr build 6812701 to 6815981 none

Description Davide Cavalca 2023-12-24 15:47:14 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/perfetto/perfetto.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/perfetto/perfetto-40.0-1.fc40.src.rpm

Description:
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.

Fedora Account System Username: dcavalca

Comment 1 Davide Cavalca 2023-12-24 15:47:16 UTC
This package built on koji:  https://koji.fedoraproject.org/koji/taskinfo?taskID=110787234

Comment 2 Davide Cavalca 2023-12-24 15:51:08 UTC
Perfetto is a complicated beast and this is the minimum viable packaging I could put together. Notable issues:

- ExclusiveArch is because the "bespoke" build system this thing uses only works on arches that Android supports (despite not actually targeting Android when doing a Linux build)
- libperfetto.so is unversioned; I couldn't find a sane way to fix the soname (or even where it's configured in the first place)
- traced_perf doesn't build and is disabled
- unittests require a bundled copy of googletests that isn't actually bundled and fail to build, so they're disabled; integration tests require debugfs and perform active tracing, so they're not appropriate for a distro package
- the UI isn't packaged, but one can just use https://ui.perfetto.dev
- docs, examples, tools and Python bindings are not packaged

Comment 3 Neal Gompa 2023-12-24 15:53:51 UTC
Taking this review.

Comment 4 Fedora Review Service 2023-12-24 17:01:13 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6812701
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2255751-perfetto/fedora-rawhide-x86_64/06812701-perfetto/fedora-review/review.txt

Found issues:

- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 5 Davide Cavalca 2023-12-25 18:35:49 UTC
Spec URL: https://dcavalca.fedorapeople.org/review/perfetto/perfetto.spec
SRPM URL: https://dcavalca.fedorapeople.org/review/perfetto/perfetto-40.0-1.fc40.src.rpm

Changelog:
- package the SDK as well

Comment 6 Fedora Review Service 2023-12-26 16:40:02 UTC
Created attachment 2005969 [details]
The .spec file difference from Copr build 6812701 to 6815981

Comment 7 Fedora Review Service 2023-12-26 16:40:05 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/6815981
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2255751-perfetto/fedora-rawhide-x86_64/06815981-perfetto/fedora-review/review.txt

Found issues:

- perfetto-sdk : /usr/share/perfetto/sdk/perfetto.h 
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages
- Unversioned so-files directly in %_libdir.
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages

Please know that there can be false-positives.

---
This comment was created by the fedora-review-service
https://github.com/FrostyX/fedora-review-service

If you want to trigger a new Copr build, add a comment containing new
Spec and SRPM URLs or [fedora-review-service-build] string.

Comment 8 Davide Cavalca 2023-12-30 00:45:58 UTC
It occurs to me that both this package and another one I was looking at just now (https://github.com/charles-lunarg/vk-bootstrap) have an interesting conundrum. In both cases a "library" is shipped as a header + cpp file, with the explicit goal that the consumer will include and link these directly as part of their build. In the latest iteration of perfetto I ship these in %{_datadir}/%{name}/sdk, but perhaps %{_libdir} would be more appropriate? As while these aren't arched per-se, their consumers would definitely be (and header-only packages are arched, and are probably the closest to this).