]> git.pld-linux.org Git - packages/NetworkManager.git/blame - systemd-fallback.patch
- updated to 1.6.0
[packages/NetworkManager.git] / systemd-fallback.patch
CommitLineData
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],
38118a47
JB
28--- NetworkManager-1.6.0/src/nm-session-monitor.c.orig 2017-01-16 15:08:37.000000000 +0100
29+++ NetworkManager-1.6.0/src/nm-session-monitor.c 2017-01-26 20:00:57.570052887 +0100
30@@ -29,6 +29,7 @@
31 #include <sys/stat.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
38118a47 38@@ -53,13 +54,11 @@ struct _NMSessionMonitor {
ffec268f
MB
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 {
38118a47 52@@ -132,7 +131,6 @@ st_sd_finalize (NMSessionMonitor *monito
b761b8be 53
38118a47 54 /*****************************************************************************/
b761b8be 55
ffec268f
MB
56-#ifdef SESSION_TRACKING_CONSOLEKIT
57 typedef struct {
58 gboolean active;
59 } CkSession;
38118a47 60@@ -266,7 +264,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
38118a47 66 /*****************************************************************************/
b761b8be 67
38118a47 68@@ -338,13 +335,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;
38118a47 89@@ -356,26 +356,27 @@ 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
38118a47 108 finalize (GObject *object)
b761b8be 109 {
ffec268f 110 #ifdef SESSION_TRACKING_SYSTEMD
38118a47
JB
111+ if (sd_booted () > 0)
112 st_sd_finalize (NM_SESSION_MONITOR (object));
113+ else
ffec268f 114 #endif
38118a47 115-
ffec268f
MB
116-#ifdef SESSION_TRACKING_CONSOLEKIT
117 ck_finalize (NM_SESSION_MONITOR (object));
38118a47 118-#endif
d7d26b92 119
38118a47
JB
120 G_OBJECT_CLASS (nm_session_monitor_parent_class)->finalize (object);
121 }
13a8788c
JB
122--- NetworkManager-1.4.0/src/nm-sleep-monitor.c.orig 2016-08-24 15:09:03.000000000 +0200
123+++ NetworkManager-1.4.0/src/nm-sleep-monitor.c 2016-09-27 16:43:07.397044526 +0200
124@@ -26,6 +26,10 @@
ffec268f
MB
125 #include <sys/stat.h>
126 #include <gio/gunixfdlist.h>
127
128+#ifdef SUSPEND_RESUME_SYSTEMD
129+# include <systemd/sd-daemon.h>
130+#endif
131+
132 #include "nm-core-internal.h"
133 #include "NetworkManagerUtils.h"
134
13a8788c 135@@ -40,13 +44,24 @@
ffec268f 136
13a8788c 137 #elif defined (SUSPEND_RESUME_SYSTEMD)
ffec268f 138
13a8788c
JB
139-#define SUSPEND_DBUS_NAME "org.freedesktop.login1"
140-#define SUSPEND_DBUS_PATH "/org/freedesktop/login1"
141-#define SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager"
142+#define SD_SUSPEND_DBUS_NAME "org.freedesktop.login1"
143+#define SD_SUSPEND_DBUS_PATH "/org/freedesktop/login1"
144+#define SD_SUSPEND_DBUS_INTERFACE "org.freedesktop.login1.Manager"
145 #define USE_UPOWER 0
146 #define _NMLOG_PREFIX_NAME "sleep-monitor-sd"
147
148 #elif defined(SUSPEND_RESUME_CONSOLEKIT)
149+
150+#define USE_UPOWER 0
151+#define _NMLOG_PREFIX_NAME "sleep-monitor-ck"
152+
153+#else
154+
155+#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER
156+
157+#endif
158+
159+#if defined (SUSPEND_RESUME_SYSTEMD) || defined(SUSPEND_RESUME_CONSOLEKIT)
ffec268f
MB
160
161 /* ConsoleKit2 has added the same suspend/resume DBUS API that Systemd
162 * uses. http://consolekit2.github.io/ConsoleKit2/#Manager.Inhibit
13a8788c
JB
163@@ -55,12 +70,6 @@
164 #define SUSPEND_DBUS_NAME "org.freedesktop.ConsoleKit"
165 #define SUSPEND_DBUS_PATH "/org/freedesktop/ConsoleKit/Manager"
166 #define SUSPEND_DBUS_INTERFACE "org.freedesktop.ConsoleKit.Manager"
167-#define USE_UPOWER 0
168-#define _NMLOG_PREFIX_NAME "sleep-monitor-ck"
ffec268f 169-
13a8788c
JB
170-#else
171-
172-#error define one of SUSPEND_RESUME_SYSTEMD, SUSPEND_RESUME_CONSOLEKIT, or SUSPEND_RESUME_UPOWER
173
174 #endif
175
176@@ -342,6 +351,17 @@
d7d26b92 177 {
ffec268f 178 self->inhibit_fd = -1;
13a8788c 179 self->cancellable = g_cancellable_new ();
ffec268f 180+#ifdef SUSPEND_RESUME_SYSTEMD
13a8788c 181+ if (sd_booted () > 0)
ffec268f
MB
182+ g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
183+ G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
184+ G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
185+ NULL,
13a8788c
JB
186+ SD_SUSPEND_DBUS_NAME, SD_SUSPEND_DBUS_PATH, SD_SUSPEND_DBUS_INTERFACE,
187+ self->cancellable,
ffec268f 188+ (GAsyncReadyCallback) on_proxy_acquired, self);
13a8788c 189+ else
ffec268f 190+#endif
13a8788c
JB
191 g_dbus_proxy_new_for_bus (G_BUS_TYPE_SYSTEM,
192 G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
193 G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
This page took 0.06178 seconds and 4 git commands to generate.