]> git.pld-linux.org Git - packages/gnome-settings-daemon.git/blob - systemd-fallback.patch
- updated to 3.6.4
[packages/gnome-settings-daemon.git] / systemd-fallback.patch
1 diff -uNr gnome-settings-daemon-3.6.0/configure.ac gnome-settings-daemon-3.6.0.new/configure.ac
2 --- gnome-settings-daemon-3.6.0/configure.ac    2012-09-25 10:36:08.000000000 +0200
3 +++ gnome-settings-daemon-3.6.0.new/configure.ac        2012-10-03 20:20:58.796757197 +0200
4 @@ -347,7 +347,7 @@
5                [with_systemd=$enableval],
6                [with_systemd=no])
7  if test "$with_systemd" = "yes" ; then
8 -  PKG_CHECK_MODULES(SYSTEMD, [libsystemd-login])
9 +  PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon libsystemd-login])
10    AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is used for session tracking])
11    SESSION_TRACKING=systemd
12  else
13 diff -uNr gnome-settings-daemon-3.6.0/gnome-settings-daemon/gnome-settings-session.c gnome-settings-daemon-3.6.0.new/gnome-settings-daemon/gnome-settings-session.c
14 --- gnome-settings-daemon-3.6.0/gnome-settings-daemon/gnome-settings-session.c  2012-02-15 19:21:07.000000000 +0100
15 +++ gnome-settings-daemon-3.6.0.new/gnome-settings-daemon/gnome-settings-session.c      2012-10-03 20:20:58.796757197 +0200
16 @@ -30,6 +30,7 @@
17  #include "gnome-settings-session.h"
18  
19  #ifdef HAVE_SYSTEMD
20 +#include <systemd/sd-daemon.h>
21  #include <systemd/sd-login.h>
22  
23  typedef struct
24 @@ -130,10 +131,9 @@
25  {
26  #ifdef HAVE_SYSTEMD
27          GSource                   *sd_source;
28 -#else
29 +#endif
30         GDBusProxy              *proxy_session;
31         GCancellable            *cancellable;
32 -#endif
33         gchar                   *session_id;
34         GnomeSettingsSessionState state;
35  };
36 @@ -237,7 +237,7 @@
37          return TRUE;
38  }
39  
40 -#else /* HAVE_SYSTEMD */
41 +#endif /* HAVE_SYSTEMD */
42  
43  static void
44  gnome_settings_session_proxy_signal_cb (GDBusProxy *proxy,
45 @@ -371,22 +371,26 @@
46         g_object_unref (proxy_manager);
47  }
48  
49 -#endif /* HAVE_SYSTEMD */
50 -
51  static void
52  gnome_settings_session_init (GnomeSettingsSession *session)
53  {
54         session->priv = GNOME_SETTINGS_SESSION_GET_PRIVATE (session);
55  
56  #ifdef HAVE_SYSTEMD
57 -        sd_pid_get_session (getpid(), &session->priv->session_id);
58 -
59 -        session->priv->sd_source = sd_source_new ();
60 -        g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
61 -        g_source_attach (session->priv->sd_source, NULL);
62 -
63 -        sessions_changed (session);
64 -#else
65 +       session->priv->sd_source = NULL;
66 +       
67 +       if (sd_booted () > 0) {
68 +               sd_pid_get_session (getpid(), &session->priv->session_id);
69 +
70 +               session->priv->sd_source = sd_source_new ();
71 +               g_source_set_callback (session->priv->sd_source, sessions_changed, session, NULL);
72 +               g_source_attach (session->priv->sd_source, NULL);
73 +
74 +               sessions_changed (session);
75 +       
76 +               return;
77 +        }
78 +#endif
79         session->priv->cancellable = g_cancellable_new ();
80  
81         /* connect to ConsoleKit */
82 @@ -399,7 +403,6 @@
83                                   session->priv->cancellable,
84                                   got_manager_proxy_cb,
85                                   session);
86 -#endif
87  }
88  
89  static void
90 @@ -415,15 +418,16 @@
91          if (session->priv->sd_source != NULL) {
92                  g_source_destroy (session->priv->sd_source);
93                  g_source_unref (session->priv->sd_source);
94 +                goto out;
95          }
96 -#else
97 +#endif
98         g_cancellable_cancel (session->priv->cancellable);
99  
100         if (session->priv->proxy_session != NULL)
101                 g_object_unref (session->priv->proxy_session);
102         g_object_unref (session->priv->cancellable);
103 -#endif
104  
105 +out:
106         G_OBJECT_CLASS (gnome_settings_session_parent_class)->finalize (object);
107  }
108  
109 diff -uNr gnome-settings-daemon-3.6.0/plugins/common/gsd-power-helper.c gnome-settings-daemon-3.6.0.new/plugins/common/gsd-power-helper.c
110 --- gnome-settings-daemon-3.6.0/plugins/common/gsd-power-helper.c       2012-09-17 18:48:45.000000000 +0200
111 +++ gnome-settings-daemon-3.6.0.new/plugins/common/gsd-power-helper.c   2012-10-03 20:20:58.796757197 +0200
112 @@ -79,7 +79,7 @@
113          g_object_unref (bus);
114  }
115  
116 -#else /* HAVE_SYSTEMD */
117 +#endif /* HAVE_SYSTEMD */
118  
119  static void
120  consolekit_stop_cb (GObject *source_object,
121 @@ -170,34 +170,37 @@
122                             -1, NULL,
123                             upower_sleep_cb, NULL);
124  }
125 -#endif /* HAVE_SYSTEMD */
126 +
127  
128  void
129  gsd_power_suspend (GDBusProxy *upower_proxy)
130  {
131  #ifdef HAVE_SYSTEMD
132 -       systemd_suspend ();
133 -#else
134 -       upower_suspend (upower_proxy);
135 +       if (sd_booted () > 0)
136 +               systemd_suspend ();
137 +       else
138  #endif
139 +               upower_suspend (upower_proxy);
140  }
141  
142  void
143  gsd_power_poweroff (void)
144  {
145  #ifdef HAVE_SYSTEMD
146 -       systemd_stop ();
147 -#else
148 -       consolekit_stop ();
149 +       if (sd_booted () > 0)
150 +               systemd_stop ();
151 +       else
152  #endif
153 +               consolekit_stop ();
154  }
155  
156  void
157  gsd_power_hibernate (GDBusProxy *upower_proxy)
158  {
159  #ifdef HAVE_SYSTEMD
160 -       systemd_hibernate ();
161 -#else
162 -       upower_hibernate (upower_proxy);
163 +       if (sd_booted () > 0)
164 +               systemd_hibernate ();
165 +       else
166  #endif
167 +               upower_hibernate (upower_proxy);
168  }
169 diff -uNr gnome-settings-daemon-3.6.0/plugins/common/Makefile.am gnome-settings-daemon-3.6.0.new/plugins/common/Makefile.am
170 --- gnome-settings-daemon-3.6.0/plugins/common/Makefile.am      2012-09-17 18:48:45.000000000 +0200
171 +++ gnome-settings-daemon-3.6.0.new/plugins/common/Makefile.am  2012-10-03 20:24:52.764019870 +0200
172 @@ -17,6 +17,7 @@
173         $(PLUGIN_CFLAGS)                \
174         $(SETTINGS_PLUGIN_CFLAGS)       \
175         $(COMMON_CFLAGS)                \
176 +       $(SYSTEMD_CFLAGS)               \
177         $(AM_CFLAGS)
178  
179  libcommon_la_LDFLAGS = \
180 @@ -24,6 +25,7 @@
181  
182  libcommon_la_LIBADD  = \
183         $(SETTINGS_PLUGIN_LIBS)         \
184 +       $(SYSTEMD_LIBS)                 \
185         $(COMMON_LIBS)
186  
187  libexec_PROGRAMS = gsd-test-input-helper
This page took 0.071685 seconds and 3 git commands to generate.