mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-20 02:10:13 +01:00
build: add elogind support
Checking the uid of the user seat also works if elogind is used. Add this as an option to the build and make it mutually exclusive with enabling systemd.
This commit is contained in:
parent
a2ca9bc228
commit
79e7e69aaa
4 changed files with 25 additions and 1 deletions
|
|
@ -42,6 +42,10 @@
|
|||
#include <systemd/sd-login.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_ELOGIND
|
||||
#include <elogind/sd-login.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @addtogroup DBusInternalsUtils
|
||||
* @{
|
||||
|
|
@ -67,7 +71,7 @@ dbus_bool_t
|
|||
_dbus_is_console_user (dbus_uid_t uid,
|
||||
DBusError *error)
|
||||
{
|
||||
#ifdef HAVE_SYSTEMD
|
||||
#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND)
|
||||
/* check if we have logind */
|
||||
if (access ("/run/systemd/seats/", F_OK) >= 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ dbus_dependencies = [
|
|||
adt_libs,
|
||||
network_libs,
|
||||
systemd,
|
||||
elogind,
|
||||
valgrind.partial_dependency(compile_args: true),
|
||||
]
|
||||
|
||||
|
|
|
|||
12
meson.build
12
meson.build
|
|
@ -535,6 +535,17 @@ else
|
|||
endif
|
||||
data_config.set('SYSTEMCTL', systemctl)
|
||||
|
||||
elogind_opt = get_option('elogind')
|
||||
if use_systemd
|
||||
if elogind_opt.enabled()
|
||||
error('-Dsystemd and -Delogind are mutually exclusive')
|
||||
endif
|
||||
elogind = dependency('', required: false)
|
||||
else
|
||||
elogind = dependency('libelogind', version: '>=209', required: elogind_opt)
|
||||
endif
|
||||
use_elogind = elogind.found()
|
||||
config.set('HAVE_ELOGIND', use_elogind)
|
||||
|
||||
|
||||
use_traditional_activation = message_bus and get_option('traditional_activation')
|
||||
|
|
@ -1378,6 +1389,7 @@ summary_dict += {
|
|||
'Building inotify support': use_inotify,
|
||||
'Building kqueue support': use_kqueue,
|
||||
'Building systemd support': use_systemd,
|
||||
'Building elogind support': use_elogind,
|
||||
'Traditional activation': use_traditional_activation,
|
||||
'Building X11 code': config.get('DBUS_BUILD_X11'),
|
||||
'Building Doxygen docs': doxygen.found(),
|
||||
|
|
|
|||
|
|
@ -95,6 +95,13 @@ option(
|
|||
description: 'Enable tests that require insecure extra code in the library and binaries'
|
||||
)
|
||||
|
||||
option(
|
||||
'elogind',
|
||||
type: 'feature',
|
||||
value: 'disabled',
|
||||
description: 'Use elogind for detecting user sessions'
|
||||
)
|
||||
|
||||
option(
|
||||
'epoll',
|
||||
type: 'feature',
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue