summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2021-12-10 15:42:20 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2021-12-10 15:58:22 +0100
commitec9c85c78ade23d13098c698aa656a6b66d82c0f (patch)
tree6ca9cd51dba6328e3fb41365e5e703c8e8fc71c6 /kde-plasma/bluedevil
parentkde-plasma/plasma-desktop: Drop 5.23.4 (r0) (diff)
downloadgentoo-ec9c85c78ade23d13098c698aa656a6b66d82c0f.tar.gz
gentoo-ec9c85c78ade23d13098c698aa656a6b66d82c0f.tar.bz2
gentoo-ec9c85c78ade23d13098c698aa656a6b66d82c0f.zip
kde-plasma/bluedevil: Save bluetooth status on teardown
Upstream commit daaa18920ae93b482585eb3df790a6d5a647b6db KDE-bug: https://bugs.kde.org/show_bug.cgi?id=445376 Package-Manager: Portage-3.0.29, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-plasma/bluedevil')
-rw-r--r--kde-plasma/bluedevil/bluedevil-5.23.4-r1.ebuild45
-rw-r--r--kde-plasma/bluedevil/files/bluedevil-5.23.4-save-bluetooth-status-on-teardown.patch89
2 files changed, 134 insertions, 0 deletions
diff --git a/kde-plasma/bluedevil/bluedevil-5.23.4-r1.ebuild b/kde-plasma/bluedevil/bluedevil-5.23.4-r1.ebuild
new file mode 100644
index 000000000000..323013532ab8
--- /dev/null
+++ b/kde-plasma/bluedevil/bluedevil-5.23.4-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KFMIN=5.86.0
+PVCUT=$(ver_cut 1-3)
+QTMIN=5.15.2
+inherit ecm kde.org
+
+DESCRIPTION="Bluetooth stack for KDE Plasma"
+HOMEPAGE="https://invent.kde.org/plasma/bluedevil"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE=""
+
+PATCHES=(
+ "${FILESDIR}"/${P}-save-bluetooth-status-on-teardown.patch # KDE-bug 445376
+)
+
+DEPEND="
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/bluez-qt-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kdeclarative-${KFMIN}:5
+ >=kde-frameworks/kdbusaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/knotifications-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/plasma-${KFMIN}:5
+"
+RDEPEND="${DEPEND}
+ >=dev-qt/qtquickcontrols2-${QTMIN}:5
+ >=kde-frameworks/kirigami-${KFMIN}:5
+ >=kde-plasma/kde-cli-tools-${PVCUT}:5
+"
diff --git a/kde-plasma/bluedevil/files/bluedevil-5.23.4-save-bluetooth-status-on-teardown.patch b/kde-plasma/bluedevil/files/bluedevil-5.23.4-save-bluetooth-status-on-teardown.patch
new file mode 100644
index 000000000000..1a0a28e50ec9
--- /dev/null
+++ b/kde-plasma/bluedevil/files/bluedevil-5.23.4-save-bluetooth-status-on-teardown.patch
@@ -0,0 +1,89 @@
+From daaa18920ae93b482585eb3df790a6d5a647b6db Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Fri, 19 Nov 2021 19:37:58 -0700
+Subject: [PATCH] Save bluetooth status on teardown
+
+Instead of watching for the shutdown and restart signals, just save
+status anytime kded quits, which automatically covers those use cases as
+well as when logging out. This is what the code was already halfway
+doing; let's go all the way.
+
+BUG: 445376
+FIXED-IN: 5.23.5
+(cherry picked from commit e57bb7580251f38e798bea21cdad43a3f90f2568)
+---
+ src/kded/devicemonitor.cpp | 29 +++--------------------------
+ src/kded/devicemonitor.h | 1 -
+ 2 files changed, 3 insertions(+), 27 deletions(-)
+
+diff --git a/src/kded/devicemonitor.cpp b/src/kded/devicemonitor.cpp
+index 735747ee..5090a8be 100644
+--- a/src/kded/devicemonitor.cpp
++++ b/src/kded/devicemonitor.cpp
+@@ -46,15 +46,6 @@ DeviceMonitor::DeviceMonitor(BlueDevilDaemon *daemon)
+ this,
+ SLOT(login1PrepareForSleep(bool)));
+
+- // Catch shutdown events so we can save status when shutting down and
+- // optionally resume when starting up
+- QDBusConnection::systemBus().connect(QStringLiteral("org.freedesktop.login1"),
+- QStringLiteral("/org/freedesktop/login1"),
+- QStringLiteral("org.freedesktop.login1.Manager"),
+- QStringLiteral("PrepareForShutdown"),
+- this,
+- SLOT(login1PrepareForShutdown(bool)));
+-
+ // Set initial state
+ const KConfigGroup globalGroup = m_config->group("Global");
+ const QString launchState = globalGroup.readEntry("launchState", "remember");
+@@ -75,17 +66,11 @@ DeviceMonitor::DeviceMonitor(BlueDevilDaemon *daemon)
+ }
+ }
+
+-// Save state when tearing down to avoid getting out of sync if kded crashes
+-// or is manually restarted
+ DeviceMonitor::~DeviceMonitor()
+ {
+- KConfigGroup globalGroup = m_config->group("Global");
+-
+- if (m_manager->isBluetoothBlocked()) {
+- globalGroup.writeEntry<bool>("bluetoothBlocked", true);
+- } else {
+- globalGroup.deleteEntry("bluetoothBlocked");
+- }
++ // Save state when tearing down to avoid getting out of sync if kded crashes
++ // or is manually restarted
++ saveState();
+ }
+
+ KFilePlacesModel *DeviceMonitor::places()
+@@ -140,14 +125,6 @@ void DeviceMonitor::login1PrepareForSleep(bool active)
+ }
+ }
+
+-void DeviceMonitor::login1PrepareForShutdown(bool active)
+-{
+- if (active) {
+- qCDebug(BLUEDAEMON) << "About to shut down";
+- saveState();
+- }
+-}
+-
+ void DeviceMonitor::saveState()
+ {
+ KConfigGroup adaptersGroup = m_config->group("Adapters");
+diff --git a/src/kded/devicemonitor.h b/src/kded/devicemonitor.h
+index 6a35fed4..a7b38cab 100644
+--- a/src/kded/devicemonitor.h
++++ b/src/kded/devicemonitor.h
+@@ -35,7 +35,6 @@ private Q_SLOTS:
+
+ void deviceConnectedChanged(bool connected);
+ void login1PrepareForSleep(bool active);
+- void login1PrepareForShutdown(bool active);
+
+ private:
+ void restoreState();
+--
+GitLab
+