diff --git a/.gitignore b/.gitignore index 2cd1efa..0a5dc6f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libbluedevil-1.9.2.tar.bz2 +SOURCES/libbluedevil-2.1.tar.xz diff --git a/.libbluedevil.metadata b/.libbluedevil.metadata index ae33d36..07194a9 100644 --- a/.libbluedevil.metadata +++ b/.libbluedevil.metadata @@ -1 +1 @@ -44aa52071d8b43e61dde27de5980471608362854 SOURCES/libbluedevil-1.9.2.tar.bz2 +3c0f10b01246461924134139b5af80641f5f88da SOURCES/libbluedevil-2.1.tar.xz diff --git a/SOURCES/0001-Adapter-Add-back-alias-and-setAlias-for-binary-compa.patch b/SOURCES/0001-Adapter-Add-back-alias-and-setAlias-for-binary-compa.patch new file mode 100644 index 0000000..7dedca7 --- /dev/null +++ b/SOURCES/0001-Adapter-Add-back-alias-and-setAlias-for-binary-compa.patch @@ -0,0 +1,85 @@ +From 338bad3d36260be9250277bfdfcb133ab19b376d Mon Sep 17 00:00:00 2001 +From: David Rosca +Date: Sat, 27 Dec 2014 13:16:35 +0100 +Subject: [PATCH] Adapter: Add back alias() and setAlias() for binary + compatibility + +Fixes binary compatibility break from ec29ea82fd8e06ddebffd9c1dbdb53ec6872c3f2 +--- + bluedevil/bluedeviladapter.cpp | 10 ++++++++++ + bluedevil/bluedeviladapter.h | 13 ++++++++++++- + 2 files changed, 22 insertions(+), 1 deletion(-) + +diff --git a/bluedevil/bluedeviladapter.cpp b/bluedevil/bluedeviladapter.cpp +index e8d0abf..960b1d7 100644 +--- a/bluedevil/bluedeviladapter.cpp ++++ b/bluedevil/bluedeviladapter.cpp +@@ -144,6 +144,11 @@ QString Adapter::name() const + return d->m_bluezAdapterInterface->alias(); + } + ++QString Adapter::alias() const ++{ ++ return name(); ++} ++ + QString Adapter::systemName() const + { + return d->m_bluezAdapterInterface->name(); +@@ -219,6 +224,11 @@ void Adapter::setName(const QString& name) + d->m_bluezAdapterInterface->setAlias(name); + } + ++void Adapter::setAlias(const QString &alias) ++{ ++ setName(alias); ++} ++ + void Adapter::setPowered(bool powered) + { + d->m_bluezAdapterInterface->setPowered(powered); +diff --git a/bluedevil/bluedeviladapter.h b/bluedevil/bluedeviladapter.h +index 11cd211..b89ed50 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 WRITE setName) ++ Q_PROPERTY(QString alias READ alias WRITE setAlias) + Q_PROPERTY(QString systemName READ systemName) + Q_PROPERTY(quint32 adapterClass READ adapterClass) + Q_PROPERTY(bool powered READ isPowered WRITE setPowered) +@@ -85,6 +86,11 @@ public: + QString name() const; + + /** ++ * Only for binary compatibility. Same as name(). ++ */ ++ QString alias() const; ++ ++ /** + * @return The system name (hostname) of the adapter. + */ + QString systemName() const; +@@ -152,11 +158,16 @@ public: + + public Q_SLOTS: + /** +- * Set the name (alias) of the adapter ++ * Set the name (alias) of the adapter + */ + void setName(const QString &name); + + /** ++ * Only for binary compatibility. Same as setAlias(). ++ */ ++ void setAlias(const QString &alias); ++ ++ /** + * Sets whether this adapter is consuming energy or not. + */ + void setPowered(bool powered); +-- +2.1.0 + diff --git a/SOURCES/0002-Delete-adapter-only-after-all-devices-from-the-adapt.patch b/SOURCES/0002-Delete-adapter-only-after-all-devices-from-the-adapt.patch new file mode 100644 index 0000000..2361632 --- /dev/null +++ b/SOURCES/0002-Delete-adapter-only-after-all-devices-from-the-adapt.patch @@ -0,0 +1,37 @@ +From a316b2a48d0ad0a6e3ee7ec90a74bc771f4e3c46 Mon Sep 17 00:00:00 2001 +From: David Rosca +Date: Mon, 27 Apr 2015 17:46:06 +0200 +Subject: [PATCH 2/2] Delete adapter only after all devices from the adapter + were removed + +BUG: 346329 +--- + bluedevil/bluedevilmanager_p.cpp | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/bluedevil/bluedevilmanager_p.cpp b/bluedevil/bluedevilmanager_p.cpp +index bb65467..3c45f2a 100644 +--- a/bluedevil/bluedevilmanager_p.cpp ++++ b/bluedevil/bluedevilmanager_p.cpp +@@ -162,7 +162,6 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con + } + if (adapter) { + emit m_q->adapterRemoved(adapter); +- delete adapter; + } + if (m_adapters.isEmpty()) { + emit m_q->usableAdapterChanged(0); +@@ -180,6 +179,10 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con + Adapter * const adapter = m_devAdapter.take(object); + if (adapter) { + adapter->removeDevice(object); ++ ++ if (adapter->devices().isEmpty()) { ++ adapter->deleteLater(); ++ } + } + } + } +-- +2.3.6 + diff --git a/SOURCES/0003-Only-delete-adapter-when-removed-from-m_adapters-has.patch b/SOURCES/0003-Only-delete-adapter-when-removed-from-m_adapters-has.patch new file mode 100644 index 0000000..c250104 --- /dev/null +++ b/SOURCES/0003-Only-delete-adapter-when-removed-from-m_adapters-has.patch @@ -0,0 +1,37 @@ +From 241d21361a677fa44b3bd0c53e65f12cd23c5ba3 Mon Sep 17 00:00:00 2001 +From: David Rosca +Date: Tue, 5 May 2015 17:04:06 +0200 +Subject: [PATCH 3/3] Only delete adapter when removed from m_adapters hash + +BUG: 346329 +--- + bluedevil/bluedevilmanager_p.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/bluedevil/bluedevilmanager_p.cpp b/bluedevil/bluedevilmanager_p.cpp +index 3c45f2a..af63593 100644 +--- a/bluedevil/bluedevilmanager_p.cpp ++++ b/bluedevil/bluedevilmanager_p.cpp +@@ -162,6 +162,10 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con + } + if (adapter) { + emit m_q->adapterRemoved(adapter); ++ ++ if (adapter->devices().isEmpty()) { ++ adapter->deleteLater(); ++ } + } + if (m_adapters.isEmpty()) { + emit m_q->usableAdapterChanged(0); +@@ -180,7 +184,7 @@ void ManagerPrivate::_k_interfacesRemoved(const QDBusObjectPath &objectPath, con + if (adapter) { + adapter->removeDevice(object); + +- if (adapter->devices().isEmpty()) { ++ if (adapter->devices().isEmpty() && !m_adapters.values().contains(adapter)) { + adapter->deleteLater(); + } + } +-- +2.4.0 + diff --git a/SPECS/libbluedevil.spec b/SPECS/libbluedevil.spec index 3cb14f2..c7d2f37 100644 --- a/SPECS/libbluedevil.spec +++ b/SPECS/libbluedevil.spec @@ -1,37 +1,39 @@ +%define stable stable + Name: libbluedevil -Version: 1.9.2 -Release: 5%{?dist} +Version: 2.1 +Release: 1%{?dist} Summary: A Qt wrapper for bluez -Group: System Environment/Libraries License: LGPLv2+ URL: https://projects.kde.org/projects/playground/libs/libbluedevil -Source0: ftp://ftp.kde.org/pub/kde/stable/libbluedevil/%{version}/src/libbluedevil-%{version}.tar.bz2 -# git archive --format=tar --remote=git://anongit.kde.org/libbluedevil v1.9s / -# --prefix=libbluedevil-v1.9/ -o libbluedevil-v1.9.tgz -# tar xvzf libbluedevil-v1.9.tgz -# rm libbluedevil-v1.9/qt4.tag -# tar cjvf libbluedevil-v1.9-%{snapshot}.tar.bz2 libbluedevil-v1.9/ -#Source0: libbluedevil-v%{version}-%{snapshot}.tar.bz2 -## match ExcludeArch for obexd and friends -ExcludeArch: s390 s390x +%if 0%{?snap} +# git archive --format=tar --remote=git://anongit.kde.org/libbluedevil bluez5 --prefix=libbluedevil-%{version}/ | xz ... +Source0: libbluedevil-%{version}-%{snap}.tar.xz +%else +Source0: http://download.kde.org/%{stable}/libbluedevil/%{version}%{?pre:-%{pre}}/src/libbluedevil-%{version}%{?pre:-%{pre}}.tar.xz +%endif -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +## upstream patches +Patch1: 0001-Adapter-Add-back-alias-and-setAlias-for-binary-compa.patch +Patch2: 0002-Delete-adapter-only-after-all-devices-from-the-adapt.patch +Patch3: 0003-Only-delete-adapter-when-removed-from-m_adapters-has.patch + +ExcludeArch: s390 s390x -BuildRequires: qt4-devel BuildRequires: automoc4 BuildRequires: cmake +BuildRequires: pkgconfig(QtCore) pkgconfig(QtDBus) -Requires: bluez +Requires: bluez >= 5 %description %{name} is Qt-based library written handle all Bluetooth functionality. %package devel Summary: Development files for %{name} -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel @@ -39,11 +41,11 @@ Development files for %{name}. %prep -%setup -q +%autosetup -n libbluedevil-%{version}%{?pre:-%{pre}} -p1 %build -mkdir -p %{_target_platform} +mkdir %{_target_platform} pushd %{_target_platform} %{cmake} .. popd @@ -52,23 +54,16 @@ make %{?_smp_mflags} -C %{_target_platform} %install -rm -rf %{buildroot} make install/fast DESTDIR=%{buildroot} -C %{_target_platform} -%clean -rm -rf %{buildroot} - - %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -%defattr(-,root,root,-) -%{_libdir}/libbluedevil.so.1* +%{_libdir}/libbluedevil.so.2* %files devel -%defattr(-,root,root,-) %doc HACKING %{_includedir}/bluedevil/ %{_libdir}/libbluedevil.so @@ -76,6 +71,9 @@ rm -rf %{buildroot} %changelog +* Mon May 25 2015 Jan Grulich - 2.1-1 +- Re-base to 2.1 (sync with F21) + * Fri Dec 27 2013 Daniel Mach - 1.9.2-5 - Mass rebuild 2013-12-27