mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-09 15:05:58 +01:00
906c0766df
This is simply a false sense of security, and is worse than just using setuid. CAP_SYS_ADMIN is an extremely serious capability that is effectively as powerful as root. It also required users to be in the input group, which allows any process to keylog the entire system.
64 lines
1.7 KiB
Meson
64 lines
1.7 KiB
Meson
wlr_files += files(
|
|
'direct-ipc.c',
|
|
'noop.c',
|
|
'session.c',
|
|
)
|
|
|
|
if host_machine.system().startswith('freebsd')
|
|
wlr_files += files('direct-freebsd.c')
|
|
else
|
|
wlr_files += files('direct.c')
|
|
endif
|
|
|
|
# logind
|
|
|
|
msg = []
|
|
if get_option('logind').enabled()
|
|
msg += 'Install "lib@0@" or pass "-Dlogind=disabled".'
|
|
endif
|
|
if not get_option('logind').disabled()
|
|
msg += 'Required for logind support.'
|
|
msg += 'You may need to pass "-Dlogind-provider=elogind" or "-Dlogind-provider=systemd" to ensure the correct library is detected.'
|
|
endif
|
|
|
|
logind_version = '>=237'
|
|
logind_found = false
|
|
|
|
if get_option('logind-provider') == 'auto'
|
|
if not get_option('logind').disabled()
|
|
assert(get_option('auto_features').auto(), '-Dlogind-provider must be set to systemd or elogind since auto_features != auto')
|
|
logind = dependency('libsystemd',
|
|
required: get_option('logind'),
|
|
not_found_message: 'libsystemd not found, trying libelogind\n' + '\n'.join(msg),
|
|
version: logind_version,
|
|
)
|
|
if logind.found()
|
|
conf_data.set10('WLR_HAS_SYSTEMD', true)
|
|
else
|
|
logind = dependency('libelogind',
|
|
required: get_option('logind'),
|
|
not_found_message: 'libelogind not found\n' + '\n'.join(msg),
|
|
version: logind_version,
|
|
)
|
|
if logind.found()
|
|
conf_data.set10('WLR_HAS_ELOGIND', true)
|
|
endif
|
|
endif
|
|
logind_found = logind.found()
|
|
endif
|
|
else
|
|
logind = dependency('lib' + get_option('logind-provider'),
|
|
required: get_option('logind'),
|
|
not_found_message: '\n'.join(msg).format(get_option('logind-provider')),
|
|
version: logind_version,
|
|
)
|
|
if logind.found()
|
|
conf_data.set10('WLR_HAS_' + get_option('logind-provider').to_upper(), true)
|
|
logind_found = true
|
|
endif
|
|
endif
|
|
|
|
if logind_found
|
|
wlr_files += files('logind.c')
|
|
wlr_deps += logind
|
|
endif
|