summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Palimaka <kensington@gentoo.org>2013-03-10 18:17:33 +0000
committerMichael Palimaka <kensington@gentoo.org>2013-03-10 18:17:33 +0000
commit9e079c9a5854a824f2651b6dbe1c6c979da1a5c9 (patch)
tree48748bda0f38bd540369db4cbf711af50875f167 /kde-base
parentBump to 1.0.3, thanks to slepnoga. (diff)
downloadgentoo-2-9e079c9a5854a824f2651b6dbe1c6c979da1a5c9.tar.gz
gentoo-2-9e079c9a5854a824f2651b6dbe1c6c979da1a5c9.tar.bz2
gentoo-2-9e079c9a5854a824f2651b6dbe1c6c979da1a5c9.zip
Backport patch from upstream fixing issue where suspend options are not offered, wrt bug #460728.
(Portage version: 2.1.11.55/cvs/Linux x86_64, signed Manifest commit with key 675D0D2C)
Diffstat (limited to 'kde-base')
-rw-r--r--kde-base/powerdevil/ChangeLog9
-rw-r--r--kde-base/powerdevil/files/powerdevil-4.10.1-suspend.patch73
-rw-r--r--kde-base/powerdevil/powerdevil-4.10.1-r1.ebuild29
3 files changed, 110 insertions, 1 deletions
diff --git a/kde-base/powerdevil/ChangeLog b/kde-base/powerdevil/ChangeLog
index 1561523bba7b..c62069dcbaad 100644
--- a/kde-base/powerdevil/ChangeLog
+++ b/kde-base/powerdevil/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/powerdevil
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/powerdevil/ChangeLog,v 1.144 2013/03/06 13:41:21 dilfridge Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/powerdevil/ChangeLog,v 1.145 2013/03/10 18:17:33 kensington Exp $
+
+*powerdevil-4.10.1-r1 (10 Mar 2013)
+
+ 10 Mar 2013; Michael Palimaka <kensington@gentoo.org>
+ +files/powerdevil-4.10.1-suspend.patch, +powerdevil-4.10.1-r1.ebuild:
+ Backport patch from upstream fixing issue where suspend options are not
+ offered, wrt bug #460728.
*powerdevil-4.10.1 (06 Mar 2013)
diff --git a/kde-base/powerdevil/files/powerdevil-4.10.1-suspend.patch b/kde-base/powerdevil/files/powerdevil-4.10.1-suspend.patch
new file mode 100644
index 000000000000..6e97ab27cacd
--- /dev/null
+++ b/kde-base/powerdevil/files/powerdevil-4.10.1-suspend.patch
@@ -0,0 +1,73 @@
+From d56bf9cf8ae4b7fa84abeb005c9ebd467909dd49 Mon Sep 17 00:00:00 2001
+From: Raymond Wooninck <tittiatcoke@gmail.com>
+Date: Thu, 7 Mar 2013 12:46:03 +0100
+Subject: [PATCH] Also check if the version of systemd is supporting the upower
+ functions
+
+BUG: 316219
+REVIEW: 109336
+FIXED-IN: 4.10.2
+---
+ .../backends/upower/powerdevilupowerbackend.cpp | 25 ++++++++++++++++------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+diff --git a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
+index f9503b3..6a50b66 100644
+--- a/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
++++ b/powerdevil/daemon/backends/upower/powerdevilupowerbackend.cpp
+@@ -35,6 +35,21 @@
+
+ #define HELPER_ID "org.kde.powerdevil.backlighthelper"
+
++bool checkSystemdVersion(uint requiredVersion)
++{
++ bool ok;
++
++ QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager",
++ QDBusConnection::systemBus(), 0);
++ uint version = systemdIface.property("Version").toString().section(' ', 1).toUInt(&ok);
++ if (ok) {
++ return (version >= requiredVersion);
++ } else {
++ kDebug() << "Unknown version string from Systemd";
++ return false;
++ }
++}
++
+ PowerDevilUPowerBackend::PowerDevilUPowerBackend(QObject* parent)
+ : BackendInterface(parent),
+ m_brightnessControl(0),
+@@ -123,7 +138,7 @@ void PowerDevilUPowerBackend::init()
+
+ // Supported suspend methods
+ SuspendMethods supported = UnknownSuspendMethod;
+- if (m_login1Interface) {
++ if (m_login1Interface && checkSystemdVersion(195)) {
+ QDBusPendingReply<QString> canSuspend = m_login1Interface.data()->asyncCall("CanSuspend");
+ canSuspend.waitForFinished();
+ if (canSuspend.isValid() && (canSuspend.value() == "yes" || canSuspend.value() == "challenge"))
+@@ -151,11 +166,7 @@ void PowerDevilUPowerBackend::init()
+ }
+
+ // "resuming" signal
+- QDBusInterface systemdIface("org.freedesktop.systemd1", "/org/freedesktop/systemd1", "org.freedesktop.systemd1.Manager",
+- QDBusConnection::systemBus(), this);
+- int version = systemdIface.property("Version").toString().section(' ', 1).toInt();
+-
+- if (m_login1Interface && version > 197) {
++ if (m_login1Interface && checkSystemdVersion(198)) {
+ connect(m_login1Interface.data(), SIGNAL(PrepareForSleep(bool)), this, SLOT(slotLogin1Resuming(bool)));
+ } else {
+ connect(m_upowerInterface, SIGNAL(Resuming()), this, SIGNAL(resumeFromSuspend()));
+@@ -280,7 +291,7 @@ bool PowerDevilUPowerBackend::setBrightness(float brightnessValue, PowerDevil::B
+
+ KJob* PowerDevilUPowerBackend::suspend(PowerDevil::BackendInterface::SuspendMethod method)
+ {
+- if (m_login1Interface) {
++ if (m_login1Interface && checkSystemdVersion(195)) {
+ return new Login1SuspendJob(m_login1Interface.data(), method, supportedSuspendMethods());
+ } else {
+ return new UPowerSuspendJob(m_upowerInterface, method, supportedSuspendMethods());
+--
+1.8.1.5
+
diff --git a/kde-base/powerdevil/powerdevil-4.10.1-r1.ebuild b/kde-base/powerdevil/powerdevil-4.10.1-r1.ebuild
new file mode 100644
index 000000000000..248e16ea67d5
--- /dev/null
+++ b/kde-base/powerdevil/powerdevil-4.10.1-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/kde-base/powerdevil/powerdevil-4.10.1-r1.ebuild,v 1.1 2013/03/10 18:17:33 kensington Exp $
+
+EAPI=5
+
+KMNAME="kde-workspace"
+inherit kde4-meta
+
+DESCRIPTION="PowerDevil is an utility for KDE4 for Laptop Powermanagement."
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="debug +pm-utils"
+
+DEPEND="
+ $(add_kdebase_dep kactivities)
+ $(add_kdebase_dep libkworkspace)
+ $(add_kdebase_dep solid)
+"
+RDEPEND="${DEPEND}
+ pm-utils? ( sys-power/pm-utils )
+"
+
+KMEXTRACTONLY="
+ krunner/
+ ksmserver/org.kde.KSMServerInterface.xml
+ ksmserver/screenlocker/dbus/org.freedesktop.ScreenSaver.xml
+"
+
+PATCHES=( "${FILESDIR}/${P}-suspend.patch" )