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