This simplifies deployment on embedded devices, where polkit is usually
unncessary at runtime, but pulls in quite a few otherwise unncessary
dependencies. Start to improve the situation by allowing to selectively
disable polkit-agent support at compile time, which aids in container
usage scenarios, where one wants to invoke 'sysprof-cli' from within
the container. Bypassing polkit-agent in the container is then desired,
since the host sysprofd will handle asking for permissions to enable
the tracing. It allows for a simpler setup of rootless podman
containers, avoiding UID mismatches, that lead to rejection of the
tracing enablement.
- Add a new 'polkit-agent' meson build feature, that allows to force disabling
polkit-agent support (-Dpolkit-agent=disabled).
- Mark the 'polkit-agent' feature as enabled, by default, to reflect
the current status (sysprof-cli did not build without polkit-agent support).
- libsysprof/sysprof-instrument.c: Build fix when polkit is not available,
remove the unnecessary 'g_autopr(PolkitDetails) details' variable.
- Alter the sysprof-cli dependencies to only attempt to link against
polkit-agent, if necessary. Modify sysprof-cli.c to wrap all code using
polkit-agent in HAVE_POLKIT_AGENT blocks.
This was an oversight from the original commit!
Render labels for instant marks as well. The PangoLayout is shared
between ranged and instant marks, and therefore moved to an earlier
point in the function.
This makes is much easier to inspect waterfall marks, since we can spot
at a glance which marks are there, without having to hover each mark
individually with the cursor to see the tooltip.
This helps WebKit profiling in particular, which is a heavy user of
marks.