Add support for elogind
A session manager similar to logind from systemd. See https://github.com/elogind/elogind Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
parent
a395137acd
commit
776b0791ba
@ -215,6 +215,10 @@ if WITH_SYSTEMD
|
||||
proc_libprocps_la_LIBADD += @SYSTEMD_LIBS@
|
||||
endif
|
||||
|
||||
if WITH_ELOGIND
|
||||
proc_libprocps_la_LIBADD += @ELOGIND_LIBS@
|
||||
endif
|
||||
|
||||
proc_libprocps_la_LDFLAGS = \
|
||||
-version-info $(LIBprocps_CURRENT):$(LIBprocps_REVISION):$(LIBprocps_AGE) \
|
||||
-no-undefined \
|
||||
|
13
configure.ac
13
configure.ac
@ -178,6 +178,19 @@ AS_IF([test "x$with_systemd" != "xno"], [
|
||||
])
|
||||
AM_CONDITIONAL([WITH_SYSTEMD], [test x$with_systemd != xno])
|
||||
|
||||
AC_ARG_WITH([elogind],
|
||||
[AS_HELP_STRING([--with-elogind], [enable elogind support])],
|
||||
[], [with_elogind=no]
|
||||
)
|
||||
# Do not allow elogind if systemd is wanted and found
|
||||
AS_IF([test "x$with_systemd" != "xno"], [with_elogind=no])
|
||||
|
||||
AS_IF([test "x$with_elogind" != "xno"], [
|
||||
PKG_CHECK_MODULES([ELOGIND], [libelogind])
|
||||
AC_DEFINE(WITH_ELOGIND, 1, [enable elogind support])
|
||||
])
|
||||
AM_CONDITIONAL([WITH_ELOGIND], [test x$with_elogind != xno])
|
||||
|
||||
# AC_ARG_ENABLEs
|
||||
AC_ARG_ENABLE([pidof],
|
||||
AS_HELP_STRING([--disable-pidof], [do not build pidof]),
|
||||
|
@ -40,6 +40,9 @@
|
||||
#ifdef WITH_SYSTEMD
|
||||
#include <systemd/sd-login.h>
|
||||
#endif
|
||||
#ifdef WITH_ELOGIND
|
||||
#include <elogind/sd-login.h>
|
||||
#endif
|
||||
|
||||
// sometimes it's easier to do this manually, w/o gcc helping
|
||||
#ifdef PROF
|
||||
@ -518,7 +521,7 @@ static void ns2proc(const char *directory, proc_t *restrict p) {
|
||||
}
|
||||
|
||||
static void sd2proc(proc_t *restrict p) {
|
||||
#ifdef WITH_SYSTEMD
|
||||
#if defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)
|
||||
char buf[64];
|
||||
uid_t uid;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user