mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2026-02-12 16:10:54 +00:00
Turn polkit-agent support into an optional feature.
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 commit is contained in:
@ -100,7 +100,7 @@ config_h.set_quoted('GETTEXT_PACKAGE', 'sysprof')
|
||||
config_h.set_quoted('PACKAGE_LOCALE_DIR', join_paths(get_option('prefix'), get_option('datadir'), 'locale'))
|
||||
config_h.set10('HAVE_LIBSYSTEMD', libsystemd_dep.found())
|
||||
|
||||
polkit_agent_dep = dependency('polkit-agent-1', required: false)
|
||||
polkit_agent_dep = dependency('polkit-agent-1', required: get_option('polkit-agent'))
|
||||
config_h.set10('HAVE_POLKIT_AGENT', polkit_agent_dep.found())
|
||||
|
||||
polkit_dep = dependency('polkit-gobject-1', version: polkit_req_version, required: false)
|
||||
|
||||
Reference in New Issue
Block a user