kevin pushed to xfce4-session (master). "Add patch for xflock4 to look for an use a user defined screen locker in xfconf (..more)"

notifications at fedoraproject.org notifications at fedoraproject.org
Sun Mar 29 13:05:54 UTC 2015


>From 35635fa08da9bc6e5214fdc7c1e2c6b7787ce57a Mon Sep 17 00:00:00 2001
From: Kevin Fenzi <kevin at scrye.com>
Date: Sun, 29 Mar 2015 07:05:42 -0600
Subject: Add patch for xflock4 to look for an use a user defined screen locker
 in xfconf

- Fixes bug #1166227

diff --git a/xfce4-session-4.10.1-bashisms.patch b/xfce4-session-4.10.1-bashisms.patch
deleted file mode 100644
index 393e051..0000000
--- a/xfce4-session-4.10.1-bashisms.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur xfce4-session-4.10.1.orig/scripts/startxfce4.in xfce4-session-4.10.1/scripts/startxfce4.in
---- xfce4-session-4.10.1.orig/scripts/startxfce4.in	2014-10-07 18:38:25.720027657 +0200
-+++ xfce4-session-4.10.1/scripts/startxfce4.in	2014-10-07 18:40:09.522178389 +0200
-@@ -24,7 +24,7 @@
-   OPTS=""
-   for OPT in $*
-   do
--    if test "x$OPT" == "x--help"
-+    if test "x$OPT" = "x--help"
-     then
-       # print help and exit
-       echo "Usage:"
-@@ -37,7 +37,7 @@
-       echo
- 
-       exit 0
--    elif test "x$OPT" == "x--with-ck-launch"
-+    elif test "x$OPT" = "x--with-ck-launch"
-     then
-       # try to launch xfce4-session with ck-launch-session in xinitrc
-       XFCE4_SESSION_WITH_CK="1"
diff --git a/xfce4-session-4.10.1-systemd.patch b/xfce4-session-4.10.1-systemd.patch
deleted file mode 100644
index 9d714a3..0000000
--- a/xfce4-session-4.10.1-systemd.patch
+++ /dev/null
@@ -1,398 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 46ff366..8feee0b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -98,7 +98,7 @@ XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
- 
- dnl Check for polkit / systemd integration
- XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100],
--                           [systemd], [Systemd support (through polit)])
-+                           [systemd], [Systemd support (through polkit)])
- 
- dnl Check for debugging support
- XDT_FEATURE_DEBUG([xfsm_debug_default])
-@@ -202,10 +202,10 @@ echo " * Legacy session management:      yes"
- else
- echo " * Legacy session management:      no"
- fi
--if test x"$GNOME_KEYRING_FOUND" = x"yes"; then
--echo " * Gnome Keyring support:          yes"
-+if test x"$SYSTEMD_FOUND" = x"yes"; then
-+echo " * Systemd support (through polkit):          yes"
- else
--echo " * Gnome Keyring support:          no"
-+echo " * Systemd support (through polkit):          no"
- fi
- 
- echo
-diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
-index 5472b33..ea706fd 100644
---- a/xfce4-session/Makefile.am
-+++ b/xfce4-session/Makefile.am
-@@ -38,6 +38,8 @@ xfce4_session_SOURCES =							\
- 	xfsm-compat-gnome.h						\
- 	xfsm-compat-kde.c						\
- 	xfsm-compat-kde.h						\
-+	xfsm-consolekit.c						\
-+	xfsm-consolekit.h						\
- 	xfsm-dns.c							\
- 	xfsm-dns.h							\
- 	xfsm-error.c							\
-@@ -67,10 +69,6 @@ if HAVE_SYSTEMD
- xfce4_session_SOURCES +=						\
- 	xfsm-systemd.c							\
- 	xfsm-systemd.h
--else
--xfce4_session_SOURCES +=						\
--	xfsm-consolekit.c						\
--	xfsm-consolekit.h
- endif
- 
- xfce4_session_CFLAGS =							\
-diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c
-index 4c483a7..329c4f6 100644
---- a/xfce4-session/xfsm-shutdown.c
-+++ b/xfce4-session/xfsm-shutdown.c
-@@ -63,6 +63,7 @@
- #include <xfce4-session/xfsm-shutdown.h>
- #include <xfce4-session/xfsm-compat-gnome.h>
- #include <xfce4-session/xfsm-compat-kde.h>
-+#include <xfce4-session/xfsm-consolekit.h>
- #include <xfce4-session/xfsm-fadeout.h>
- #include <xfce4-session/xfsm-global.h>
- #include <xfce4-session/xfsm-legacy.h>
-@@ -70,8 +71,6 @@
- 
- #ifdef HAVE_SYSTEMD
- #include <xfce4-session/xfsm-systemd.h>
--#else
--#include <xfce4-session/xfsm-consolekit.h>
- #endif
- 
- static void xfsm_shutdown_finalize  (GObject      *object);
-@@ -98,9 +97,8 @@ struct _XfsmShutdown
- 
- #ifdef HAVE_SYSTEMD
-   XfsmSystemd    *systemd;
--#else
--  XfsmConsolekit *consolekit;
- #endif
-+  XfsmConsolekit *consolekit;
-   XfsmUPower     *upower;
- 
-   /* kiosk settings */
-@@ -139,10 +137,14 @@ xfsm_shutdown_init (XfsmShutdown *shutdown)
-   XfceKiosk *kiosk;
- 
- #ifdef HAVE_SYSTEMD
--  shutdown->systemd = xfsm_systemd_get ();
--#else
--  shutdown->consolekit = xfsm_consolekit_get ();
-+  shutdown->consolekit = NULL;
-+  shutdown->systemd = NULL;
-+  if (LOGIND_RUNNING())
-+    shutdown->systemd = xfsm_systemd_get ();
-+  else
- #endif
-+  shutdown->consolekit = xfsm_consolekit_get ();
-+
-   shutdown->upower = xfsm_upower_get ();
-   shutdown->helper_state = SUDO_NOT_INITIAZED;
-   shutdown->helper_require_password = FALSE;
-@@ -162,10 +164,11 @@ xfsm_shutdown_finalize (GObject *object)
-   XfsmShutdown *shutdown = XFSM_SHUTDOWN (object);
- 
- #ifdef HAVE_SYSTEMD
--  g_object_unref (G_OBJECT (shutdown->systemd));
--#else
--  g_object_unref (G_OBJECT (shutdown->consolekit));
-+  if (shutdown->systemd != NULL)
-+    g_object_unref (G_OBJECT (shutdown->systemd));
- #endif
-+  if (shutdown->consolekit != NULL)
-+    g_object_unref (G_OBJECT (shutdown->consolekit));
-   g_object_unref (G_OBJECT (shutdown->upower));
- 
-   /* close down helper */
-@@ -657,10 +660,11 @@ xfsm_shutdown_try_restart (XfsmShutdown  *shutdown,
-     return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error);
-   else
- #ifdef HAVE_SYSTEMD
--    return xfsm_systemd_try_restart (shutdown->systemd, error);
--#else
--    return xfsm_consolekit_try_restart (shutdown->consolekit, error);
-+    if (shutdown->systemd != NULL)
-+      return xfsm_systemd_try_restart (shutdown->systemd, error);
-+    else
- #endif
-+    return xfsm_consolekit_try_restart (shutdown->consolekit, error);
- }
- 
- 
-@@ -678,10 +682,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown  *shutdown,
-     return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error);
-   else
- #ifdef HAVE_SYSTEMD
--    return xfsm_systemd_try_shutdown (shutdown->systemd, error);
--#else
--    return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
-+    if (shutdown->systemd != NULL)
-+      return xfsm_systemd_try_shutdown (shutdown->systemd, error);
-+    else
- #endif
-+    return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
- }
- 
- 
-@@ -692,6 +697,11 @@ xfsm_shutdown_try_suspend (XfsmShutdown  *shutdown,
- {
-   g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
- 
-+#ifdef HAVE_SYSTEMD
-+  if (shutdown->systemd != NULL)
-+    return xfsm_systemd_try_suspend (shutdown->systemd, error);
-+  else
-+#endif
-   return xfsm_upower_try_suspend (shutdown->upower, error);
- }
- 
-@@ -703,6 +713,11 @@ xfsm_shutdown_try_hibernate (XfsmShutdown  *shutdown,
- {
-   g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
- 
-+#ifdef HAVE_SYSTEMD
-+  if (shutdown->systemd != NULL)
-+    return xfsm_systemd_try_hibernate (shutdown->systemd, error);
-+  else
-+#endif
-   return xfsm_upower_try_hibernate (shutdown->upower, error);
- }
- 
-@@ -722,10 +737,14 @@ xfsm_shutdown_can_restart (XfsmShutdown  *shutdown,
-     }
- 
- #ifdef HAVE_SYSTEMD
--  if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
--#else
--  if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
-+  if (shutdown->systemd != NULL)
-+    {
-+      if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
-+        return TRUE;
-+    }
-+  else
- #endif
-+  if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
-     return TRUE;
- 
-   if (xfsm_shutdown_sudo_init (shutdown, error))
-@@ -753,10 +772,14 @@ xfsm_shutdown_can_shutdown (XfsmShutdown  *shutdown,
-     }
- 
- #ifdef HAVE_SYSTEMD
--  if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
--#else
--  if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
-+  if (shutdown->systemd != NULL)
-+    {
-+      if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
-+        return TRUE;
-+    }
-+  else
- #endif
-+  if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
-     return TRUE;
- 
-   if (xfsm_shutdown_sudo_init (shutdown, error))
-@@ -784,6 +807,12 @@ xfsm_shutdown_can_suspend (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#ifdef HAVE_SYSTEMD
-+  if (shutdown->systemd != NULL)
-+    return xfsm_systemd_can_suspend (shutdown->systemd, can_suspend,
-+                                     auth_suspend, error);
-+  else
-+#endif
-   return xfsm_upower_can_suspend (shutdown->upower, can_suspend, 
-                                   auth_suspend, error);
- }
-@@ -804,6 +833,12 @@ xfsm_shutdown_can_hibernate (XfsmShutdown  *shutdown,
-       return TRUE;
-     }
- 
-+#ifdef HAVE_SYSTEMD
-+  if (shutdown->systemd != NULL)
-+    return xfsm_systemd_can_hibernate (shutdown->systemd, can_hibernate,
-+                                       auth_hibernate, error);
-+  else
-+#endif
-   return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate,
-                                     auth_hibernate, error);
- }
-diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c
-index 7bdd39d..f18fbf7 100644
---- a/xfce4-session/xfsm-systemd.c
-+++ b/xfce4-session/xfsm-systemd.c
-@@ -24,6 +24,7 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
- 
-+#include <libxfsm/xfsm-util.h>
- #include <xfce4-session/xfsm-systemd.h>
- 
- 
-@@ -33,8 +34,12 @@
- #define SYSTEMD_DBUS_INTERFACE          "org.freedesktop.login1.Manager"
- #define SYSTEMD_REBOOT_ACTION           "Reboot"
- #define SYSTEMD_POWEROFF_ACTION         "PowerOff"
-+#define SYSTEMD_SUSPEND_ACTION          "Suspend"
-+#define SYSTEMD_HIBERNATE_ACTION        "Hibernate"
- #define SYSTEMD_REBOOT_TEST             "org.freedesktop.login1.reboot"
- #define SYSTEMD_POWEROFF_TEST           "org.freedesktop.login1.power-off"
-+#define SYSTEMD_SUSPEND_TEST            "org.freedesktop.login1.suspend"
-+#define SYSTEMD_HIBERNATE_TEST          "org.freedesktop.login1.hibernate"
- 
- 
- 
-@@ -93,6 +98,22 @@ xfsm_systemd_finalize (GObject *object)
- }
- 
- 
-+
-+static gboolean
-+xfsm_systemd_lock_screen (GError **error)
-+{
-+  XfconfChannel *channel;
-+  gboolean       ret = TRUE;
-+
-+  channel = xfsm_open_config ();
-+  if (xfconf_channel_get_bool (channel, "/shutdown/LockScreen", FALSE))
-+      ret = g_spawn_command_line_async ("xflock4", error);
-+
-+  return ret;
-+}
-+
-+
-+
- static gboolean
- xfsm_systemd_can_method (XfsmSystemd  *systemd,
-                          gboolean     *can_method,
-@@ -205,6 +226,34 @@ xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
- 
- 
- gboolean
-+xfsm_systemd_try_suspend (XfsmSystemd  *systemd,
-+                          GError      **error)
-+{
-+  if (!xfsm_systemd_lock_screen (error))
-+    return FALSE;
-+
-+  return xfsm_systemd_try_method (systemd,
-+                                  SYSTEMD_SUSPEND_ACTION,
-+                                  error);
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_try_hibernate (XfsmSystemd  *systemd,
-+                            GError      **error)
-+{
-+  if (!xfsm_systemd_lock_screen (error))
-+    return FALSE;
-+
-+  return xfsm_systemd_try_method (systemd,
-+                                  SYSTEMD_HIBERNATE_ACTION,
-+                                  error);
-+}
-+
-+
-+
-+gboolean
- xfsm_systemd_can_restart (XfsmSystemd  *systemd,
-                           gboolean     *can_restart,
-                           GError      **error)
-@@ -227,3 +276,39 @@ xfsm_systemd_can_shutdown (XfsmSystemd  *systemd,
-                                   SYSTEMD_POWEROFF_TEST,
-                                   error);
- }
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_suspend (XfsmSystemd  *systemd,
-+                          gboolean     *can_suspend,
-+                          gboolean     *auth_suspend,
-+                          GError      **error)
-+{
-+  gboolean ret = FALSE;
-+
-+  ret = xfsm_systemd_can_method (systemd,
-+                                 can_suspend,
-+                                 SYSTEMD_SUSPEND_TEST,
-+                                 error);
-+  *auth_suspend = *can_suspend;
-+  return ret;
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_hibernate (XfsmSystemd  *systemd,
-+                            gboolean     *can_hibernate,
-+                            gboolean     *auth_hibernate,
-+                            GError      **error)
-+{
-+  gboolean ret = FALSE;
-+
-+  ret = xfsm_systemd_can_method (systemd,
-+                                 can_hibernate,
-+                                 SYSTEMD_HIBERNATE_TEST,
-+                                 error);
-+  *auth_hibernate = *can_hibernate;
-+  return ret;
-+}
-diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h
-index 8223622..c5e74b5 100644
---- a/xfce4-session/xfsm-systemd.h
-+++ b/xfce4-session/xfsm-systemd.h
-@@ -22,6 +22,8 @@
- #ifndef __XFSM_SYSTEMD_H__
- #define __XFSM_SYSTEMD_H__
- 
-+#define LOGIND_RUNNING() (access ("/run/systemd/seats/", F_OK) >= 0)
-+
- typedef struct _XfsmSystemdClass XfsmSystemdClass;
- typedef struct _XfsmSystemd      XfsmSystemd;
- 
-@@ -42,6 +44,12 @@ gboolean     xfsm_systemd_try_restart  (XfsmSystemd  *systemd,
- gboolean     xfsm_systemd_try_shutdown (XfsmSystemd  *systemd,
-                                         GError      **error);
- 
-+gboolean     xfsm_systemd_try_suspend  (XfsmSystemd  *systemd,
-+                                        GError      **error);
-+
-+gboolean     xfsm_systemd_try_hibernate (XfsmSystemd *systemd,
-+                                        GError      **error);
-+
- gboolean     xfsm_systemd_can_restart  (XfsmSystemd  *systemd,
-                                         gboolean     *can_restart,
-                                         GError      **error);
-@@ -50,6 +58,16 @@ gboolean     xfsm_systemd_can_shutdown (XfsmSystemd  *systemd,
-                                         gboolean     *can_shutdown,
-                                         GError      **error);
- 
-+gboolean     xfsm_systemd_can_suspend  (XfsmSystemd  *systemd,
-+                                        gboolean     *can_suspend,
-+                                        gboolean     *auth_suspend,
-+                                        GError      **error);
-+
-+gboolean     xfsm_systemd_can_hibernate (XfsmSystemd *systemd,
-+                                        gboolean     *can_hibernate,
-+                                        gboolean     *auth_hibernate,
-+                                        GError      **error);
-+
- G_END_DECLS
- 
- #endif  /* __XFSM_SYSTEMD_H__ */
diff --git a/xfce4-session-4.12.1-xflock-xfconf.patch b/xfce4-session-4.12.1-xflock-xfconf.patch
new file mode 100644
index 0000000..f5af845
--- /dev/null
+++ b/xfce4-session-4.12.1-xflock-xfconf.patch
@@ -0,0 +1,23 @@
+diff -Nur xfce4-session-4.12.1.orig/scripts/xflock4 xfce4-session-4.12.1/scripts/xflock4
+--- xfce4-session-4.12.1.orig/scripts/xflock4	2014-08-30 12:24:02.000000000 -0600
++++ xfce4-session-4.12.1/scripts/xflock4	2015-03-29 06:37:38.539081172 -0600
+@@ -24,12 +24,18 @@
+ PATH=/bin:/usr/bin
+ export PATH
+ 
++# First test for the command set in the session's xfconf channel
++LOCK_CMD=$(xfconf-query -c xfce4-session -p /general/LockCommand)
++
+ # Lock by xscreensaver or gnome-screensaver, if a respective daemon is running
+ for lock_cmd in \
++    "$LOCK_CMD" \
+     "xscreensaver-command -lock" \
+     "gnome-screensaver-command --lock"
+ do
+-    $lock_cmd >/dev/null 2>&1 && exit
++    if [ ! -z "$lock_cmd" ]; then
++        $lock_cmd >/dev/null 2>&1 && exit
++    fi
+ done
+ 
+ # else run another access locking utility, if installed
diff --git a/xfce4-session.spec b/xfce4-session.spec
index be8fa4d..279bc6c 100644
--- a/xfce4-session.spec
+++ b/xfce4-session.spec
@@ -2,7 +2,7 @@
 
 Name:           xfce4-session
 Version:        4.12.1
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Xfce session manager
 
 Group:          User Interface/Desktops
@@ -13,15 +13,15 @@ Source0:        http://archive.xfce.org/src/xfce/%{name}/%{xfceversion}/%{name}-
 # taken from polkit-gnome, license is LGPLv2+, requires because of
 # http://lists.fedoraproject.org/pipermail/devel-announce/2011-February/000758.html
 Source1:        polkit-gnome-authentication-agent-1.desktop
-# Patch from: https://bugzilla.xfce.org/show_bug.cgi?id=9952#c7
-Patch1:         xfce4-session-4.10.1-systemd.patch
 # Patch startxfce4 to keep it on the same vty for logind
 # https://bugzilla.redhat.com/show_bug.cgi?id=1117682
-Patch2:         xfce-session-4.10-startxfce4.patch
-# patch to fix bashisms in xfce4-session
-# fixes bug report 1150207 - patch provided by Ralf Corsepius
-# Fix in upstream already done with respect to another bug report - https://bugzilla.xfce.org/show_bug.cgi?id=10828
-# Patch3:		xfce4-session-4.10.1-bashisms.patch
+Patch1:         xfce-session-4.10-startxfce4.patch
+#
+# Patch to make xflock4 look for a user configured locker via xfconf. 
+# See https://bugzilla.xfce.org/show_bug.cgi?id=10217
+# and https://bugzilla.redhat.com/show_bug.cgi?id=1166227
+#
+Patch2:         xfce4-session-4.12.1-xflock-xfconf.patch
 
 BuildRequires:  dbus-devel >= 1.1.0
 BuildRequires:  dbus-glib-devel >= 0.84
@@ -79,9 +79,7 @@ Additional splash screen engines for the Xfce Session Manager.
 %prep
 %setup -q
 
-## patch1 -p1
-%patch2 -p1
-## patch3 -p1
+%patch1 -p1
 
 %build
 xdt-autogen
@@ -157,6 +155,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 %{_datadir}/themes/Default/balou/
 
 %changelog
+* Sun Mar 29 2015 Kevin Fenzi <kevin at scrye.com> 4.12.1-2
+- Add patch for xflock4 to look for an use a user defined screen locker in xfconf
+- Fixes bug #1166227
+
 * Mon Mar 16 2015 Kevin Fenzi <kevin at scrye.com> 4.12.1-1
 - Update to 4.12.1
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/xfce4-session.git/commit/?h=master&id=35635fa08da9bc6e5214fdc7c1e2c6b7787ce57a


More information about the scm-commits mailing list