diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2014-07-08 13:59:22 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2014-07-08 13:59:22 +0000 |
commit | 0f78ef9a32e944fdf2541b34eb3e188405653442 (patch) | |
tree | af0c33c139d405225d4532bf4f420d9b1e230edf /xfce-base | |
parent | Use updated UPower 0.99.0 patch from http://bugzilla.xfce.org/show_bug.cgi?id... (diff) | |
download | gentoo-2-0f78ef9a32e944fdf2541b34eb3e188405653442.tar.gz gentoo-2-0f78ef9a32e944fdf2541b34eb3e188405653442.tar.bz2 gentoo-2-0f78ef9a32e944fdf2541b34eb3e188405653442.zip |
old
(Portage version: 2.2.10/cvs/Linux x86_64, signed Manifest commit with key 4868F14D)
Diffstat (limited to 'xfce-base')
-rw-r--r-- | xfce-base/xfce4-session/ChangeLog | 7 | ||||
-rw-r--r-- | xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.patch | 392 | ||||
-rw-r--r-- | xfce-base/xfce4-session/xfce4-session-4.11.0-r1.ebuild | 69 |
3 files changed, 6 insertions, 462 deletions
diff --git a/xfce-base/xfce4-session/ChangeLog b/xfce-base/xfce4-session/ChangeLog index 9cca80013396..986988676a8f 100644 --- a/xfce-base/xfce4-session/ChangeLog +++ b/xfce-base/xfce4-session/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for xfce-base/xfce4-session # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.215 2014/07/08 13:58:39 ssuominen Exp $ +# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/ChangeLog,v 1.216 2014/07/08 13:59:22 ssuominen Exp $ + + 08 Jul 2014; Samuli Suominen <ssuominen@gentoo.org> + -files/xfce4-session-4.11.0-upower-0.99.patch, + -xfce4-session-4.11.0-r1.ebuild: + old *xfce4-session-4.11.0-r2 (08 Jul 2014) diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.patch b/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.patch deleted file mode 100644 index a246dcb4f9e4..000000000000 --- a/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.patch +++ /dev/null @@ -1,392 +0,0 @@ -Patch from http://bugzilla.xfce.org/show_bug.cgi?id=9952 with modification -to edit configure.ac (release tarball) instead of configure.ac.in (git) - -From ee2228c756e40a4289476f40a6d0045d17418bce Mon Sep 17 00:00:00 2001 -From: Eric Koegel <eric.koegel@gmail.com> -Date: Thu, 29 May 2014 19:17:26 +0300 -Subject: [PATCH] Add suspend/hibernate to shutdown-helper - -Upower 0.99 dropped support for suspend/hibernate as an obsolete -feature in this commit: -http://cgit.freedesktop.org/upower/commit/?id=1ee642e705a63f5ad56a6b55e4bf5c4a64c959b8 -Add that functionality into the shutdown-helper so these features -will work again. ---- - configure.ac.in | 27 +++++++++ - xfce4-session/Makefile.am | 4 +- - xfce4-session/xfsm-shutdown.c | 126 ++++++++++++++++++++++++++++++++++++++++-- - xfce4-session/xfsm-upower.c | 5 +- - xfce4-session/xfsm-upower.h | 4 ++ - xfsm-shutdown-helper/main.c | 26 +++++++++ - 6 files changed, 186 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 910fd35..d4557a4 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -95,6 +95,7 @@ XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [2.30]) - XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.1.0]) - XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84]) - XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0]) -+XDT_CHECK_PACKAGE([UPOWER],[upower-glib], [0.9.8]) - - dnl Check for polkit / systemd integration - XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100], -@@ -157,6 +158,31 @@ if test "x$linux_ioprio_works" = "xyes"; then - [Defined if linux/ioprio.h not only exists, but works properly]) - fi - -+dnl Compile time default choice of backend -+AC_ARG_WITH([backend], -+ AS_HELP_STRING([--with-backend=<option>], -+ [Default backend to use linux, freebsd, openbsd])) -+# default to a sane option -+AC_CANONICAL_HOST -+if test x$with_backend = x; then -+ AS_CASE([$host], -+ [*-linux*], [with_backend=linux], -+ [*-*freebsd*], [with_backend=freebsd], -+ [*-openbsd*], [with_backend=openbsd]) -+fi -+AC_DEFINE_UNQUOTED(BACKEND, "$with_backend", [backend]) -+AC_SUBST(BACKEND, "$with_backend") -+ -+if test x$with_backend = xlinux; then -+ AC_DEFINE(BACKEND_TYPE_LINUX, 1, [Linux suspend/hibernate backend]) -+fi -+if test x$with_backend = xfreebsd; then -+ AC_DEFINE(BACKEND_TYPE_FREEBSD, 1, [FreeBSD suspend/hibernate backend]) -+fi -+if test x$with_backend = xopenbsd; then -+ AC_DEFINE(BACKEND_TYPE_OPENBSD, 1, [OpenBSD suspend/hibernate backend]) -+fi -+ - dnl check for location Xfce glade files were installed to - XFCE_GLADE_CATALOG_PATH="`pkg-config --variable glade_catalogdir libxfce4ui-1`" - XFCE_GLADE_PIXMAP_PATH="`pkg-config --variable glade_pixmapdir libxfce4ui-1`" -@@ -207,5 +233,6 @@ echo " * Gnome Keyring support: yes" - else - echo " * Gnome Keyring support: no" - fi -+echo " * Backend: ${with_backend}" - - echo -diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am -index 5472b33..6b5968e 100644 ---- a/xfce4-session/Makefile.am -+++ b/xfce4-session/Makefile.am -@@ -83,7 +83,8 @@ xfce4_session_CFLAGS = \ - $(SYSTEMD_CFLAGS) \ - $(XFCONF_CFLAGS) \ - $(GMODULE_CFLAGS) \ -- $(PLATFORM_CFLAGS) -+ $(PLATFORM_CFLAGS) \ -+ $(UPOWER_CFLAGS) - - xfce4_session_LDFLAGS = \ - -no-undefined \ -@@ -102,6 +103,7 @@ xfce4_session_LDADD = \ - $(LIBWNCK_LIBS) \ - $(SYSTEMD_LIBS) \ - $(XFCONF_LIBS) \ -+ $(UPOWER_LIBS) \ - -lm - - xfce4_session_DEPENDENCIES = \ -diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c -index 4c483a7..cba08b8 100644 ---- a/xfce4-session/xfsm-shutdown.c -+++ b/xfce4-session/xfsm-shutdown.c -@@ -57,6 +57,7 @@ - #include <dbus/dbus-glib-lowlevel.h> - #include <libxfce4util/libxfce4util.h> - #include <gtk/gtk.h> -+#include <upower.h> - - #include <libxfsm/xfsm-util.h> - -@@ -76,6 +77,8 @@ - - static void xfsm_shutdown_finalize (GObject *object); - static void xfsm_shutdown_sudo_free (XfsmShutdown *shutdown); -+static gboolean xfsm_shutdown_fallback_can_hibernate (void); -+static gboolean xfsm_shutdown_fallback_can_suspend (void); - - - -@@ -403,14 +406,16 @@ xfsm_shutdown_sudo_try_action (XfsmShutdown *shutdown, - g_return_val_if_fail (shutdown->helper_state == SUDO_AVAILABLE, FALSE); - g_return_val_if_fail (shutdown->helper_outfile != NULL, FALSE); - g_return_val_if_fail (shutdown->helper_infile != NULL, FALSE); -- g_return_val_if_fail (type == XFSM_SHUTDOWN_SHUTDOWN -- || type == XFSM_SHUTDOWN_RESTART, FALSE); - - /* the command we send to sudo */ - if (type == XFSM_SHUTDOWN_SHUTDOWN) - action = "POWEROFF"; - else if (type == XFSM_SHUTDOWN_RESTART) - action = "REBOOT"; -+ else if (type == XFSM_SHUTDOWN_SUSPEND) -+ action = "SUSPEND"; -+ else if (type == XFSM_SHUTDOWN_HIBERNATE) -+ action = "HIBERNATE"; - else - return FALSE; - -@@ -692,7 +697,17 @@ xfsm_shutdown_try_suspend (XfsmShutdown *shutdown, - { - g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); - -- return xfsm_upower_try_suspend (shutdown->upower, error); -+#if UP_CHECK_VERSION(0, 99, 0) -+ if (shutdown->helper_state == SUDO_AVAILABLE) -+ { -+ xfsm_upower_lock_screen (shutdown->upower, "Suspend", error); -+ return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SUSPEND, error); -+ } -+ else -+ return FALSE; -+#else -+ return xfsm_upower_try_suspend (shutdown->upower, error); -+#endif - } - - -@@ -703,7 +718,17 @@ xfsm_shutdown_try_hibernate (XfsmShutdown *shutdown, - { - g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); - -- return xfsm_upower_try_hibernate (shutdown->upower, error); -+#if UP_CHECK_VERSION(0, 99, 0) -+ if (shutdown->helper_state == SUDO_AVAILABLE) -+ { -+ xfsm_upower_lock_screen (shutdown->upower, "Hibernate", error); -+ return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_HIBERNATE, error); -+ } -+ else -+ return FALSE; -+#else -+ return xfsm_upower_try_hibernate (shutdown->upower, error); -+#endif - } - - -@@ -784,8 +809,13 @@ xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, - return TRUE; - } - -+#if UP_CHECK_VERSION(0, 99, 0) -+ *can_suspend = xfsm_shutdown_fallback_can_suspend (); -+ return TRUE; -+#else - return xfsm_upower_can_suspend (shutdown->upower, can_suspend, - auth_suspend, error); -+#endif - } - - -@@ -804,8 +834,13 @@ xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, - return TRUE; - } - -+#if UP_CHECK_VERSION(0, 99, 0) -+ *can_hibernate = xfsm_shutdown_fallback_can_hibernate (); -+ return TRUE; -+#else - return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, - auth_hibernate, error); -+#endif - } - - -@@ -816,3 +851,86 @@ xfsm_shutdown_can_save_session (XfsmShutdown *shutdown) - g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); - return shutdown->kiosk_can_save_session; - } -+ -+ -+ -+#ifdef BACKEND_TYPE_FREEBSD -+static gboolean -+freebsd_supports_sleep_state (const gchar *state) -+{ -+ gboolean ret = FALSE; -+ gchar *sleep_states; -+ -+ sleep_states = up_get_string_sysctl (NULL, "hw.acpi.supported_sleep_state"); -+ if (sleep_states != NULL) -+ { -+ if (strstr (sleep_states, state) != NULL) -+ ret = TRUE; -+ } -+ -+ g_free (sleep_states); -+ -+ return ret; -+} -+#endif -+ -+#ifdef BACKEND_TYPE_LINUX -+static gboolean -+linux_supports_sleep_state (const gchar *state) -+{ -+ gboolean ret = FALSE; -+ gchar *command; -+ GError *error = NULL; -+ gint exit_status; -+ -+ /* run script from pm-utils */ -+ command = g_strdup_printf ("/usr/bin/pm-is-supported --%s", state); -+ -+ ret = g_spawn_command_line_sync (command, NULL, NULL, &exit_status, &error); -+ if (!ret) -+ { -+ g_warning ("failed to run script: %s", error->message); -+ g_error_free (error); -+ goto out; -+ } -+ ret = (WIFEXITED(exit_status) && (WEXITSTATUS(exit_status) == EXIT_SUCCESS)); -+ -+out: -+ g_free (command); -+ -+ return ret; -+} -+#endif -+ -+ -+static gboolean -+xfsm_shutdown_fallback_can_suspend (void) -+{ -+#ifdef BACKEND_TYPE_FREEBSD -+ return freebsd_supports_sleep_state ("S3"); -+#endif -+#ifdef BACKEND_TYPE_LINUX -+ return linux_supports_sleep_state ("suspend"); -+#endif -+#ifdef BACKEND_TYPE_OPENBSD -+ return TRUE; -+#endif -+ -+ return FALSE; -+} -+ -+static gboolean -+xfsm_shutdown_fallback_can_hibernate (void) -+{ -+#ifdef BACKEND_TYPE_FREEBSD -+ return freebsd_supports_sleep_state ("S4"); -+#endif -+#ifdef BACKEND_TYPE_LINUX -+ return linux_supports_sleep_state ("hibernate"); -+#endif -+#ifdef BACKEND_TYPE_OPENBSD -+ return FALSE; -+#endif -+ -+ return FALSE; -+} -diff --git a/xfce4-session/xfsm-upower.c b/xfce4-session/xfsm-upower.c -index 57402ec..8112829 100644 ---- a/xfce4-session/xfsm-upower.c -+++ b/xfce4-session/xfsm-upower.c -@@ -21,6 +21,7 @@ - - #include <dbus/dbus-glib.h> - #include <dbus/dbus-glib-lowlevel.h> -+#include <upower.h> - - #include <libxfsm/xfsm-util.h> - #include <xfce4-session/xfsm-upower.h> -@@ -283,7 +284,7 @@ xfsm_upower_try_method (XfsmUPower *upower, - - - --static gboolean -+gboolean - xfsm_upower_lock_screen (XfsmUPower *upower, - const gchar *sleep_kind, - GError **error) -@@ -299,6 +300,7 @@ xfsm_upower_lock_screen (XfsmUPower *upower, - { - if (xfsm_upower_proxy_ensure (upower, error)) - { -+#if !UP_CHECK_VERSION(0, 99, 0) - /* tell upower we're going to sleep, this saves some - * time while we sleep 1 second if xflock4 is spawned */ - ret = dbus_g_proxy_call (upower->upower_proxy, -@@ -312,6 +314,7 @@ xfsm_upower_lock_screen (XfsmUPower *upower, - g_warning ("Couldn't sent that we were about to sleep: %s", err->message); - g_error_free (err); - } -+#endif - } - else - { -diff --git a/xfce4-session/xfsm-upower.h b/xfce4-session/xfsm-upower.h -index a492f7d..4e6a53b 100644 ---- a/xfce4-session/xfsm-upower.h -+++ b/xfce4-session/xfsm-upower.h -@@ -51,4 +51,8 @@ gboolean xfsm_upower_can_hibernate (XfsmUPower *upower, - gboolean *auth_hibernate, - GError **error); - -+gboolean xfsm_upower_lock_screen (XfsmUPower *upower, -+ const gchar *sleep_kind, -+ GError **error); -+ - #endif /* !__XFSM_UPOWER_HELPER_H__ */ -diff --git a/xfsm-shutdown-helper/main.c b/xfsm-shutdown-helper/main.c -index 667f288..60c621b 100644 ---- a/xfsm-shutdown-helper/main.c -+++ b/xfsm-shutdown-helper/main.c -@@ -57,6 +57,12 @@ - #ifdef REBOOT_CMD - #undef REBOOT_CMD - #endif -+#ifdef UP_BACKEND_SUSPEND_COMMAND -+#undef UP_BACKEND_SUSPEND_COMMAND -+#endif -+#ifdef UP_BACKEND_HIBERNATE_COMMAND -+#undef UP_BACKEND_HIBERNATE_COMMAND -+#endif - - #if defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) - #define POWEROFF_CMD "/sbin/shutdown -p now" -@@ -68,6 +74,18 @@ - #define POWEROFF_CMD "/sbin/shutdown -h now" - #define REBOOT_CMD "/sbin/shutdown -r now" - #endif -+#ifdef BACKEND_TYPE_FREEBSD -+#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/zzz" -+#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/acpiconf -s 4" -+#endif -+#if BACKEND_TYPE_LINUX -+#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/pm-suspend" -+#define UP_BACKEND_HIBERNATE_COMMAND "/usr/sbin/pm-hibernate" -+#endif -+#ifdef BACKEND_TYPE_OPENBSD -+#define UP_BACKEND_SUSPEND_COMMAND "/usr/sbin/zzz" -+#define UP_BACKEND_HIBERNATE_COMMAND "/dev/null" -+#endif - - - static gboolean -@@ -143,6 +161,14 @@ main (int argc, char **argv) - { - succeed = run (REBOOT_CMD); - } -+ else if (strncasecmp (action, "SUSPEND", 7) == 0) -+ { -+ succeed = run (UP_BACKEND_SUSPEND_COMMAND); -+ } -+ else if (strncasecmp (action, "HIBERNATE", 9) == 0) -+ { -+ succeed = run (UP_BACKEND_HIBERNATE_COMMAND); -+ } - - if (succeed) - { --- -1.9.3 - diff --git a/xfce-base/xfce4-session/xfce4-session-4.11.0-r1.ebuild b/xfce-base/xfce4-session/xfce4-session-4.11.0-r1.ebuild deleted file mode 100644 index 4c4eccd35c3d..000000000000 --- a/xfce-base/xfce4-session/xfce4-session-4.11.0-r1.ebuild +++ /dev/null @@ -1,69 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/xfce-base/xfce4-session/xfce4-session-4.11.0-r1.ebuild,v 1.3 2014/06/02 16:39:34 ssuominen Exp $ - -EAPI=5 -EAUTORECONF=1 -inherit xfconf - -DESCRIPTION="A session manager for the Xfce desktop environment" -HOMEPAGE="http://docs.xfce.org/xfce/xfce4-session/start" -SRC_URI="mirror://xfce/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~x86-solaris" -IUSE="debug nls systemd udev +xscreensaver" - -COMMON_DEPEND=">=dev-libs/dbus-glib-0.100 - x11-apps/iceauth - x11-libs/libSM - >=x11-libs/libwnck-2.30:1 - x11-libs/libX11 - >=xfce-base/libxfce4util-4.11 - >=xfce-base/libxfce4ui-4.11 - >=xfce-base/xfconf-4.10 - !xfce-base/xfce-utils - udev? ( || ( >=sys-power/upower-0.9.23 sys-power/upower-pm-utils ) ) - systemd? ( >=sys-auth/polkit-0.100 )" -RDEPEND="${COMMON_DEPEND} - x11-apps/xrdb - nls? ( x11-misc/xdg-user-dirs ) - !systemd? ( udev? ( sys-power/pm-utils ) ) - xscreensaver? ( || ( - >=x11-misc/xscreensaver-5.26 - gnome-extra/gnome-screensaver - >=x11-misc/xlockmore-5.43 - x11-misc/slock - x11-misc/alock[pam] - ) )" -DEPEND="${COMMON_DEPEND} - dev-util/intltool - sys-devel/gettext - virtual/pkgconfig" - -pkg_setup() { - PATCHES=( "${FILESDIR}"/${PN}-4.10.1-alock_support_to_xflock4.patch ) - - # http://bugs.gentoo.org/512084 - use udev && PATCHES+=( "${FILESDIR}"/${P}-upower-0.99.patch ) - - XFCONF=( - --docdir="${EPREFIX}"/usr/share/doc/${PF} - $(use_enable systemd) - --with-xsession-prefix="${EPREFIX}"/usr - $(xfconf_use_debug) - ) - - DOCS=( AUTHORS BUGS ChangeLog NEWS README TODO ) -} - -src_install() { - xfconf_src_install - - local sessiondir=/etc/X11/Sessions - echo startxfce4 > "${T}"/Xfce4 - exeinto ${sessiondir} - doexe "${T}"/Xfce4 - dosym Xfce4 ${sessiondir}/Xfce -} |