[mate-screensaver] add mate-screensaver_systemd-login1-improvements.patch
Wolfgang Ulbrich
raveit65 at fedoraproject.org
Sun Oct 13 00:59:09 UTC 2013
commit cb724c733b1a90336db3fe6b30cd1a234e29fbfb
Author: raveit65 <chat-to-me at raveit.de>
Date: Sun Oct 13 02:57:57 2013 +0200
add mate-screensaver_systemd-login1-improvements.patch
mate-screensaver_systemd-login1-improvements.patch | 108 ++++++++++++++++++++
1 files changed, 108 insertions(+), 0 deletions(-)
---
diff --git a/mate-screensaver_systemd-login1-improvements.patch b/mate-screensaver_systemd-login1-improvements.patch
new file mode 100644
index 0000000..40ca8ea
--- /dev/null
+++ b/mate-screensaver_systemd-login1-improvements.patch
@@ -0,0 +1,108 @@
+diff -upr mate-screensaver-1.6.1-orig/configure.ac mate-screensaver-1.6.1/configure.ac
+--- mate-screensaver-1.6.1-orig/configure.ac 2013-08-02 15:59:17.000000000 +0200
++++ mate-screensaver-1.6.1/configure.ac 2013-10-07 12:37:17.872404000 +0200
+@@ -916,18 +916,32 @@ dnl ------------------------------------
+
+ AC_ARG_WITH(systemd,
+ AS_HELP_STRING([--with-systemd],
+- [Add systemd support]),,
+- with_systemd=auto)
++ [Add systemd support]),
++ [with_systemd=$withval], [with_systemd=auto])
+
+-use_systemd=no
+-if test "x$with_systemd" != "xno" ; then
+- use_systemd=yes
+- AC_DEFINE(WITH_SYSTEMD, 1, [systemd support])
++PKG_CHECK_MODULES(SYSTEMD,
++ [libsystemd-login],
++ [have_systemd=yes], [have_systemd=no])
+
+- PKG_CHECK_MODULES(SYSTEMD, libsystemd-login libsystemd-daemon)
++if test "x$with_systemd" = "xauto" ; then
++ if test x$have_systemd = xno ; then
++ use_systemd=no
++ else
++ use_systemd=yes
++ fi
++else
++ use_systemd=$with_systemd
+ fi
+-AM_CONDITIONAL(WITH_SYSTEMD, test x$use_systemd = xyes)
+-AC_SUBST(WITH_SYSTEMD)
++
++if test "x$use_systemd" = "xyes"; then
++ if test "x$have_systemd" = "xno"; then
++ AC_MSG_ERROR([Systemd support explicitly required, but systemd not found])
++ fi
++
++ AC_DEFINE(WITH_SYSTEMD, 1, [systemd support])
++fi
++AC_SUBST(SYSTEMD_CFLAGS)
++AC_SUBST(SYSTEMD_LIBS)
+
+ dnl ---------------------------------------------------------------------------
+ dnl libmatekbd
+diff -upr mate-screensaver-1.6.1-orig/src/gs-listener-dbus.c mate-screensaver-1.6.1/src/gs-listener-dbus.c
+--- mate-screensaver-1.6.1-orig/src/gs-listener-dbus.c 2013-08-02 15:59:17.000000000 +0200
++++ mate-screensaver-1.6.1/src/gs-listener-dbus.c 2013-10-07 12:37:17.873404000 +0200
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <time.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #include <glib/gi18n.h>
+
+@@ -33,7 +34,6 @@
+ #include <dbus/dbus-glib-lowlevel.h>
+
+ #ifdef WITH_SYSTEMD
+-#include <systemd/sd-daemon.h>
+ #include <systemd/sd-login.h>
+ #endif
+
+@@ -1677,14 +1677,14 @@ listener_dbus_handle_system_message (DBu
+
+ if (dbus_message_is_signal (message, SYSTEMD_LOGIND_SESSION_INTERFACE, "Unlock")) {
+ if (_listener_message_path_is_our_session (listener, message)) {
+- gs_debug ("Console kit requested session unlock");
++ gs_debug ("systemd requested session unlock");
+ gs_listener_set_active (listener, FALSE);
+ }
+
+ return DBUS_HANDLER_RESULT_HANDLED;
+ } else if (dbus_message_is_signal (message, SYSTEMD_LOGIND_SESSION_INTERFACE, "Lock")) {
+ if (_listener_message_path_is_our_session (listener, message)) {
+- gs_debug ("ConsoleKit requested session lock");
++ gs_debug ("systemd requested session lock");
+ g_signal_emit (listener, signals [LOCK], 0);
+ }
+
+@@ -2311,7 +2311,7 @@ gs_listener_acquire (GSListener *listene
+ ",member='PropertiesChanged'",
+ NULL);
+
+- goto finish;
++ return (acquired != -1);
+ }
+ #endif
+
+@@ -2339,7 +2339,6 @@ gs_listener_acquire (GSListener *listene
+ #endif
+ }
+
+-finish:
+ return (acquired != -1);
+ }
+
+@@ -2427,7 +2426,8 @@ gs_listener_init (GSListener *listener)
+ listener->priv = GS_LISTENER_GET_PRIVATE (listener);
+
+ #ifdef WITH_SYSTEMD
+- listener->priv->have_systemd = sd_booted () > 0;
++ /* check if logind is running */
++ listener->priv->have_systemd = (access("/run/systemd/seats/", F_OK) >= 0);
+ #endif
+
+ gs_listener_dbus_init (listener);
More information about the scm-commits
mailing list