]> git.pld-linux.org Git - packages/NetworkManager.git/blame - systemd-fallback.patch
up to 1.10.2
[packages/NetworkManager.git] / systemd-fallback.patch
CommitLineData
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,
This page took 0.144003 seconds and 4 git commands to generate.