1 --- NetworkManager-1.2.2/configure.ac.systemd 2016-05-17 22:29:49.567521947 +0200
2 +++ NetworkManager-1.2.2/configure.ac 2016-05-17 23:14:31.594510933 +0200
3 @@ -435,7 +435,7 @@ AS_IF([test -z "$use_consolekit"], [use_
6 if test "$use_systemd_logind" = "yes" -o "$use_systemd_logind" = "auto"; then
7 - PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd], [have_systemd_logind=yes], [PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login], [have_systemd_logind=yes], [have_systemd_logind=no])])
8 + PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd], [have_systemd_logind=yes], [PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-daemon libsystemd-login], [have_systemd_logind=yes], [have_systemd_logind=no])])
10 have_systemd_logind=no
12 @@ -447,12 +447,13 @@ if test "$have_systemd_logind" = "yes";
13 session_tracking="$session_tracking, systemd-logind"
15 if test "$use_consolekit" = "yes"; then
16 - AC_DEFINE([SESSION_TRACKING_CONSOLEKIT], 1, [Define to 1 if ConsoleKit is available])
17 - AC_DEFINE([CKDB_PATH], "/var/run/ConsoleKit/database", [Path to ConsoleKit database])
18 + AC_DEFINE([SESSION_TRACKING_CONSOLEKIT], 1, [Define to 1 if ConsoleKit is available])
19 session_tracking="$session_tracking, consolekit"
21 session_tracking="$(printf '%s' "${session_tracking}" | sed 's/^, //')"
23 +AC_DEFINE([CKDB_PATH], "/var/run/ConsoleKit/database", [Path to ConsoleKit database])
25 AC_ARG_WITH(suspend-resume, AS_HELP_STRING([--with-suspend-resume=upower|systemd|consolekit], [Build NetworkManager with specific suspend/resume support]))
26 if test "z$with_suspend_resume" = "z"; then
27 PKG_CHECK_EXISTS([libsystemd >= 209], [have_systemd_inhibit=yes],
28 --- NetworkManager-1.2.2/src/nm-session-monitor.c.systemd 2016-04-25 16:46:58.000000000 +0200
29 +++ NetworkManager-1.2.2/src/nm-session-monitor.c 2016-05-28 23:23:37.337347753 +0200
31 #include "NetworkManagerUtils.h"
33 #ifdef SESSION_TRACKING_SYSTEMD
34 +#include <systemd/sd-daemon.h>
35 #include <systemd/sd-login.h>
38 @@ -52,13 +53,11 @@ struct _NMSessionMonitor {
42 -#ifdef SESSION_TRACKING_CONSOLEKIT
44 GFileMonitor *monitor;
51 struct _NMSessionMonitorClass {
52 @@ -138,7 +137,6 @@ st_sd_finalize (NMSessionMonitor *monito
54 /********************************************************************/
56 -#ifdef SESSION_TRACKING_CONSOLEKIT
60 @@ -272,7 +270,6 @@ ck_finalize (NMSessionMonitor *monitor)
61 g_clear_pointer (&monitor->ck.cache, g_hash_table_unref);
62 g_clear_object (&monitor->ck.monitor);
64 -#endif /* SESSION_TRACKING_CONSOLEKIT */
66 /********************************************************************/
68 @@ -383,13 +380,16 @@ nm_session_monitor_session_exists (NMSes
69 g_return_val_if_fail (NM_IS_SESSION_MONITOR (self), FALSE);
71 #ifdef SESSION_TRACKING_SYSTEMD
72 - if (st_sd_session_exists (self, uid, active))
74 + if (sd_booted () > 0) {
75 + if (st_sd_session_exists (self, uid, active))
80 -#ifdef SESSION_TRACKING_CONSOLEKIT
81 if (ck_session_exists (self, uid, active))
84 +#ifdef SESSION_TRACKING_SYSTEMD
89 @@ -401,11 +401,15 @@ static void
90 nm_session_monitor_init (NMSessionMonitor *monitor)
92 #ifdef SESSION_TRACKING_SYSTEMD
93 - st_sd_init (monitor);
94 + if (sd_booted () > 0) {
95 + st_sd_init (monitor);
99 -#ifdef SESSION_TRACKING_CONSOLEKIT
102 +#ifdef SESSION_TRACKING_SYSTEMD
107 @@ -413,11 +417,15 @@ static void
108 nm_session_monitor_finalize (GObject *object)
110 #ifdef SESSION_TRACKING_SYSTEMD
111 - st_sd_finalize (NM_SESSION_MONITOR (object));
112 + if (sd_booted () > 0) {
113 + st_sd_finalize (NM_SESSION_MONITOR (object));
117 -#ifdef SESSION_TRACKING_CONSOLEKIT
118 ck_finalize (NM_SESSION_MONITOR (object));
120 +#ifdef SESSION_TRACKING_SYSTEMD
124 if (G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize != NULL)
125 --- NetworkManager-1.2.2/src/nm-sleep-monitor-systemd.c.systemd 2016-05-17 23:14:52.878336245 +0200
126 +++ NetworkManager-1.2.2/src/nm-sleep-monitor-systemd.c 2016-05-17 23:19:33.924628324 +0200
128 #include <sys/stat.h>
129 #include <gio/gunixfdlist.h>
131 +#ifdef SUSPEND_RESUME_SYSTEMD
132 +# include <systemd/sd-daemon.h>
135 #include "nm-core-internal.h"
136 #include "NetworkManagerUtils.h"
139 #error either define SUSPEND_RESUME_SYSTEMD or SUSPEND_RESUME_CONSOLEKIT
142 -#ifdef SUSPEND_RESUME_SYSTEMD
144 #define SUSPEND_DBUS_NAME "org.freedesktop.login1"
145 #define SUSPEND_DBUS_PATH "/org/freedesktop/login1"
146 #define SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager"
150 /* ConsoleKit2 has added the same suspend/resume DBUS API that Systemd
151 * uses. http://consolekit2.github.io/ConsoleKit2/#Manager.Inhibit
154 -#define SUSPEND_DBUS_NAME "org.freedesktop.ConsoleKit"
155 -#define SUSPEND_DBUS_PATH "/org/freedesktop/ConsoleKit/Manager"
156 -#define SUSPEND_DBUS_INTERFACE "org.freedesktop.ConsoleKit.Manager"
159 +#define CK_SUSPEND_DBUS_NAME "org.freedesktop.ConsoleKit"
160 +#define CK_SUSPEND_DBUS_PATH "/org/freedesktop/ConsoleKit/Manager"
161 +#define CK_SUSPEND_DBUS_INTERFACE "org.freedesktop.ConsoleKit.Manager"
163 struct _NMSleepMonitor {
164 GObject parent_instance;
165 @@ -204,13 +203,28 @@ static void
166 nm_sleep_monitor_init (NMSleepMonitor *self)
168 self->inhibit_fd = -1;
169 - g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
170 - G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
171 - G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
173 - SUSPEND_DBUS_NAME, SUSPEND_DBUS_PATH, SUSPEND_DBUS_INTERFACE,
175 - (GAsyncReadyCallback) on_proxy_acquired, self);
177 +#ifdef SUSPEND_RESUME_SYSTEMD
178 + if (sd_booted () > 0) {
179 + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
180 + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
181 + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
183 + SUSPEND_DBUS_NAME, SUSPEND_DBUS_PATH, SUSPEND_DBUS_INTERFACE,
185 + (GAsyncReadyCallback) on_proxy_acquired, self);
188 + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
189 + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
190 + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
192 + CK_SUSPEND_DBUS_NAME, CK_SUSPEND_DBUS_PATH, CK_SUSPEND_DBUS_INTERFACE,
194 + (GAsyncReadyCallback) on_proxy_acquired, self);
195 +#ifdef SUSPEND_RESUME_SYSTEMD