diffstat of debian/ for xfce4-session_4.10.1-3 xfce4-session_4.10.1-3ubuntu5 changelog | 129 ++++++++ control | 8 patches/series | 4 patches/xflock4-light-locker-support.patch | 21 + patches/xubuntu_ignore-gdm-lang.patch | 23 + patches/xubuntu_runtime-logind-support.patch | 387 ++++++++++++++++++++++++++ patches/xubuntu_set-xdg-current-desktop.patch | 37 ++ rules | 7 startxfce4.user-session.upstart | 16 + 9 files changed, 629 insertions(+), 3 deletions(-) diff -Nru xfce4-session-4.10.1/debian/changelog xfce4-session-4.10.1/debian/changelog --- xfce4-session-4.10.1/debian/changelog 2013-10-09 19:17:37.000000000 +0000 +++ xfce4-session-4.10.1/debian/changelog 2014-03-21 04:11:59.000000000 +0000 @@ -1,3 +1,52 @@ +xfce4-session (4.10.1-3ubuntu5) trusty; urgency=medium + + * debian/control: use xscreensaver or light-locker in recommends + (LP: #1295482) + + -- Sean Davis Thu, 20 Mar 2014 23:11:51 -0500 + +xfce4-session (4.10.1-3ubuntu4) trusty; urgency=low + + * Update xflock4-light-locker-support.patch to prefer light-locker + over xscreensaver. LP: #1291019 + + -- Jan Henke Tue, 18 Mar 2014 19:36:28 +0100 + +xfce4-session (4.10.1-3ubuntu3) trusty; urgency=low + + * Add xflock4-light-locker-support.patch. LP: #1254366 + + -- Jackson Doak Sun, 24 Nov 2013 13:43:52 +1100 + +xfce4-session (4.10.1-3ubuntu2) trusty; urgency=low + + * Add mythbuntu to the list of xsessions to be potentially ran by upstart. + + -- Mario Limonciello Tue, 12 Nov 2013 21:41:29 -0600 + +xfce4-session (4.10.1-3ubuntu1) trusty; urgency=low + + * Merge from Debian unstable, remaining Ubuntu changes: + - debian/patches: + + xubuntu_ignore-gdm-lang.patch: do not set $LANG to $GDM_LANG, there's + already an xsession script to do that, and $GDM_LANG might not contain + a valid locale code. + + xubuntu_set-xdg-current-desktop.patch: added. Taken from xfce4-utils, + export XDG_CURRENT_DESKTOP=XFCE, can be useful with alacarte and + gnome-menus. + + debian/patches/xubuntu_runtime-logind-support.patch: + Check for logind support at runtime + - debian/rules: + + call xdt-autogen after patching + + clean up autogenerated files modified by xdt-autogen. + - debian/control: + + add build-dep on libpolkit-gobject-1-dev (>= 0.100). + + add build-dep on xfce4-dev-tools and libtool in order to run xdt-autogen + after patching. + + don't recommend consolekit anymore. + + -- Jackson Doak Thu, 31 Oct 2013 18:17:54 +0000 + xfce4-session (4.10.1-3) unstable; urgency=low [ Jackson Doak ] @@ -28,6 +77,34 @@ -- Yves-Alexis Perez Tue, 17 Sep 2013 21:56:28 +0200 +xfce4-session (4.10.1-1ubuntu1) saucy; urgency=low + + * Merge from Debian unstable, remaining Ubuntu changes: + - debian/patches: + + xubuntu_ignore-gdm-lang.patch: do not set $LANG to $GDM_LANG, there's + already an xsession script to do that, and $GDM_LANG might not contain + a valid locale code. + + xubuntu_set-xdg-current-desktop.patch: added. Taken from xfce4-utils, + export XDG_CURRENT_DESKTOP=XFCE, can be useful with alacarte and + gnome-menus. lp #927172 + + * debian/patches: + - xfsm-startup-random-crash.patch: dropped, included in 4.10.1. + - xubuntu_ignore-gdm-lang.patch: updated to apply cleanly. + + * Check for logind support at runtime (lp: #1178373): + - debian/patches/xubuntu_runtime-logind-support.patch: added. + - debian/rules: + + call xdt-autogen after patching + + clean up autogenerated files modified by xdt-autogen. + - debian/control: + + add build-dep on libpolkit-gobject-1-dev (>= 0.100). + + add build-dep on xfce4-dev-tools and libtool in order to run xdt-autogen + after patching. + + don't recommend consolekit anymore. + + -- Lionel Le Folgoc Mon, 01 Jul 2013 19:35:39 +0200 + xfce4-session (4.10.1-1) unstable; urgency=low * New upstream release. @@ -39,6 +116,40 @@ -- Yves-Alexis Perez Tue, 21 May 2013 23:16:10 +0200 +xfce4-session (4.10.0-2ubuntu4) saucy; urgency=low + + * Update startxfce4 job to also start for ubuntu-studio. + + -- Stéphane Graber Mon, 03 Jun 2013 10:30:03 -0400 + +xfce4-session (4.10.0-2ubuntu3) saucy; urgency=low + + * Add startxfce4 upstart user job to xfce4-session. + + -- Stéphane Graber Fri, 31 May 2013 11:45:15 -0400 + +xfce4-session (4.10.0-2ubuntu2) saucy; urgency=low + + * debian/patches/xfsm-startup-random-crash.patch: added. Fix random crashes. lp: #1104435 + + -- Ricardo F. Teixeira Wed, 01 May 2013 00:33:42 +0100 + +xfce4-session (4.10.0-2ubuntu1) raring; urgency=low + + * Merge from Debian experimental, remaining Ubuntu changes: + - debian/patches: + + xubuntu_ignore-gdm-lang.patch: do not set $LANG to $GDM_LANG, there's + already an xsession script to do that, and $GDM_LANG might not contain + a valid locale code. + + xubuntu_set-xdg-current-desktop.patch: added. Taken from xfce4-utils, + export XDG_CURRENT_DESKTOP=XFCE, can be useful with alacarte and + gnome-menus. lp #927172 + + * Drop now obsolete delta wrt to gnome-keyring integration. lp: #1010409 + * The patch added by the Debian upload fixes lp: #978333. + + -- Lionel Le Folgoc Fri, 09 Nov 2012 23:05:01 +0100 + xfce4-session (4.10.0-2) experimental; urgency=low * debian/control: @@ -50,6 +161,24 @@ -- Yves-Alexis Perez Sat, 13 Oct 2012 15:42:09 +0200 +xfce4-session (4.10.0-1ubuntu1) quantal; urgency=low + + * Merge from Debian experimental, remaining Ubuntu changes: + - debian/control: build-depends on libgnome-keyring-dev to enable GNOME + Keyring services support. + - debian/rules: pass --enable-libgnome-keyring to dh_auto_configure. + - debian/patches: + + xubuntu_ignore-gdm-lang.patch: do not set $LANG to $GDM_LANG, there's + already an xsession script to do that, and $GDM_LANG might not contain + a valid locale code. + + * debian/patches: + - xubuntu_set-xdg-current-desktop.patch: added. Taken from xfce4-utils, + export XDG_CURRENT_DESKTOP=XFCE, can be useful with alacarte and + gnome-menus. lp #927172 + + -- Lionel Le Folgoc Fri, 18 May 2012 20:21:52 +0200 + xfce4-session (4.10.0-1) experimental; urgency=low * New upstream stable release. diff -Nru xfce4-session-4.10.1/debian/control xfce4-session-4.10.1/debian/control --- xfce4-session-4.10.1/debian/control 2013-08-25 13:40:54.000000000 +0000 +++ xfce4-session-4.10.1/debian/control 2014-03-21 04:11:21.000000000 +0000 @@ -1,12 +1,14 @@ Source: xfce4-session Section: xfce Priority: optional -Maintainer: Debian Xfce Maintainers +Maintainer: Xubuntu Developers +XSBC-Original-Maintainer: Debian Xfce Maintainers Uploaders: Yves-Alexis Perez , Lionel Le Folgoc Build-Depends: debhelper (>= 9), libx11-dev, libxml-parser-perl, libdbus-1-dev, libdbus-glib-1-dev, libxfce4util-dev (>= 4.10.0), libxfce4ui-1-dev (>= 4.10.0), libwnck-dev, x11-xserver-utils, libxfconf-0-dev (>= 4.10.0), libglade2-dev, intltool (>= 0.31), + libpolkit-gobject-1-dev (>= 0.100), xfce4-dev-tools, libtool, dpkg-dev (>= 1.16.1) Standards-Version: 3.9.4 Homepage: http://www.xfce.org/ @@ -20,8 +22,8 @@ Replaces: xfce4-utils Pre-Depends: ${misc:Pre-Depends}, multiarch-support Depends: ${shlibs:Depends}, ${misc:Depends}, xfce4-settings (>= 4.10.0), xfconf -Recommends: xfwm4, xfdesktop4, consolekit, upower, dbus-x11, x11-xserver-utils, - xscreensaver +Recommends: xfwm4, xfdesktop4, upower, dbus-x11, x11-xserver-utils, + xscreensaver | light-locker Suggests: sudo, fortunes-mod Provides: x-session-manager Description: Xfce4 Session Manager diff -Nru xfce4-session-4.10.1/debian/patches/series xfce4-session-4.10.1/debian/patches/series --- xfce4-session-4.10.1/debian/patches/series 2013-09-16 05:46:18.000000000 +0000 +++ xfce4-session-4.10.1/debian/patches/series 2014-03-20 08:55:53.000000000 +0000 @@ -1 +1,5 @@ 01_fix-xrdb-call.patch +xubuntu_ignore-gdm-lang.patch +xubuntu_set-xdg-current-desktop.patch +xubuntu_runtime-logind-support.patch +xflock4-light-locker-support.patch diff -Nru xfce4-session-4.10.1/debian/patches/xflock4-light-locker-support.patch xfce4-session-4.10.1/debian/patches/xflock4-light-locker-support.patch --- xfce4-session-4.10.1/debian/patches/xflock4-light-locker-support.patch 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-session-4.10.1/debian/patches/xflock4-light-locker-support.patch 2014-03-20 08:56:46.000000000 +0000 @@ -0,0 +1,21 @@ +Add support for locking via light-locker to xflock4 + +--- + scripts/xflock4 | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +Index: xfce4-session/scripts/xflock4 +=================================================================== +--- xfce4-session.orig/scripts/xflock4 2014-03-20 09:55:53.265240000 +0100 ++++ xfce4-session/scripts/xflock4 2014-03-20 09:55:53.265240000 +0100 +@@ -24,8 +24,9 @@ + PATH=/bin:/usr/bin + export PATH + +-# Lock by xscreensaver or gnome-screensaver, if a respective daemon is running ++# Lock by xscreensaver, gnome-screensaver, or light-locker, if a respective daemon is running + for lock_cmd in \ ++ "light-locker-command -l" \ + "xscreensaver-command -lock" \ + "gnome-screensaver-command --lock" + do diff -Nru xfce4-session-4.10.1/debian/patches/xubuntu_ignore-gdm-lang.patch xfce4-session-4.10.1/debian/patches/xubuntu_ignore-gdm-lang.patch --- xfce4-session-4.10.1/debian/patches/xubuntu_ignore-gdm-lang.patch 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-session-4.10.1/debian/patches/xubuntu_ignore-gdm-lang.patch 2014-03-20 08:55:53.000000000 +0000 @@ -0,0 +1,23 @@ +In natty, $GDM_LANG doesn't always contain a full valid locale. It might +contain a "short" one (e.g. "fr") that is expanded (e.g. to "fr_fr.UTF-8) +by an Xsession script shipped by gdm. So drop the compatibility code from +xfce4-session, otherwise the session locale might be set to an invalid +value. + +--- xfce4-session-4.8.1.orig/xfce4-session/main.c ++++ xfce4-session-4.8.1/xfce4-session/main.c +@@ -101,14 +101,6 @@ setup_environment (void) + /* pass correct DISPLAY to children, in case of --display in argv */ + g_setenv ("DISPLAY", gdk_display_get_name (gdk_display_get_default ()), TRUE); + +- /* this is for compatibility with the GNOME Display Manager */ +- lang = g_getenv ("GDM_LANG"); +- if (lang != NULL && strlen (lang) > 0) +- { +- g_setenv ("LANG", lang, TRUE); +- g_unsetenv ("GDM_LANG"); +- } +- + /* check access to $ICEAUTHORITY or $HOME/.ICEauthority if unset */ + if (g_getenv ("ICEAUTHORITY")) + authfile = g_strdup (g_getenv ("ICEAUTHORITY")); diff -Nru xfce4-session-4.10.1/debian/patches/xubuntu_runtime-logind-support.patch xfce4-session-4.10.1/debian/patches/xubuntu_runtime-logind-support.patch --- xfce4-session-4.10.1/debian/patches/xubuntu_runtime-logind-support.patch 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-session-4.10.1/debian/patches/xubuntu_runtime-logind-support.patch 2014-03-20 08:55:53.000000000 +0000 @@ -0,0 +1,387 @@ +Description: Add runtime logind support + Based on patches from Fabio Erculiani and + Mikhail Efremov . +Bug-Ubuntu: https://bugs.launchpad.net/xfce4-session/+bug/1178373 +Bug: https://bugzilla.xfce.org/show_bug.cgi?id=9952 +Bug: https://bugzilla.xfce.org/show_bug.cgi?id=10076 +Forwarded: no +Last-Update: 2013-06-30 +Author: Lionel Le Folgoc + +--- xfce4-session-4.10.1.orig/configure.ac ++++ xfce4-session-4.10.1/configure.ac +@@ -103,7 +103,7 @@ XDT_CHECK_PACKAGE([XFCONF], [libxfconf-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]) +@@ -207,10 +207,10 @@ echo " * Legacy session management: + 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 +--- xfce4-session-4.10.1.orig/xfce4-session/Makefile.am ++++ xfce4-session-4.10.1/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 = \ +--- xfce4-session-4.10.1.orig/xfce4-session/xfsm-systemd.c ++++ xfce4-session-4.10.1/xfce4-session/xfsm-systemd.c +@@ -24,6 +24,7 @@ + #include + #include + ++#include + #include + + +@@ -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 + + + 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_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; ++} +--- xfce4-session-4.10.1.orig/xfce4-session/xfsm-systemd.h ++++ xfce4-session-4.10.1/xfce4-session/xfsm-systemd.h +@@ -42,6 +42,12 @@ gboolean xfsm_systemd_try_restart ( + 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 +56,16 @@ gboolean xfsm_systemd_can_shutdown ( + 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__ */ +--- xfce4-session-4.10.1.orig/xfce4-session/xfsm-shutdown.c ++++ xfce4-session-4.10.1/xfce4-session/xfsm-shutdown.c +@@ -63,15 +63,15 @@ + #include + #include + #include ++#include + #include + #include + #include + #include + + #ifdef HAVE_SYSTEMD ++#define LOGIND_RUNNING() (access ("/run/systemd/seats/", F_OK) >= 0) + #include +-#else +-#include + #endif + + static void xfsm_shutdown_finalize (GObject *object); +@@ -98,9 +98,8 @@ struct _XfsmShutdown + + #ifdef HAVE_SYSTEMD + XfsmSystemd *systemd; +-#else +- XfsmConsolekit *consolekit; + #endif ++ XfsmConsolekit *consolekit; + XfsmUPower *upower; + + /* kiosk settings */ +@@ -138,11 +137,15 @@ xfsm_shutdown_init (XfsmShutdown *shutdo + { + XfceKiosk *kiosk; + ++ shutdown->consolekit = NULL; ++ + #ifdef HAVE_SYSTEMD +- shutdown->systemd = xfsm_systemd_get (); +-#else +- shutdown->consolekit = xfsm_consolekit_get (); ++ 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; +@@ -163,9 +166,8 @@ xfsm_shutdown_finalize (GObject *object) + + #ifdef HAVE_SYSTEMD + g_object_unref (G_OBJECT (shutdown->systemd)); +-#else +- g_object_unref (G_OBJECT (shutdown->consolekit)); + #endif ++ g_object_unref (G_OBJECT (shutdown->consolekit)); + g_object_unref (G_OBJECT (shutdown->upower)); + + /* close down helper */ +@@ -657,10 +659,11 @@ xfsm_shutdown_try_restart (XfsmShutdown + 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 (LOGIND_RUNNING()) ++ return xfsm_systemd_try_restart (shutdown->systemd, error); ++ else + #endif ++ return xfsm_consolekit_try_restart (shutdown->consolekit, error); + } + + +@@ -678,10 +681,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown + 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 (LOGIND_RUNNING()) ++ return xfsm_systemd_try_shutdown (shutdown->systemd, error); ++ else + #endif ++ return xfsm_consolekit_try_shutdown (shutdown->consolekit, error); + } + + +@@ -692,6 +696,11 @@ xfsm_shutdown_try_suspend (XfsmShutdown + { + g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); + ++#ifdef HAVE_SYSTEMD ++ if (LOGIND_RUNNING()) ++ return xfsm_systemd_try_suspend (shutdown->systemd, error); ++ else ++#endif + return xfsm_upower_try_suspend (shutdown->upower, error); + } + +@@ -703,6 +712,11 @@ xfsm_shutdown_try_hibernate (XfsmShutdow + { + g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); + ++#ifdef HAVE_SYSTEMD ++ if (LOGIND_RUNNING()) ++ return xfsm_systemd_try_hibernate (shutdown->systemd, error); ++ else ++#endif + return xfsm_upower_try_hibernate (shutdown->upower, error); + } + +@@ -722,10 +736,14 @@ xfsm_shutdown_can_restart (XfsmShutdown + } + + #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 (LOGIND_RUNNING()) ++ { ++ 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 +771,14 @@ xfsm_shutdown_can_shutdown (XfsmShutdown + } + + #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 (LOGIND_RUNNING()) ++ { ++ 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 +806,12 @@ xfsm_shutdown_can_suspend (XfsmShutdown + return TRUE; + } + ++#ifdef HAVE_SYSTEMD ++ if (LOGIND_RUNNING()) ++ 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 +832,12 @@ xfsm_shutdown_can_hibernate (XfsmShutdow + return TRUE; + } + ++#ifdef HAVE_SYSTEMD ++ if (LOGIND_RUNNING()) ++ 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 -Nru xfce4-session-4.10.1/debian/patches/xubuntu_set-xdg-current-desktop.patch xfce4-session-4.10.1/debian/patches/xubuntu_set-xdg-current-desktop.patch --- xfce4-session-4.10.1/debian/patches/xubuntu_set-xdg-current-desktop.patch 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-session-4.10.1/debian/patches/xubuntu_set-xdg-current-desktop.patch 2014-03-20 08:55:53.000000000 +0000 @@ -0,0 +1,37 @@ +Description: export XDG_CURRENT_DESKTOP=XFCE + Not yet forwarded, needs some testing first. +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/xfce4-utils/+bug/927172 +Forwarded: no +Last-Update: 2012-05-15 +Author: Lionel Le Folgoc + +--- xfce4-session-4.10.0.orig/scripts/xinitrc.in ++++ xfce4-session-4.10.0/scripts/xinitrc.in +@@ -22,6 +22,12 @@ if test "x$DESKTOP_SESSION" = "x"; then + export DESKTOP_SESSION + fi + ++# set XDG_CURRENT_DESKTOP for alacarte ++if test "x$XDG_CURRENT_DESKTOP" = "x"; then ++ XDG_CURRENT_DESKTOP="XFCE" ++ export XDG_CURRENT_DESKTOP ++fi ++ + # $XDG_CONFIG_HOME defines the base directory relative to which user specific + # configuration files should be stored. If $XDG_CONFIG_HOME is either not set + # or empty, a default equal to $HOME/.config should be used. +--- xfce4-session-4.10.0.orig/scripts/xinitrc.in.in ++++ xfce4-session-4.10.0/scripts/xinitrc.in.in +@@ -22,6 +22,12 @@ if test "x$DESKTOP_SESSION" = "x"; then + export DESKTOP_SESSION + fi + ++# set XDG_CURRENT_DESKTOP for alacarte ++if test "x$XDG_CURRENT_DESKTOP" = "x"; then ++ XDG_CURRENT_DESKTOP="XFCE" ++ export XDG_CURRENT_DESKTOP ++fi ++ + # $XDG_CONFIG_HOME defines the base directory relative to which user specific + # configuration files should be stored. If $XDG_CONFIG_HOME is either not set + # or empty, a default equal to $HOME/.config should be used. diff -Nru xfce4-session-4.10.1/debian/rules xfce4-session-4.10.1/debian/rules --- xfce4-session-4.10.1/debian/rules 2013-09-20 07:05:43.000000000 +0000 +++ xfce4-session-4.10.1/debian/rules 2014-03-20 08:55:53.000000000 +0000 @@ -3,14 +3,21 @@ export DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,defs -Wl,--as-needed -Wl,-O1 export DEB_BUILD_MAINT_OPTIONS=hardening=+all +override_dh_auto_clean: + dh_auto_clean + rm -f $$(find -name 'Makefile.in*') INSTALL ltmain.sh + rm -f aclocal.m4 config.guess config.sub configure depcomp + override_dh_install: chmod 755 debian/tmp/etc/xdg/xfce4/xinitrc + install -m 644 -D debian/startxfce4.user-session.upstart debian/xfce4-session/usr/share/upstart/sessions/startxfce4.conf dh_install --fail-missing -X .la override_dh_strip: dh_strip --dbg-package=xfce4-session-dbg override_dh_auto_configure: + NOCONFIGURE=1 xdt-autogen dh_auto_configure -- --disable-silent-rules %: diff -Nru xfce4-session-4.10.1/debian/startxfce4.user-session.upstart xfce4-session-4.10.1/debian/startxfce4.user-session.upstart --- xfce4-session-4.10.1/debian/startxfce4.user-session.upstart 1970-01-01 00:00:00.000000000 +0000 +++ xfce4-session-4.10.1/debian/startxfce4.user-session.upstart 2014-03-20 08:55:53.000000000 +0000 @@ -0,0 +1,16 @@ +description "XFCE4 session" +author "Stéphane Graber " + +start on started dbus and (xsession SESSION=xfce or xsession SESSION=xubuntu or xsession SESSION=ubuntustudio or xsession SESSION=mythbuntu) + +emits desktop-start +emits desktop-end + +exec startxfce4 + +post-start exec initctl emit desktop-start DESKTOP_SESSION=$DESKTOP_SESSION + +# Don't wait to avoid blocking the session from ending. +pre-stop exec initctl emit --no-wait desktop-end DESKTOP_SESSION=$DESKTOP_SESSION + +post-stop exec dbus-send --type=method_call --address=$UPSTART_SESSION /com/ubuntu/Upstart com.ubuntu.Upstart0_6.EndSession