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