[kde-workspace] hack to use org.freedesktop.login1 to handle suspend (instead of upower),
Rex Dieter
rdieter at fedoraproject.org
Fri Jan 11 05:15:04 UTC 2013
commit 41bb96e7476e0cfa85527b2c2bb02b47fb26001b
Author: Rex Dieter <rdieter at math.unl.edu>
Date: Thu Jan 10 23:15:30 2013 -0600
hack to use org.freedesktop.login1 to handle suspend (instead of upower),
seems to help avoid double-sleep (#859227)
kde-workspace-4.9.97-systemd_login1_power.patch | 21 +++++++++++++++++++++
kde-workspace.spec | 12 ++++++++++--
2 files changed, 31 insertions(+), 2 deletions(-)
---
diff --git a/kde-workspace-4.9.97-systemd_login1_power.patch b/kde-workspace-4.9.97-systemd_login1_power.patch
new file mode 100644
index 0000000..313a0c9
--- /dev/null
+++ b/kde-workspace-4.9.97-systemd_login1_power.patch
@@ -0,0 +1,21 @@
+diff -up kde-workspace-4.9.97/powerdevil/daemon/backends/upower/upowersuspendjob.cpp.systemd_login1 kde-workspace-4.9.97/powerdevil/daemon/backends/upower/upowersuspendjob.cpp
+--- kde-workspace-4.9.97/powerdevil/daemon/backends/upower/upowersuspendjob.cpp.systemd_login1 2012-12-17 08:21:54.000000000 -0600
++++ kde-workspace-4.9.97/powerdevil/daemon/backends/upower/upowersuspendjob.cpp 2013-01-10 22:16:37.963348167 -0600
+@@ -60,10 +60,16 @@ void UPowerSuspendJob::doStart()
+ {
+ if (m_supported & m_method)
+ {
++ QScopedPointer<QDBusInterface> m_login1Interface(new QDBusInterface("org.freedesktop.login1", "/org/freedesktop/login1", "org.freedesktop.login1.Manager", QDBusConnection::systemBus()));
+ switch(m_method)
+ {
+ case PowerDevil::BackendInterface::ToRam:
+- m_upowerInterface->Suspend();
++ if ( m_login1Interface->isValid() ) {
++ m_login1Interface->call("Suspend",false);
++ } else {
++ kDebug() << m_login1Interface->lastError();
++ m_upowerInterface->Suspend();
++ }
+ break;
+ case PowerDevil::BackendInterface::ToDisk:
+ m_upowerInterface->Hibernate();
diff --git a/kde-workspace.spec b/kde-workspace.spec
index 67bb3c1..844a03b 100644
--- a/kde-workspace.spec
+++ b/kde-workspace.spec
@@ -5,7 +5,7 @@
Summary: KDE Workspace
Name: kde-workspace
Version: 4.9.97
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv2
URL: https://projects.kde.org/projects/kde/kde-workspace
@@ -89,6 +89,10 @@ Patch52: kde-workspace-4.8.2-bz#732830-login.patch
# http://bugs.kde.org/242065
Patch53: kde-workspace-4.7.95-kdm_xauth.patch
+# bring systemd-login1 power love to powerdevil
+# FIXME: suspend support only for now
+Patch54: kde-workspace-4.9.97-systemd_login1_power.patch
+
# pam/systemd bogosity: kdm restart/shutdown does not work
# http://bugzilla.redhat.com/796969
Patch57: kde-workspace-4.8.0-bug796969.patch
@@ -432,6 +436,7 @@ Requires: akonadi
%patch51 -p1 -b .add_apper_to_kickoff_favorites
%patch52 -p1 -b .bz#732830-login
%patch53 -p1 -b .kdm_xauth
+%patch54 -p1 -b .systemd_login1_power
%patch57 -p1 -b .bug796969
%patch62 -p0 -b .systemd-displaymanager
@@ -458,7 +463,6 @@ pushd %{_target_platform}
-DKDE4_KDM_PAM_SERVICE=kdm \
-DKDE4_KCHECKPASS_PAM_SERVICE=kcheckpass \
-DKDE4_KSCREENSAVER_PAM_SERVICE=kscreensaver \
- -DPOWERDEVIL_USE_SYSTEMD:BOOL=ON \
..
popd
@@ -969,6 +973,10 @@ fi
%changelog
+* Thu Jan 10 2013 Rex Dieter <rdieter at fedoraproject.org> 4.9.97-3
+- hack to use org.freedesktop.login1 to handle suspend (instead of upower),
+ seems to help avoid double-sleep (#859227)
+
* Wed Jan 09 2013 Rex Dieter <rdieter at fedoraproject.org> 4.9.97-2
- kded_xrandrmonitor subpkg, to allow use of it or kscreen
More information about the scm-commits
mailing list