summaryrefslogtreecommitdiff
path: root/extra/kdebase-workspace
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-10-06 00:25:32 -0700
committerroot <root@rshg054.dnsready.net>2012-10-06 00:25:32 -0700
commite7552010f531ef1b114352f0ce71a307360bf1d4 (patch)
treed37bd67211f2dc084113f36b80f2b4b5b9622aa5 /extra/kdebase-workspace
parent777466db27694f0cad10a7159ba66f2a2b39a516 (diff)
Sat Oct 6 00:25:32 PDT 2012
Diffstat (limited to 'extra/kdebase-workspace')
-rw-r--r--extra/kdebase-workspace/PKGBUILD20
-rw-r--r--extra/kdebase-workspace/logind-support.patch66
2 files changed, 79 insertions, 7 deletions
diff --git a/extra/kdebase-workspace/PKGBUILD b/extra/kdebase-workspace/PKGBUILD
index 8875fd2a5..98788202c 100644
--- a/extra/kdebase-workspace/PKGBUILD
+++ b/extra/kdebase-workspace/PKGBUILD
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD 167778 2012-10-03 14:40:26Z andrea $
+# $Id: PKGBUILD 168020 2012-10-05 10:53:35Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Pierre Schmitz <pierre@archlinux.de>
pkgname=kdebase-workspace
_pkgname=kde-workspace
pkgver=4.9.2
-pkgrel=1
+pkgrel=2
pkgdesc="Provides the interface and basic tools for the KDE workspace"
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/kde-workspace'
@@ -29,7 +29,8 @@ backup=('usr/share/config/kdm/kdmrc'
options=('emptydirs')
source=("http://download.kde.org/stable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz"
'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service'
- 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch')
+ 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch'
+ 'logind-support.patch')
sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488'
'5db3a245201bd4a50e65aa2ef583cf5490e4f646'
'712a90999bd429883dcef5dcaf288aace332ced8'
@@ -38,15 +39,20 @@ sha1sums=('091bec159d85db2a9a6d6b1b43a53183c23de488'
'b6f8e8692737b11eec1f8022ce74b5b23e247b1b'
'd7b5883f7e65c6839b1f65f94d58026673dd0226'
'ac7bc292c865bc1ab8c02e6341aa7aeaf1a3eeee'
- 'd509dac592bd8b310df27991b208c95b6d907514')
+ 'd509dac592bd8b310df27991b208c95b6d907514'
+ 'ccde71c42e19feaf40d3bd76e7396a0cb6df012f')
build() {
- cd "${srcdir}"/${_pkgname}-${pkgver}
+ cd ${_pkgname}-${pkgver}
patch -p1 -i "${srcdir}"/kdm-xinitrd.patch
patch -p0 -i "${srcdir}"/fixpath.patch
patch -p0 -i "${srcdir}"/terminate-server.patch
- cd "${srcdir}"
+ # KDEBUG 307412
+ patch -p1 -i "${srcdir}"/logind-support.patch
+
+ cd ../
+
mkdir build
cd build
cmake ../${_pkgname}-${pkgver} \
@@ -61,7 +67,7 @@ build() {
}
package() {
- cd "${srcdir}"/build
+ cd build
make DESTDIR="${pkgdir}" install
install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde
diff --git a/extra/kdebase-workspace/logind-support.patch b/extra/kdebase-workspace/logind-support.patch
new file mode 100644
index 000000000..9de205400
--- /dev/null
+++ b/extra/kdebase-workspace/logind-support.patch
@@ -0,0 +1,66 @@
+From: Lukas Tinkl <lukas@kde.org>
+Date: Fri, 05 Oct 2012 09:57:13 +0000
+Subject: store the filedescriptor in a member variable
+X-Git-Url: http://quickgit.kde.org/?p=kde-workspace.git&amp;a=commitdiff&amp;h=a18b78d7da8cb8d627ad2e85f666bfcf1a2721e1
+---
+store the filedescriptor in a member variable
+
+make systemd-inhibit work as intended, PowerDevil now handles
+power/sleep/lid buttons as intended
+
+BUG: 307412
+---
+
+
+--- a/powerdevil/daemon/powerdevilpolicyagent.cpp
++++ b/powerdevil/daemon/powerdevilpolicyagent.cpp
+@@ -29,7 +29,6 @@
+ #include <QtDBus/QDBusPendingReply>
+ #include <QtDBus/QDBusConnectionInterface>
+ #include <QtDBus/QDBusServiceWatcher>
+-#include <QtDBus/QDBusUnixFileDescriptor>
+
+ #include <KGlobal>
+ #include <KDebug>
+@@ -225,6 +224,9 @@
+ onActiveSessionChanged(m_activeSessionPath);
+
+ // inhibit systemd handling of power/sleep/lid buttons
++ // http://www.freedesktop.org/wiki/Software/systemd/inhibit
++ kDebug() << "fd passing available:" << bool(managerIface.connection().connectionCapabilities() & QDBusConnection::UnixFileDescriptorPassing);
++
+ QVariantList args;
+ args << "handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch"; // what
+ args << "PowerDevil"; // who
+@@ -232,8 +234,9 @@
+ args << "block"; // mode
+ QDBusPendingReply<QDBusUnixFileDescriptor> desc = managerIface.asyncCallWithArgumentList("Inhibit", args);
+ desc.waitForFinished();
+- if (desc.isValid() && desc.value().isValid()) {
+- kDebug() << "systemd powersave events handling inhibited";
++ if (desc.isValid()) {
++ m_systemdInhibitFd = desc.value();
++ kDebug() << "systemd powersave events handling inhibited, descriptor:" << m_systemdInhibitFd.fileDescriptor();
+ }
+ else
+ kWarning() << "failed to inhibit systemd powersave handling";
+
+--- a/powerdevil/daemon/powerdevilpolicyagent.h
++++ b/powerdevil/daemon/powerdevilpolicyagent.h
+@@ -27,6 +27,7 @@
+ #include <QtCore/QWeakPointer>
+
+ #include <QtDBus/QDBusContext>
++#include <QtDBus/QDBusUnixFileDescriptor>
+
+ #include <kdemacros.h>
+
+@@ -108,6 +109,7 @@
+ QString m_activeSessionPath;
+ QWeakPointer< QDBusInterface > m_sdSessionInterface;
+ QWeakPointer< QDBusInterface > m_sdSeatInterface;
++ QDBusUnixFileDescriptor m_systemdInhibitFd;
+
+ // ConsoleKit support
+ bool m_ckAvailable;
+