Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 465102 Details for
Bug 607352
net-misc/networkmanager: Add elogind support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated patch to support elogind support
networkmanager-1.4.4-enable-elogind-r1.patch (text/plain), 8.33 KB, created by
Sven Eden
on 2017-02-25 11:45:31 UTC
(
hide
)
Description:
Updated patch to support elogind support
Filename:
MIME Type:
Creator:
Sven Eden
Created:
2017-02-25 11:45:31 UTC
Size:
8.33 KB
patch
obsolete
>--- a/config.h.in 2017-02-24 15:32:43.030370913 +0100 >+++ b/config.h.in 2017-02-24 15:33:38.122369926 +0100 >@@ -204,6 +204,9 @@ > /* Define to 1 if ConsoleKit is available */ > #undef SESSION_TRACKING_CONSOLEKIT > >+/* Define to 1 if libelogin is available */ >+#undef SESSION_TRACKING_ELOGIND >+ > /* Define to 1 if libsystemd-login is available */ > #undef SESSION_TRACKING_SYSTEMD > >@@ -216,6 +219,9 @@ > /* Define to 1 to use ConsoleKit2 suspend api */ > #undef SUSPEND_RESUME_CONSOLEKIT > >+/* Define to 1 to use elogind suspend api */ >+#undef SUSPEND_RESUME_ELOGIND >+ > /* Define to 1 to use systemd suspend api */ > #undef SUSPEND_RESUME_SYSTEMD > >--- a/configure.ac 2017-02-24 15:32:55.321370693 +0100 >+++ b/configure.ac 2017-02-24 15:34:13.635369290 +0100 >@@ -426,14 +426,15 @@ > [Support systemd session tracking])) > AC_ARG_WITH(consolekit, AS_HELP_STRING([--with-consolekit=yes|no], > [Support consolekit session tracking])) >-AC_ARG_WITH(session-tracking, AS_HELP_STRING([--with-session-tracking=systemd|consolekit|no], >+AC_ARG_WITH(session-tracking, AS_HELP_STRING([--with-session-tracking=systemd|elogind|consolekit|no], > [Compatibility option to choose one session tracking module])) > # backwards compatibility >-AS_IF([test "$with_session_tracking" = "ck"], [use_consolekit="yes" use_systemd_logind="no"]) >-AS_IF([test "$with_session_tracking" = "consolekit"], [use_consolekit="yes" use_systemd_logind="no"]) >-AS_IF([test "$with_session_tracking" = "systemd"], [use_consolekit="no" use_systemd_logind="yes"]) >-AS_IF([test "$with_session_tracking" = "no"], [use_consolekit="no" use_systemd_logind="no"]) >-AS_IF([test "$with_session_tracking" = "none"], [use_consolekit="no" use_systemd_logind="no"]) >+AS_IF([test "$with_session_tracking" = "ck"], [use_consolekit="yes" use_systemd_logind="no" use_elogind="no"]) >+AS_IF([test "$with_session_tracking" = "consolekit"], [use_consolekit="yes" use_systemd_logind="no" use_elogind="no"]) >+AS_IF([test "$with_session_tracking" = "systemd"], [use_consolekit="no" use_systemd_logind="yes" use_elogind="no"]) >+AS_IF([test "$with_session_tracking" = "elogind"], [use_consolekit="no" use_systemd_logind="no" use_elogind="yes"]) >+AS_IF([test "$with_session_tracking" = "no"], [use_consolekit="no" use_systemd_logind="no" use_elogind="no"]) >+AS_IF([test "$with_session_tracking" = "none"], [use_consolekit="no" use_systemd_logind="no" use_elogind="no"]) > # current options > AS_IF([test -n "$with_systemd_logind" ], [use_systemd_logind="$with_systemd_logind"]) > AS_IF([test -n "$with_consolekit" ], [use_consolekit="$with_consolekit"]) >@@ -454,6 +455,23 @@ > AC_DEFINE([SESSION_TRACKING_SYSTEMD], 1, [Define to 1 if libsystemd-login is available]) > session_tracking="$session_tracking, systemd-logind" > fi >+ >+if test "$use_elogind" = "yes" -a "$have_systemd_logind" = "yes"; then >+ AC_MSG_ERROR([Cannot enable systemd-logind together with elogind.]) >+fi >+if test "$use_elogind" = "yes"; then >+ PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libelogind], [have_elogind=yes], [PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libelogind], [have_elogind=yes], [have_elogind=no])]) >+else >+ have_elogind=no >+fi >+if test "$use_elogind" = "yes" -a "$have_elogind" = "no"; then >+ AC_MSG_ERROR([You must have libelogind installed to build with elogind support.]) >+fi >+if test "$have_elogind" = "yes"; then >+ AC_DEFINE([SESSION_TRACKING_ELOGIND], 1, [Define to 1 if libelogin is available]) >+ session_tracking="$session_tracking, elogind" >+fi >+ > if test "$use_consolekit" = "yes"; then > AC_DEFINE([SESSION_TRACKING_CONSOLEKIT], 1, [Define to 1 if ConsoleKit is available]) > AC_DEFINE([CKDB_PATH], "/var/run/ConsoleKit/database", [Path to ConsoleKit database]) >@@ -461,7 +479,7 @@ > fi > session_tracking="$(printf '%s' "${session_tracking}" | sed 's/^, //')" > >-AC_ARG_WITH(suspend-resume, AS_HELP_STRING([--with-suspend-resume=upower|systemd|consolekit], [Build NetworkManager with specific suspend/resume support])) >+AC_ARG_WITH(suspend-resume, AS_HELP_STRING([--with-suspend-resume=upower|systemd|elogind|consolekit], [Build NetworkManager with specific suspend/resume support])) > if test "z$with_suspend_resume" = "z"; then > PKG_CHECK_EXISTS([libsystemd >= 209], [have_systemd_inhibit=yes], > [PKG_CHECK_EXISTS([libsystemd-login >= 183], [have_systemd_inhibit=yes], [have_systemd_inhibit=no])]) >@@ -469,6 +487,12 @@ > # Use systemd if it's new enough > with_suspend_resume="systemd" > else >+ PKG_CHECK_EXISTS([libelogind >= 219], [have_elogind_inhibit=yes], >+ [PKG_CHECK_EXISTS([libelogind >= 219], [have_elogind_inhibit=yes], [have_elogind_inhibit=no])]) >+ if test "z${have_elogind_inhibit}" = "zyes"; then >+ # Use elogind if it's new enough >+ with_suspend_resume="elogind" >+ else > if test "$use_consolekit" = "yes"; then > # Use consolekit suspend if session tracking is consolekit > with_suspend_resume="consolekit" >@@ -478,6 +502,7 @@ > fi > fi > fi >+fi > > case $with_suspend_resume in > upower) >@@ -488,11 +513,16 @@ > [PKG_CHECK_MODULES(SYSTEMD_INHIBIT, [libsystemd-login >= 183])]) > AC_DEFINE([SUSPEND_RESUME_SYSTEMD], 1, [Define to 1 to use systemd suspend api]) > ;; >+ elogind) >+ PKG_CHECK_MODULES(ELOGIND_INHIBIT, [libelogind >= 219],, >+ [PKG_CHECK_MODULES(ELOGIND_INHIBIT, [libelogind >= 219])]) >+ AC_DEFINE([SUSPEND_RESUME_ELOGIND], 1, [Define to 1 to use elogind suspend api]) >+ ;; > consolekit) > AC_DEFINE([SUSPEND_RESUME_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit2 suspend api]) > ;; > *) >- AC_MSG_ERROR(--with-suspend-resume must be one of [upower, systemd, consolekit]) >+ AC_MSG_ERROR(--with-suspend-resume must be one of [upower, systemd, elogind, consolekit]) > ;; > esac > >--- a/src/nm-sleep-monitor.c 2017-02-24 15:33:06.326370496 +0100 >+++ b/src/nm-sleep-monitor.c 2017-02-24 15:34:13.636369290 +0100 >@@ -38,13 +38,17 @@ > #define USE_UPOWER 1 > #define _NMLOG_PREFIX_NAME "sleep-monitor-up" > >-#elif defined (SUSPEND_RESUME_SYSTEMD) >+#elif defined (SUSPEND_RESUME_SYSTEMD) || defined (SUSPEND_RESUME_ELOGIND) > > #define SUSPEND_DBUS_NAME "org.freedesktop.login1" > #define SUSPEND_DBUS_PATH "/org/freedesktop/login1" > #define SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager" > #define USE_UPOWER 0 >+#if defined (SUSPEND_RESUME_SYSTEMD) > #define _NMLOG_PREFIX_NAME "sleep-monitor-sd" >+#else >+#define _NMLOG_PREFIX_NAME "sleep-monitor-el" >+#endif > > #elif defined(SUSPEND_RESUME_CONSOLEKIT) > >@@ -60,7 +64,7 @@ > > #else > >-#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER >+#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_ELOGIND, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER > > #endif > >--- a/src/nm-session-monitor.c 2017-02-24 15:33:16.240370318 +0100 >+++ b/src/nm-session-monitor.c 2017-02-24 15:34:13.635369290 +0100 >@@ -29,8 +29,20 @@ > #include "nm-session-monitor.h" > #include "NetworkManagerUtils.h" > >+#if defined (SESSION_TRACKING_SYSTEMD) && defined (SESSION_TRACKING_ELOGIND) >+#error Cannot build both systemd-logind and elogind support >+#endif >+ > #ifdef SESSION_TRACKING_SYSTEMD > #include <systemd/sd-login.h> >+#define LOGIND_NAME "systemd-logind" >+#endif >+ >+#ifdef SESSION_TRACKING_ELOGIND >+#include <elogind/sd-login.h> >+#define LOGIND_NAME "elogind" >+/* Re-Use SESSION_TRACKING_SYSTEMD as elogind substitutes systemd-login */ >+#define SESSION_TRACKING_SYSTEMD 1 > #endif > > /********************************************************************/ >@@ -103,7 +115,7 @@ > status = sd_uid_get_sessions (uid, active, NULL); > > if (status < 0) >- _LOGE ("failed to get systemd sessions for uid %d: %d", uid, status); >+ _LOGE ("failed to get "LOGIND_NAME" sessions for uid %d: %d", uid, status); > > return status > 0; > } >@@ -130,7 +142,7 @@ > return; > > if ((status = sd_login_monitor_new (NULL, &monitor->sd.monitor)) < 0) { >- _LOGE ("failed to create systemd login monitor: %d", status); >+ _LOGE ("failed to create "LOGIND_NAME" monitor: %d", status); > return; > } > >@@ -375,7 +387,7 @@ > { > #ifdef SESSION_TRACKING_SYSTEMD > st_sd_init (monitor); >- _LOGD ("using systemd-logind session tracking"); >+ _LOGD ("using "LOGIND_NAME" session tracking"); > #endif > > #ifdef SESSION_TRACKING_CONSOLEKIT
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 607352
:
464500
|
464502
|
464504
|
464966
| 465102 |
474512