--- procps-ng-3.3.12/configure 2016-07-10 07:32:09.862265237 +0200
+++ procps-ng-3.3.12/configure 2016-07-10 07:32:09.862265237 +0200
@@ -650,6 +650,10 @@
BUILD_KILL_TRUE
BUILD_PIDOF_FALSE
BUILD_PIDOF_TRUE
+WITH_ELOGIND_FALSE
+WITH_ELOGIND_TRUE
+ELOGIND_LIBS
+ELOGIND_CFLAGS
WITH_SYSTEMD_FALSE
WITH_SYSTEMD_TRUE
SYSTEMD_LIBS
@@ -815,6 +819,7 @@
enable_libselinux
with_ncurses
with_systemd
+with_elogind
enable_pidof
enable_kill
enable_skill
@@ -845,7 +850,9 @@
NCURSESW_CFLAGS
NCURSESW_LIBS
SYSTEMD_CFLAGS
-SYSTEMD_LIBS'
+SYSTEMD_LIBS
+ELOGIND_CFLAGS
+ELOGIND_LIBS'
# Initialize some variables set by options.
@@ -1521,6 +1528,7 @@
--without-libintl-prefix don't search for libintl in includedir and libdir
--without-ncurses build only applications not needing ncurses
--with-systemd enable systemd support
+ --with-elogind enable elogind support
Some influential environment variables:
CC C compiler command
@@ -1550,6 +1558,10 @@
C compiler flags for SYSTEMD, overriding pkg-config
SYSTEMD_LIBS
linker flags for SYSTEMD, overriding pkg-config
+ ELOGIND_CFLAGS
+ C compiler flags for ELOGIND, overriding pkg-config
+ ELOGIND_LIBS
+ linker flags for ELOGIND, overriding pkg-config
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -17295,6 +17307,127 @@
fi
+
+# Check whether --with-elogind was given.
+if test "${with_elogind+set}" = set; then :
+ withval=$with_elogind;
+else
+ with_elogind=no
+
+fi
+
+# Do not allow elogind if systemd is wanted and found
+if test "x$with_systemd" != "xno"; then :
+ with_elogind=no
+fi
+
+if test "x$with_elogind" != "xno"; then :
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libelogind" >&5
+$as_echo_n "checking for libelogind... " >&6; }
+
+if test -n "$ELOGIND_CFLAGS"; then
+ pkg_cv_ELOGIND_CFLAGS="$ELOGIND_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelogind\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libelogind") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_ELOGIND_CFLAGS=`$PKG_CONFIG --cflags "libelogind" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+if test -n "$ELOGIND_LIBS"; then
+ pkg_cv_ELOGIND_LIBS="$ELOGIND_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+ if test -n "$PKG_CONFIG" && \
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libelogind\""; } >&5
+ ($PKG_CONFIG --exists --print-errors "libelogind") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then
+ pkg_cv_ELOGIND_LIBS=`$PKG_CONFIG --libs "libelogind" 2>/dev/null`
+ test "x$?" != "x0" && pkg_failed=yes
+else
+ pkg_failed=yes
+fi
+ else
+ pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+ _pkg_short_errors_supported=yes
+else
+ _pkg_short_errors_supported=no
+fi
+ if test $_pkg_short_errors_supported = yes; then
+ ELOGIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libelogind" 2>&1`
+ else
+ ELOGIND_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libelogind" 2>&1`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$ELOGIND_PKG_ERRORS" >&5
+
+ as_fn_error $? "Package requirements (libelogind) were not met:
+
+$ELOGIND_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables ELOGIND_CFLAGS
+and ELOGIND_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables ELOGIND_CFLAGS
+and ELOGIND_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see .
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ ELOGIND_CFLAGS=$pkg_cv_ELOGIND_CFLAGS
+ ELOGIND_LIBS=$pkg_cv_ELOGIND_LIBS
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+$as_echo "#define WITH_ELOGIND 1" >>confdefs.h
+
+
+fi
+ if test x$with_elogind != xno; then
+ WITH_ELOGIND_TRUE=
+ WITH_ELOGIND_FALSE='#'
+else
+ WITH_ELOGIND_TRUE='#'
+ WITH_ELOGIND_FALSE=
+fi
+
+
# AC_ARG_ENABLEs
# Check whether --enable-pidof was given.
if test "${enable_pidof+set}" = set; then :
@@ -17712,6 +17845,10 @@
as_fn_error $? "conditional \"WITH_SYSTEMD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${WITH_ELOGIND_TRUE}" && test -z "${WITH_ELOGIND_FALSE}"; then
+ as_fn_error $? "conditional \"WITH_ELOGIND\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${BUILD_PIDOF_TRUE}" && test -z "${BUILD_PIDOF_FALSE}"; then
as_fn_error $? "conditional \"BUILD_PIDOF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
--- procps-ng-3.3.12/configure.ac 2016-07-09 23:49:25.817307031 +0200
+++ procps-ng-3.3.12/configure.ac 2016-07-09 23:49:25.817307031 +0200
@@ -155,6 +155,19 @@
])
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]),
--- procps-ng-3.3.12/Makefile.am 2016-07-10 00:40:44.235121270 +0200
+++ procps-ng-3.3.12/Makefile.am 2016-07-10 00:40:44.235121270 +0200
@@ -155,6 +155,10 @@
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 \
--- procps-ng-3.3.12/Makefile.in 2016-07-10 07:32:11.170237828 +0200
+++ procps-ng-3.3.12/Makefile.in 2016-07-10 07:32:11.170237828 +0200
@@ -126,6 +126,7 @@
@BUILD_SKILL_FALSE@ snice.1
@WITH_SYSTEMD_TRUE@am__append_14 = @SYSTEMD_LIBS@
+@WITH_ELOGIND_TRUE@am__append_15 = @ELOGIND_LIBS@
TESTS = lib/test_strtod_nol$(EXEEXT)
check_PROGRAMS = $(am__EXEEXT_5)
noinst_PROGRAMS = lib/test_strutils$(EXEEXT) \
@@ -688,6 +689,8 @@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
+ELOGIND_CFLAGS = @ELOGIND_CFLAGS@
+ELOGIND_LIBS = @ELOGIND_LIBS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GMSGFMT = @GMSGFMT@
--- procps-ng-3.3.12/proc/readproc.c 2016-07-09 23:49:25.825306872 +0200
+++ procps-ng-3.3.12/proc/readproc.c 2016-07-09 23:49:25.825306872 +0200
@@ -40,6 +40,9 @@
#ifdef WITH_SYSTEMD
#include
#endif
+#ifdef WITH_ELOGIND
+#include
+#endif
// sometimes it's easier to do this manually, w/o gcc helping
#ifdef PROF
@@ -518,7 +521,7 @@
}
static void sd2proc(proc_t *restrict p) {
-#ifdef WITH_SYSTEMD
+#if defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)
char buf[64];
uid_t uid;