diff options
author | Michael Mair-Keimberger (asterix) <m.mairkeimberger@gmail.com> | 2017-02-12 18:27:19 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2017-02-14 22:34:55 +0100 |
commit | 9d7a6656b5ebd4511aa9f9f277908999d0c56dfa (patch) | |
tree | cd50e32529b22718db16bd7c2ee05f516a297a14 /xfce-base/xfce4-session | |
parent | app-admin/swatchdog: Makes swatchdog-init POSIX compliant (diff) | |
download | gentoo-9d7a6656b5ebd4511aa9f9f277908999d0c56dfa.tar.gz gentoo-9d7a6656b5ebd4511aa9f9f277908999d0c56dfa.tar.bz2 gentoo-9d7a6656b5ebd4511aa9f9f277908999d0c56dfa.zip |
xfce-base/xfce4-session: remove unused patch
Closes: https://github.com/gentoo/gentoo/pull/3931
Diffstat (limited to 'xfce-base/xfce4-session')
-rw-r--r-- | xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.0.patch | 448 |
1 files changed, 0 insertions, 448 deletions
diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.0.patch b/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.0.patch deleted file mode 100644 index a5e59f47f11b..000000000000 --- a/xfce-base/xfce4-session/files/xfce4-session-4.11.0-upower-0.99.0.patch +++ /dev/null @@ -1,448 +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 38afe446cdc889266f1e553952397cc4a876ecf8 Mon Sep 17 00:00:00 2001 -From: Eric Koegel <eric.koegel@gmail.com> -Date: Mon, 7 Jul 2014 11:30:06 +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. Additionally Upower is an optional build dependency -and the minimum required is 0.9.7 to support FreeBSD 9 and 10. ---- - configure.ac.in | 30 ++++++++ - xfce4-session/Makefile.am | 4 +- - xfce4-session/xfsm-shutdown.c | 167 +++++++++++++++++++++++++++++++++++++++++- - xfce4-session/xfsm-upower.c | 8 +- - xfce4-session/xfsm-upower.h | 4 + - xfsm-shutdown-helper/main.c | 26 +++++++ - 6 files changed, 234 insertions(+), 5 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 910fd35..b9c9a90 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -96,6 +96,10 @@ 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]) - -+dnl Check for Upower -+XDT_CHECK_OPTIONAL_PACKAGE([UPOWER],[upower-glib], [0.9.7], -+ [upower],[Upower support]) -+ - dnl Check for polkit / systemd integration - XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100], - [systemd], [Systemd support (through polit)]) -@@ -157,6 +161,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 +236,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..24b548e 100644 ---- a/xfce4-session/xfsm-shutdown.c -+++ b/xfce4-session/xfsm-shutdown.c -@@ -57,6 +57,9 @@ - #include <dbus/dbus-glib-lowlevel.h> - #include <libxfce4util/libxfce4util.h> - #include <gtk/gtk.h> -+#ifdef HAVE_UPOWER -+#include <upower.h> -+#endif - - #include <libxfsm/xfsm-util.h> - -@@ -76,6 +79,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 +408,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 +699,19 @@ xfsm_shutdown_try_suspend (XfsmShutdown *shutdown, - { - g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); - -+#ifdef HAVE_UPOWER -+#if !UP_CHECK_VERSION(0, 99, 0) - return xfsm_upower_try_suspend (shutdown->upower, error); -+#endif /* UP_CHECK_VERSION */ -+#endif /* HAVE_UPOWER */ -+ -+ 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; - } - - -@@ -703,7 +722,19 @@ xfsm_shutdown_try_hibernate (XfsmShutdown *shutdown, - { - g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); - -+#ifdef HAVE_UPOWER -+#if !UP_CHECK_VERSION(0, 99, 0) - return xfsm_upower_try_hibernate (shutdown->upower, error); -+#endif /* UP_CHECK_VERSION */ -+#endif /* HAVE_UPOWER */ -+ -+ 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; - } - - -@@ -784,8 +815,15 @@ xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, - return TRUE; - } - -+#ifdef HAVE_UPOWER -+#if !UP_CHECK_VERSION(0, 99, 0) - return xfsm_upower_can_suspend (shutdown->upower, can_suspend, - auth_suspend, error); -+#endif /* UP_CHECK_VERSION */ -+#endif /* HAVE_UPOWER */ -+ -+ *can_suspend = xfsm_shutdown_fallback_can_suspend (); -+ return TRUE; - } - - -@@ -804,8 +842,15 @@ xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, - return TRUE; - } - -+#ifdef HAVE_UPOWER -+#if !UP_CHECK_VERSION(0, 99, 0) - return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, - auth_hibernate, error); -+#endif /* UP_CHECK_VERSION */ -+#endif /* HAVE_UPOWER */ -+ -+ *can_hibernate = xfsm_shutdown_fallback_can_hibernate (); -+ return TRUE; - } - - -@@ -816,3 +861,121 @@ 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 gchar * -+get_string_sysctl (GError **err, const gchar *format, ...) -+{ -+ va_list args; -+ gchar *name; -+ size_t value_len; -+ gchar *str = NULL; -+ -+ g_return_val_if_fail(format != NULL, FALSE); -+ -+ va_start (args, format); -+ name = g_strdup_vprintf (format, args); -+ va_end (args); -+ -+ if (sysctlbyname (name, NULL, &value_len, NULL, 0) == 0) { -+ str = g_new (char, value_len + 1); -+ if (sysctlbyname (name, str, &value_len, NULL, 0) == 0) -+ str[value_len] = 0; -+ else { -+ g_free (str); -+ str = NULL; -+ } -+ } -+ -+ if (!str) -+ g_set_error (err, 0, 0, "%s", g_strerror(errno)); -+ -+ g_free(name); -+ return str; -+} -+ -+ -+ -+static gboolean -+freebsd_supports_sleep_state (const gchar *state) -+{ -+ gboolean ret = FALSE; -+ gchar *sleep_states; -+ -+ sleep_states = 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 /* BACKEND_TYPE_FREEBSD */ -+ -+ -+ -+#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 /* BACKEND_TYPE_LINUX */ -+ -+ -+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..2960943 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,14 +284,13 @@ xfsm_upower_try_method (XfsmUPower *upower, - - - --static gboolean -+gboolean - xfsm_upower_lock_screen (XfsmUPower *upower, - const gchar *sleep_kind, - GError **error) - { - XfconfChannel *channel; - gboolean ret = TRUE; -- GError *err = NULL; - - g_return_val_if_fail (sleep_kind != NULL, FALSE); - -@@ -299,6 +299,9 @@ xfsm_upower_lock_screen (XfsmUPower *upower, - { - if (xfsm_upower_proxy_ensure (upower, error)) - { -+#if !UP_CHECK_VERSION(0, 99, 0) -+ GError *err = NULL; -+ - /* 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 +315,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) - { --- -2.0.0 - |