[arch-commits] Commit in kdebase-workspace/trunk (PKGBUILD logind-support.patch)

Andrea Scarpino andrea at archlinux.org
Fri Oct 5 10:52:13 UTC 2012


    Date: Friday, October 5, 2012 @ 06:52:12
  Author: andrea
Revision: 168019

upgpkg: kdebase-workspace 4.9.2-2

Fix logind support

Added:
  kdebase-workspace/trunk/logind-support.patch
Modified:
  kdebase-workspace/trunk/PKGBUILD

----------------------+
 PKGBUILD             |   18 ++++++++-----
 logind-support.patch |   66 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2012-10-05 10:15:54 UTC (rev 168018)
+++ PKGBUILD	2012-10-05 10:52:12 UTC (rev 168019)
@@ -5,7 +5,7 @@
 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 @@
 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 @@
           '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 @@
 }
 
 package() {
-	cd "${srcdir}"/build
+	cd build
 	make DESTDIR="${pkgdir}" install
 
 	install -D -m644 "${srcdir}"/kde.pam "${pkgdir}"/etc/pam.d/kde

Added: logind-support.patch
===================================================================
--- logind-support.patch	                        (rev 0)
+++ logind-support.patch	2012-10-05 10:52:12 UTC (rev 168019)
@@ -0,0 +1,66 @@
+From: Lukas Tinkl <lukas at 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&a=commitdiff&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;
+




More information about the arch-commits mailing list