[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