diff options
author | root <root@rshg054.dnsready.net> | 2012-10-06 00:25:32 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-10-06 00:25:32 -0700 |
commit | e7552010f531ef1b114352f0ce71a307360bf1d4 (patch) | |
tree | d37bd67211f2dc084113f36b80f2b4b5b9622aa5 /extra/kdebase-workspace | |
parent | 777466db27694f0cad10a7159ba66f2a2b39a516 (diff) |
Sat Oct 6 00:25:32 PDT 2012
Diffstat (limited to 'extra/kdebase-workspace')
-rw-r--r-- | extra/kdebase-workspace/PKGBUILD | 20 | ||||
-rw-r--r-- | extra/kdebase-workspace/logind-support.patch | 66 |
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&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; + |