| --- a/dbus/dbus-userdb-util.c 2015-09-30 16:48:40.000000000 +0200 |
| +++ b/dbus/dbus-userdb-util.c 2016-11-03 11:09:42.550520587 +0100 |
| @@ -32,6 +32,9 @@ |
| #if HAVE_SYSTEMD |
| #include <systemd/sd-login.h> |
| #endif |
| +#if HAVE_ELOGIND |
| +#include <elogind/sd-login.h> |
| +#endif |
| |
| /** |
| * @addtogroup DBusInternalsUtils |
| @@ -54,7 +57,7 @@ |
| const DBusUserInfo *info; |
| dbus_bool_t result = FALSE; |
| |
| -#ifdef HAVE_SYSTEMD |
| +#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND) |
| /* check if we have logind */ |
| if (access ("/run/systemd/seats/", F_OK) >= 0) |
| { |
| --- a/configure.ac 2016-11-03 11:13:58.286528265 +0100 |
| +++ b/configure.ac 2016-11-03 11:22:11.210543063 +0100 |
| @@ -185,6 +185,7 @@ |
| AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto) |
| AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto) |
| AC_ARG_ENABLE(launchd, AS_HELP_STRING([--enable-launchd],[build with launchd auto-launch support]),enable_launchd=$enableval,enable_launchd=auto) |
| +AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[build with elogind user seat support]),enable_elogind=$enableval,enable_elogind=auto) |
| AC_ARG_ENABLE(systemd, AS_HELP_STRING([--enable-systemd],[build with systemd at_console support]),enable_systemd=$enableval,enable_systemd=auto) |
| |
| AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install])) |
| @@ -1184,6 +1185,24 @@ |
| |
| AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes) |
| |
| +dnl elogind detection |
| +if test x$enable_elogind = xno ; then |
| + have_elogind=no; |
| +else |
| + PKG_CHECK_MODULES([ELOGIND], |
| + [libelogind >= 209], |
| + [have_elogind=yes], |
| + [have_elogind=no]) |
| +fi |
| + |
| +if test x$have_elogind = xyes; then |
| + AC_DEFINE(HAVE_ELOGIND,1,[Have elogind]) |
| +fi |
| + |
| +if test x$enable_elogind = xyes -a x$have_elogind != xyes ; then |
| + AC_MSG_ERROR([Explicitly requested elogind support, but libelogind not found]) |
| +fi |
| + |
| dnl systemd detection |
| if test x$enable_systemd = xno ; then |
| have_systemd=no; |
| @@ -1290,7 +1309,7 @@ |
| fi |
| |
| #### Set up final flags |
| -LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS" |
| +LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS $ELOGIND_LIBS" |
| AC_SUBST([LIBDBUS_LIBS]) |
| |
| ### X11 detection |
| @@ -1949,6 +1968,7 @@ |
| Building AppArmor support: ${have_apparmor} |
| Building inotify support: ${have_inotify} |
| Building kqueue support: ${have_kqueue} |
| + Building elogind support: ${have_elogind} |
| Building systemd support: ${have_systemd} |
| Building X11 code: ${have_x11} |
| Building Doxygen docs: ${enable_doxygen_docs} |