[libbluedevil] backport recent upstream commits (#1114397)
Rex Dieter
rdieter at fedoraproject.org
Mon Jun 30 12:12:07 UTC 2014
commit 5ee98cfd1b14225bcd0dd5dcc48192e826233f8d
Author: Rex Dieter <rdieter at math.unl.edu>
Date: Mon Jun 30 07:12:14 2014 -0500
backport recent upstream commits (#1114397)
...Adapter-alias-property-alias-and-setAlias.patch | 77 ++++++++++++++++++++
...-do-better-job-handling-powered-unpowered.patch | 63 ++++++++++++++++
0003-Do-not-set-the-Adapter-back-to-powered.patch | 32 ++++++++
...-set-m_usableAdapter-in-findUsableAdapter.patch | 26 +++++++
libbluedevil.spec | 13 +++-
5 files changed, 209 insertions(+), 2 deletions(-)
---
diff --git a/0001-Add-Adapter-alias-property-alias-and-setAlias.patch b/0001-Add-Adapter-alias-property-alias-and-setAlias.patch
new file mode 100644
index 0000000..4eb376f
--- /dev/null
+++ b/0001-Add-Adapter-alias-property-alias-and-setAlias.patch
@@ -0,0 +1,77 @@
+From c14f49ff9617b83546e5b867f85e60aec74e6f75 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=80lex=20Fiestas?= <afiestas at kde.org>
+Date: Tue, 7 Jan 2014 07:37:17 +0100
+Subject: [PATCH 1/4] Add Adapter::alias property (alias and setAlias)
+
+---
+ bluedevil/bluedeviladapter.cpp | 10 ++++++++++
+ bluedevil/bluedeviladapter.h | 11 +++++++++++
+ 2 files changed, 21 insertions(+)
+
+diff --git a/bluedevil/bluedeviladapter.cpp b/bluedevil/bluedeviladapter.cpp
+index 066cd09..efaff77 100644
+--- a/bluedevil/bluedeviladapter.cpp
++++ b/bluedevil/bluedeviladapter.cpp
+@@ -146,6 +146,11 @@ QString Adapter::name() const
+ return d->m_bluezAdapterInterface->name();
+ }
+
++QString Adapter::alias() const
++{
++ return d->m_bluezAdapterInterface->alias();
++}
++
+ quint32 Adapter::adapterClass() const
+ {
+ return d->m_bluezAdapterInterface->adapterClass();
+@@ -211,6 +216,11 @@ QStringList Adapter::UUIDs()
+ return UUIDs;
+ }
+
++void Adapter::setAlias(const QString& alias)
++{
++ d->m_bluezAdapterInterface->setAlias(alias);
++}
++
+ void Adapter::setPowered(bool powered)
+ {
+ d->m_bluezAdapterInterface->setPowered(powered);
+diff --git a/bluedevil/bluedeviladapter.h b/bluedevil/bluedeviladapter.h
+index 9fce2f5..ccb17f9 100644
+--- a/bluedevil/bluedeviladapter.h
++++ b/bluedevil/bluedeviladapter.h
+@@ -50,6 +50,7 @@ class BLUEDEVIL_EXPORT Adapter
+
+ Q_PROPERTY(QString address READ address)
+ Q_PROPERTY(QString name READ name)
++ Q_PROPERTY(QString alias READ alias WRITE setAlias)
+ Q_PROPERTY(quint32 adapterClass READ adapterClass)
+ Q_PROPERTY(bool powered READ isPowered WRITE setPowered)
+ Q_PROPERTY(bool discoverable READ isDiscoverable WRITE setDiscoverable)
+@@ -79,6 +80,11 @@ public:
+ QString name() const;
+
+ /**
++ * @return The alias of the adapter
++ */
++ QString alias() const;
++
++ /**
+ * @return The class of the adapter.
+ */
+ quint32 adapterClass() const;
+@@ -141,6 +147,11 @@ public:
+
+ public Q_SLOTS:
+ /**
++ * Set the alias of the adapter
++ */
++ void setAlias(const QString &alias);
++
++ /**
+ * Sets whether this adapter is consuming energy or not.
+ */
+ void setPowered(bool powered);
+--
+1.9.3
+
diff --git a/0002-Try-to-do-better-job-handling-powered-unpowered.patch b/0002-Try-to-do-better-job-handling-powered-unpowered.patch
new file mode 100644
index 0000000..cc85484
--- /dev/null
+++ b/0002-Try-to-do-better-job-handling-powered-unpowered.patch
@@ -0,0 +1,63 @@
+From d013cc20ac413f961dec49eb6ce1c25c8a7be70d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=80lex=20Fiestas?= <afiestas at kde.org>
+Date: Sun, 9 Mar 2014 02:53:57 +0100
+Subject: [PATCH 2/4] Try to do better job handling powered/unpowered.
+
+---
+ bluedevil/bluedevilmanager_p.cpp | 13 +++++++++++++
+ bluedevil/bluedevilmanager_p.h | 1 +
+ 2 files changed, 14 insertions(+)
+
+diff --git a/bluedevil/bluedevilmanager_p.cpp b/bluedevil/bluedevilmanager_p.cpp
+index 785b0ca..f7de518 100644
+--- a/bluedevil/bluedevilmanager_p.cpp
++++ b/bluedevil/bluedevilmanager_p.cpp
+@@ -69,6 +69,7 @@ void ManagerPrivate::initialize()
+ QVariantMapMap interfaces = managedObjectIt.value();
+ if(interfaces.contains("org.bluez.Adapter1")) {
+ Adapter *const adapter = new Adapter(path, m_q);
++ connect(adapter, SIGNAL(poweredChanged(bool)), SLOT(_k_bluezAdapterPoweredChanged(bool)));
+ m_adapters.insert(managedObjectIt.key().path(), adapter);
+ } else if(interfaces.contains("org.bluez.Device1")) {
+ QString adapterPath = managedObjectIt.value().value("org.bluez.Device1").value("Adapter").value<QDBusObjectPath>().path();
+@@ -130,6 +131,7 @@ void ManagerPrivate::_k_interfacesAdded(const QDBusObjectPath &objectPath, const
+ for(i = interfaces.constBegin(); i != interfaces.constEnd(); ++i) {
+ if(i.key() == "org.bluez.Adapter1") {
+ Adapter * const adapter = new Adapter(objectPath.path(), m_q);
++ connect(adapter, SIGNAL(poweredChanged(bool)), SLOT(_k_bluezAdapterPoweredChanged(bool)));
+ m_adapters.insert(objectPath.path(), adapter);
+ if (!m_usableAdapter || !m_usableAdapter->isPowered()) {
+ Adapter *const oldUsableAdapter = m_usableAdapter;
+@@ -192,6 +194,17 @@ void ManagerPrivate::_k_bluezServiceUnregistered()
+ clean();
+ }
+
++void ManagerPrivate::_k_bluezAdapterPoweredChanged(bool powered)
++{
++ //If the power change has had no effect on usableAdpater, do nothing
++ Adapter *adapter = findUsableAdapter();
++ if (m_usableAdapter == adapter) {
++ return;
++ }
++
++ m_usableAdapter = adapter;
++ emit m_q->usableAdapterChanged(adapter);
++}
+
+ }
+
+diff --git a/bluedevil/bluedevilmanager_p.h b/bluedevil/bluedevilmanager_p.h
+index 3bbf7dc..cf345ce 100644
+--- a/bluedevil/bluedevilmanager_p.h
++++ b/bluedevil/bluedevilmanager_p.h
+@@ -56,6 +56,7 @@ public:
+ public Q_SLOTS:
+ void _k_bluezServiceRegistered();
+ void _k_bluezServiceUnregistered();
++ void _k_bluezAdapterPoweredChanged(bool powered);
+
+ void _k_interfacesAdded(const QDBusObjectPath &objectPath, const QVariantMapMap &interfaces);
+ void _k_interfacesRemoved(const QDBusObjectPath &objectPath, const QStringList &interfaces);
+--
+1.9.3
+
diff --git a/0003-Do-not-set-the-Adapter-back-to-powered.patch b/0003-Do-not-set-the-Adapter-back-to-powered.patch
new file mode 100644
index 0000000..2f29ee1
--- /dev/null
+++ b/0003-Do-not-set-the-Adapter-back-to-powered.patch
@@ -0,0 +1,32 @@
+From c76d6e50ba6466403457371ab8416b0600af4a77 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=80lex=20Fiestas?= <afiestas at kde.org>
+Date: Sun, 9 Mar 2014 04:04:11 +0100
+Subject: [PATCH 3/4] Do not set the Adapter back to powered
+
+This seems to be some code back from the port, an
+attemp to save the state.
+
+Imho the library should not do that but rather an external
+entity such the bluedevil daemon.
+
+BUG:329411
+---
+ bluedevil/bluedeviladapter.cpp | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/bluedevil/bluedeviladapter.cpp b/bluedevil/bluedeviladapter.cpp
+index efaff77..668934a 100644
+--- a/bluedevil/bluedeviladapter.cpp
++++ b/bluedevil/bluedeviladapter.cpp
+@@ -127,8 +127,6 @@ Adapter::Adapter(const QString &adapterPath, QObject *parent)
+
+ connect(d->m_dbusPropertiesInterface, SIGNAL(PropertiesChanged(QString,QVariantMap,QStringList)),
+ this, SLOT(_k_propertyChanged(QString,QVariantMap,QStringList)));
+-
+- setPowered(true); // TODO: remember powered setting.
+ }
+
+ Adapter::~Adapter()
+--
+1.9.3
+
diff --git a/0004-Do-not-set-m_usableAdapter-in-findUsableAdapter.patch b/0004-Do-not-set-m_usableAdapter-in-findUsableAdapter.patch
new file mode 100644
index 0000000..908951f
--- /dev/null
+++ b/0004-Do-not-set-m_usableAdapter-in-findUsableAdapter.patch
@@ -0,0 +1,26 @@
+From e4714e6b31202b3a9b470f0fa32bbdd4ad3bc16f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=80lex=20Fiestas?= <afiestas at kde.org>
+Date: Sun, 9 Mar 2014 04:42:19 +0100
+Subject: [PATCH 4/4] Do not set m_usableAdapter in findUsableAdapter
+
+This is not needed since all the calleers go findUsableAdapter
+do this already.
+---
+ bluedevil/bluedevilmanager_p.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/bluedevil/bluedevilmanager_p.cpp b/bluedevil/bluedevilmanager_p.cpp
+index f7de518..ad32470 100644
+--- a/bluedevil/bluedevilmanager_p.cpp
++++ b/bluedevil/bluedevilmanager_p.cpp
+@@ -118,7 +118,6 @@ Adapter *ManagerPrivate::findUsableAdapter()
+ {
+ Q_FOREACH (Adapter *const adapter, m_q->adapters()) {
+ if (adapter->isPowered()) {
+- m_usableAdapter = adapter;
+ return adapter;
+ }
+ }
+--
+1.9.3
+
diff --git a/libbluedevil.spec b/libbluedevil.spec
index 3a5a782..4442062 100644
--- a/libbluedevil.spec
+++ b/libbluedevil.spec
@@ -6,7 +6,7 @@
Name: libbluedevil
Summary: A Qt wrapper for bluez
Version: 2.0
-Release: 0.7.%{pre}%{?dist}
+Release: 0.8.%{pre}%{?dist}
License: LGPLv2+
URL: https://projects.kde.org/projects/playground/libs/libbluedevil
@@ -18,6 +18,12 @@ Source0: libbluedevil-%{version}-%{snap}.tar.xz
Source0: http://download.kde.org/%{stable}/libbluedevil/%{version}%{?pre:-%{pre}}/src/libbluedevil-%{version}%{?pre:-%{pre}}.tar.xz
%endif
+## upstream patches
+Patch1: 0001-Add-Adapter-alias-property-alias-and-setAlias.patch
+Patch2: 0002-Try-to-do-better-job-handling-powered-unpowered.patch
+Patch3: 0003-Do-not-set-the-Adapter-back-to-powered.patch
+Patch4: 0004-Do-not-set-m_usableAdapter-in-findUsableAdapter.patch
+
BuildRequires: automoc4
BuildRequires: cmake
BuildRequires: pkgconfig(QtCore) pkgconfig(QtDBus)
@@ -35,7 +41,7 @@ Development files for %{name}.
%prep
-%setup -q -n libbluedevil-%{version}%{?pre:-%{pre}}
+%autosetup -n libbluedevil-%{version}%{?pre:-%{pre}} -p1
%build
@@ -65,6 +71,9 @@ make install/fast DESTDIR=%{buildroot} -C %{_target_platform}
%changelog
+* Mon Jun 30 2014 Rex Dieter <rdieter at fedoraproject.org> 2.0-0.8.rc1
+- backport recent upstream commits (#1114397)
+
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.0-0.7.rc1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
More information about the scm-commits
mailing list