summaryrefslogtreecommitdiff
path: root/gnome-unstable/gnome-control-center/systemd-fallback.patch
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-09-26 00:54:07 -0700
committerroot <root@rshg054.dnsready.net>2012-09-26 00:54:07 -0700
commit483f8b3ac46ac2d40e8cc2f9c25365741bebc791 (patch)
tree296f95ddbf8e5cd3ddfeea60e88a64b3593f9e1e /gnome-unstable/gnome-control-center/systemd-fallback.patch
parentfca7e8a735bd3ae5114a3cdf12efbce3b1d10224 (diff)
Wed Sep 26 00:54:06 PDT 2012
Diffstat (limited to 'gnome-unstable/gnome-control-center/systemd-fallback.patch')
-rw-r--r--gnome-unstable/gnome-control-center/systemd-fallback.patch81
1 files changed, 81 insertions, 0 deletions
diff --git a/gnome-unstable/gnome-control-center/systemd-fallback.patch b/gnome-unstable/gnome-control-center/systemd-fallback.patch
new file mode 100644
index 000000000..709e54019
--- /dev/null
+++ b/gnome-unstable/gnome-control-center/systemd-fallback.patch
@@ -0,0 +1,81 @@
+commit 9873a7536844f5c38c2a123be58175c2774e5dcc
+Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+Date: Mon Mar 12 01:12:11 2012 +0100
+
+ Fallback to CK if systemd is not available
+
+ Be nice to distributions where systemd is optional. This will select
+ the code path at runtime depending on whether the system was booted
+ using systemd.
+
+diff --git a/configure.ac b/configure.ac
+index aee97ac..867f061 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -56,7 +56,7 @@ AC_ARG_ENABLE([systemd],
+ [with_systemd=$enableval],
+ [with_systemd=no])
+ if test "$with_systemd" = "yes" ; then
+- SYSTEMD=libsystemd-login
++ SYSTEMD="libsystemd-login libsystemd-daemon"
+ AC_DEFINE(HAVE_SYSTEMD, 1, [Define to 1 if systemd is available])
+ else
+ SYSTEMD=
+diff --git a/panels/user-accounts/um-user.c b/panels/user-accounts/um-user.c
+index f027754..5ebbe29 100644
+--- a/panels/user-accounts/um-user.c
++++ b/panels/user-accounts/um-user.c
+@@ -37,6 +37,11 @@
+
+ #include <gio/gunixoutputstream.h>
+
++#ifdef HAVE_SYSTEMD
++# include <systemd/sd-login.h>
++# include <systemd/sd-daemon.h>
++#endif
++
+ #include "um-user.h"
+ #include "um-account-type.h"
+ #include "um-utils.h"
+@@ -1003,25 +1008,18 @@ um_user_set_password (UmUser *user,
+ }
+ }
+
+-#ifdef HAVE_SYSTEMD
+-
+-#include <systemd/sd-login.h>
+-
+ gboolean
+ um_user_is_logged_in (UmUser *user)
+ {
+- int n_sessions;
+-
+- n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL) > 0;
+-
+- return n_sessions > 0;
+-}
++#ifdef HAVE_SYSTEMD
++ if (sd_booted () > 0) {
++ int n_sessions;
+
+-#else
++ n_sessions = sd_uid_get_sessions (um_user_get_uid (user), 0, NULL);
+
+-gboolean
+-um_user_is_logged_in (UmUser *user)
+-{
++ return n_sessions > 0;
++ }
++#endif
+ GVariant *result;
+ GVariantIter *iter;
+ gint n_sessions;
+@@ -1052,8 +1050,6 @@ um_user_is_logged_in (UmUser *user)
+ return n_sessions > 0;
+ }
+
+-#endif
+-
+ void
+ um_user_set_automatic_login (UmUser *user,
+ gboolean enabled)