diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-11-09 15:35:21 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-12-10 16:11:03 +0100 |
commit | 21ed02f5976d3fedfac8e3d7b894685593103c33 (patch) | |
tree | 54aa68224134411c6f233d202add552aafd731d0 /kde-plasma/libkworkspace | |
parent | kde-plasma/plasma-systemmonitor: Drop 5.23.4 (r0) (diff) | |
download | gentoo-21ed02f5976d3fedfac8e3d7b894685593103c33.tar.gz gentoo-21ed02f5976d3fedfac8e3d7b894685593103c33.tar.bz2 gentoo-21ed02f5976d3fedfac8e3d7b894685593103c33.zip |
kde-plasma/libkworkspace: Fix sleep/suspend race condition
(not fixed in 5.23.4 yet)
See also: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1164
Thanks-to: Joe Breuer <kde@jmbreuer.net>
Bug: https://bugs.gentoo.org/818124
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma/libkworkspace')
-rw-r--r-- | kde-plasma/libkworkspace/files/libkworkspace-5.23.3-synchronous-dbus-calls.patch | 48 | ||||
-rw-r--r-- | kde-plasma/libkworkspace/libkworkspace-5.23.4-r1.ebuild | 60 |
2 files changed, 108 insertions, 0 deletions
diff --git a/kde-plasma/libkworkspace/files/libkworkspace-5.23.3-synchronous-dbus-calls.patch b/kde-plasma/libkworkspace/files/libkworkspace-5.23.3-synchronous-dbus-calls.patch new file mode 100644 index 000000000000..411bebf70412 --- /dev/null +++ b/kde-plasma/libkworkspace/files/libkworkspace-5.23.3-synchronous-dbus-calls.patch @@ -0,0 +1,48 @@ +From 9ecd45f28dc5c3a4b1716d09e0ba121ec5fb2a50 Mon Sep 17 00:00:00 2001 +From: Joe Breuer <kde@jmbreuer.net> +Date: Mon, 1 Nov 2021 07:19:51 +0000 +Subject: [PATCH] Fix sleep/suspend sometimes not working ... from + ksmserver-logout-greeter, by making the DBus calls synchronous. + +--- + libkworkspace/sessionmanagementbackend.cpp | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/sessionmanagementbackend.cpp b/sessionmanagementbackend.cpp +index 83cd39395..a77a8a475 100644 +--- a/sessionmanagementbackend.cpp ++++ b/sessionmanagementbackend.cpp +@@ -137,7 +137,6 @@ void LogindSessionBackend::shutdown() + { + // logind will confirm credentials with the caller, if the app quits after sending this + // this may fail +- // its not really needed for suspend tasks where the calling app won't be closing + m_login1->PowerOff(true).waitForFinished(); + } + +@@ -148,17 +147,19 @@ void LogindSessionBackend::reboot() + + void LogindSessionBackend::suspend() + { +- m_login1->Suspend(true); ++ // these need to be synchronous as well - ksmserver-logout-greeter specifically calls these ++ // and will quit immediately after ++ m_login1->Suspend(true).waitForFinished(); + } + + void LogindSessionBackend::hybridSuspend() + { +- m_login1->HybridSleep(true); ++ m_login1->HybridSleep(true).waitForFinished(); + } + + void LogindSessionBackend::hibernate() + { +- m_login1->Hibernate(true); ++ m_login1->Hibernate(true).waitForFinished();; + } + + bool LogindSessionBackend::canShutdown() const +-- +GitLab + diff --git a/kde-plasma/libkworkspace/libkworkspace-5.23.4-r1.ebuild b/kde-plasma/libkworkspace/libkworkspace-5.23.4-r1.ebuild new file mode 100644 index 000000000000..f0dd4898d65b --- /dev/null +++ b/kde-plasma/libkworkspace/libkworkspace-5.23.4-r1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_TEST="true" +KDE_ORG_NAME="plasma-workspace" +KFMIN=5.86.0 +PVCUT=$(ver_cut 1-3) +QTMIN=5.15.2 +inherit ecm kde.org + +DESCRIPTION="Workspace library to interact with the Plasma session manager" + +LICENSE="GPL-2" # TODO: CHECK +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="" + +RDEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtx11extras-${QTMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kwindowsystem-${KFMIN}:5 + >=kde-plasma/kscreenlocker-${PVCUT}:5 + x11-libs/libICE + x11-libs/libSM + x11-libs/libX11 + x11-libs/libXau +" +DEPEND="${RDEPEND} + >=kde-frameworks/kinit-${KFMIN}:5 + >=kde-plasma/kwin-${PVCUT}:5 +" + +S="${S}/${PN}" + +PATCHES=( + # Pending: https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1164 + "${FILESDIR}"/${PN}-5.23.3-synchronous-dbus-calls.patch # bug 818124 +) + +src_prepare() { + # delete colliding libkworkspace translations, let ecm_src_prepare do its magic + if [[ ${KDE_BUILD_TYPE} = release ]]; then + find ../po -type f -name "*po" -and -not -name "libkworkspace*" -delete || die + rm -rf po/*/docs || die + cp -a ../po ./ || die + fi + + eapply "${FILESDIR}/${PN}-5.22.80-standalone.patch" + sed -e "/set/s/GENTOO_PV/$(ver_cut 1-3)/" -i CMakeLists.txt || die + cat >> CMakeLists.txt <<- _EOF_ || die + ki18n_install(po) + _EOF_ + + ecm_src_prepare +} |