]>
Commit | Line | Data |
---|---|---|
ffec268f MB |
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_ | |
4 | # output | |
5 | session_tracking= | |
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])]) | |
9 | else | |
10 | have_systemd_logind=no | |
d7d26b92 | 11 | fi |
ffec268f MB |
12 | @@ -447,12 +447,13 @@ if test "$have_systemd_logind" = "yes"; |
13 | session_tracking="$session_tracking, systemd-logind" | |
14 | fi | |
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" | |
20 | fi | |
21 | session_tracking="$(printf '%s' "${session_tracking}" | sed 's/^, //')" | |
b761b8be | 22 | |
ffec268f | 23 | +AC_DEFINE([CKDB_PATH], "/var/run/ConsoleKit/database", [Path to ConsoleKit database]) |
b761b8be | 24 | + |
ffec268f MB |
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], | |
f6935939 JB |
28 | --- NetworkManager-1.4.4/src/nm-session-monitor.c.orig 2016-12-15 20:38:53.000000000 +0100 |
29 | +++ NetworkManager-1.4.4/src/nm-session-monitor.c 2016-12-18 20:44:54.507822307 +0100 | |
ffec268f MB |
30 | @@ -30,6 +30,7 @@ |
31 | #include "NetworkManagerUtils.h" | |
b761b8be | 32 | |
ffec268f MB |
33 | #ifdef SESSION_TRACKING_SYSTEMD |
34 | +#include <systemd/sd-daemon.h> | |
35 | #include <systemd/sd-login.h> | |
36 | #endif | |
37 | ||
38 | @@ -52,13 +53,11 @@ struct _NMSessionMonitor { | |
39 | } sd; | |
40 | #endif | |
41 | ||
42 | -#ifdef SESSION_TRACKING_CONSOLEKIT | |
43 | struct { | |
44 | GFileMonitor *monitor; | |
45 | GHashTable *cache; | |
46 | time_t timestamp; | |
47 | } ck; | |
48 | -#endif | |
b761b8be ŁK |
49 | }; |
50 | ||
51 | struct _NMSessionMonitorClass { | |
f6935939 | 52 | @@ -150,7 +149,6 @@ st_sd_finalize (NMSessionMonitor *monito |
b761b8be | 53 | |
ffec268f | 54 | /********************************************************************/ |
b761b8be | 55 | |
ffec268f MB |
56 | -#ifdef SESSION_TRACKING_CONSOLEKIT |
57 | typedef struct { | |
58 | gboolean active; | |
59 | } CkSession; | |
f6935939 | 60 | @@ -284,7 +282,6 @@ ck_finalize (NMSessionMonitor *monitor) |
ffec268f MB |
61 | g_clear_pointer (&monitor->ck.cache, g_hash_table_unref); |
62 | g_clear_object (&monitor->ck.monitor); | |
b761b8be | 63 | } |
ffec268f | 64 | -#endif /* SESSION_TRACKING_CONSOLEKIT */ |
b761b8be | 65 | |
ffec268f | 66 | /********************************************************************/ |
b761b8be | 67 | |
f6935939 | 68 | @@ -356,13 +353,16 @@ nm_session_monitor_session_exists (NMSes |
ffec268f | 69 | g_return_val_if_fail (NM_IS_SESSION_MONITOR (self), FALSE); |
8f9f9f5f | 70 | |
ffec268f MB |
71 | #ifdef SESSION_TRACKING_SYSTEMD |
72 | - if (st_sd_session_exists (self, uid, active)) | |
73 | - return TRUE; | |
8f9f9f5f | 74 | + if (sd_booted () > 0) { |
ffec268f MB |
75 | + if (st_sd_session_exists (self, uid, active)) |
76 | + return TRUE; | |
b761b8be | 77 | + } else { |
ffec268f MB |
78 | #endif |
79 | - | |
80 | -#ifdef SESSION_TRACKING_CONSOLEKIT | |
81 | if (ck_session_exists (self, uid, active)) | |
82 | return TRUE; | |
b761b8be | 83 | + |
ffec268f | 84 | +#ifdef SESSION_TRACKING_SYSTEMD |
b761b8be | 85 | + } |
ffec268f | 86 | #endif |
b761b8be | 87 | |
ffec268f | 88 | return FALSE; |
f6935939 | 89 | @@ -374,25 +374,31 @@ static void |
ffec268f | 90 | nm_session_monitor_init (NMSessionMonitor *monitor) |
b761b8be | 91 | { |
ffec268f | 92 | #ifdef SESSION_TRACKING_SYSTEMD |
8f9f9f5f | 93 | + if (sd_booted () > 0) { |
f6935939 JB |
94 | st_sd_init (monitor); |
95 | _LOGD ("using systemd-logind session tracking"); | |
96 | + } else | |
ffec268f | 97 | #endif |
8f9f9f5f | 98 | |
ffec268f | 99 | -#ifdef SESSION_TRACKING_CONSOLEKIT |
f6935939 | 100 | + { |
ffec268f | 101 | ck_init (monitor); |
f6935939 JB |
102 | _LOGD ("using ConsoleKit session tracking"); |
103 | -#endif | |
b761b8be ŁK |
104 | + } |
105 | } | |
106 | ||
f6935939 | 107 | static void |
ffec268f | 108 | nm_session_monitor_finalize (GObject *object) |
b761b8be | 109 | { |
ffec268f MB |
110 | #ifdef SESSION_TRACKING_SYSTEMD |
111 | - st_sd_finalize (NM_SESSION_MONITOR (object)); | |
8f9f9f5f | 112 | + if (sd_booted () > 0) { |
ffec268f | 113 | + st_sd_finalize (NM_SESSION_MONITOR (object)); |
b761b8be | 114 | + } else { |
ffec268f | 115 | #endif |
b761b8be | 116 | |
ffec268f MB |
117 | -#ifdef SESSION_TRACKING_CONSOLEKIT |
118 | ck_finalize (NM_SESSION_MONITOR (object)); | |
b761b8be | 119 | + |
ffec268f MB |
120 | +#ifdef SESSION_TRACKING_SYSTEMD |
121 | + } | |
122 | #endif | |
d7d26b92 | 123 | |
ffec268f | 124 | if (G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize != NULL) |
13a8788c JB |
125 | --- NetworkManager-1.4.0/src/nm-sleep-monitor.c.orig 2016-08-24 15:09:03.000000000 +0200 |
126 | +++ NetworkManager-1.4.0/src/nm-sleep-monitor.c 2016-09-27 16:43:07.397044526 +0200 | |
127 | @@ -26,6 +26,10 @@ | |
ffec268f MB |
128 | #include <sys/stat.h> |
129 | #include <gio/gunixfdlist.h> | |
130 | ||
131 | +#ifdef SUSPEND_RESUME_SYSTEMD | |
132 | +# include <systemd/sd-daemon.h> | |
133 | +#endif | |
134 | + | |
135 | #include "nm-core-internal.h" | |
136 | #include "NetworkManagerUtils.h" | |
137 | ||
13a8788c | 138 | @@ -40,13 +44,24 @@ |
ffec268f | 139 | |
13a8788c | 140 | #elif defined (SUSPEND_RESUME_SYSTEMD) |
ffec268f | 141 | |
13a8788c JB |
142 | -#define SUSPEND_DBUS_NAME "org.freedesktop.login1" |
143 | -#define SUSPEND_DBUS_PATH "/org/freedesktop/login1" | |
144 | -#define SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager" | |
145 | +#define SD_SUSPEND_DBUS_NAME "org.freedesktop.login1" | |
146 | +#define SD_SUSPEND_DBUS_PATH "/org/freedesktop/login1" | |
147 | +#define SD_SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager" | |
148 | #define USE_UPOWER 0 | |
149 | #define _NMLOG_PREFIX_NAME "sleep-monitor-sd" | |
150 | ||
151 | #elif defined(SUSPEND_RESUME_CONSOLEKIT) | |
152 | + | |
153 | +#define USE_UPOWER 0 | |
154 | +#define _NMLOG_PREFIX_NAME "sleep-monitor-ck" | |
155 | + | |
156 | +#else | |
157 | + | |
158 | +#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER | |
159 | + | |
160 | +#endif | |
161 | + | |
162 | +#if defined (SUSPEND_RESUME_SYSTEMD) || defined(SUSPEND_RESUME_CONSOLEKIT) | |
ffec268f MB |
163 | |
164 | /* ConsoleKit2 has added the same suspend/resume DBUS API that Systemd | |
165 | * uses. http://consolekit2.github.io/ConsoleKit2/#Manager.Inhibit | |
13a8788c JB |
166 | @@ -55,12 +70,6 @@ |
167 | #define SUSPEND_DBUS_NAME "org.freedesktop.ConsoleKit" | |
168 | #define SUSPEND_DBUS_PATH "/org/freedesktop/ConsoleKit/Manager" | |
169 | #define SUSPEND_DBUS_INTERFACE "org.freedesktop.ConsoleKit.Manager" | |
170 | -#define USE_UPOWER 0 | |
171 | -#define _NMLOG_PREFIX_NAME "sleep-monitor-ck" | |
ffec268f | 172 | - |
13a8788c JB |
173 | -#else |
174 | - | |
175 | -#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER | |
176 | ||
177 | #endif | |
178 | ||
179 | @@ -342,6 +351,17 @@ | |
d7d26b92 | 180 | { |
ffec268f | 181 | self->inhibit_fd = -1; |
13a8788c | 182 | self->cancellable = g_cancellable_new (); |
ffec268f | 183 | +#ifdef SUSPEND_RESUME_SYSTEMD |
13a8788c | 184 | + if (sd_booted () > 0) |
ffec268f MB |
185 | + g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, |
186 | + G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START | | |
187 | + G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, | |
188 | + NULL, | |
13a8788c JB |
189 | + SD_SUSPEND_DBUS_NAME, SD_SUSPEND_DBUS_PATH, SD_SUSPEND_DBUS_INTERFACE, |
190 | + self->cancellable, | |
ffec268f | 191 | + (GAsyncReadyCallback) on_proxy_acquired, self); |
13a8788c | 192 | + else |
ffec268f | 193 | +#endif |
13a8788c JB |
194 | g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM, |
195 | G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START | | |
196 | G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES, |