FYI: F20 Feature: Migrate to Bluez5

Kalev Lember kalevlember at gmail.com
Fri Jun 21 15:16:09 UTC 2013


2013-05-06 11:13, Peter Robinson skrev:
> On Mon, May 6, 2013 at 8:35 AM, Bastien Nocera <bnocera at redhat.com> wrote:
>> Heya,
>>
>> In Fedora 20, we'll be using BlueZ 5.x to manage Bluetooth devices.
>>
>> Bluez5 uses a D-Bus API that's not compatible with Bluez4[1] and as
>> such, management applications and a number of libraries and daemons will
>> need to be ported.
>>
>> For GNOME 3.10 (due September 2013), Gustavo Padovan and I are going to
>> be porting gnome-bluetooth, NetworkManager and PulseAudio to BlueZ5.
>> Packages for BlueZ5 will be available as soon as we figure out how to
>> integrate a few downstream features that were in the Fedora packages.
>>
>> Bluez4 and Bluez5 are not parallel-installable, and incompatible, so
>> other applications relying on Bluez4 will need to be ported by their
>> respective maintainers.
> 
> 
> Any analysis to what packages are affected, how many are yet to
> support the new API and how hard it will be for them to be ported
> over.

I took a look to see what the impact would be. I am not a BlueZ expert,
so Bastien, please correct me if I am wrong somewhere.

BlueZ ships a daemon and provides two main interfaces for applications
to use it:

 1) libbluetooth shared library

 2) org.bluez DBus API

The TL;DL version is that in my findings, the only package that still
needs porting to bluez 5 is blueman. Others should either just continue
working, or need new versions packaged up.


Applications that use the libbluetooth shared library
-----------------------------------------------------

The library ABI hasn't changed and the soname in 5.x is still the same
as was in 4.x: libbluetooth.so.3, so the impact should be minimal.
Everything should be able to continue working without needing even a
simple rebuild.

Affected packages:

$ repoquery -q --whatrequires bluez-libs -s | sort | uniq
amora-1.1-10.fc19.src.rpm
anyremote-6.3.1-1.fc20.src.rpm
asterisk-11.4.0-2.fc20.src.rpm
bluecove-2.1.1-0.5.20101024snap63.fc19.src.rpm
blueman-1.23-6.fc19.src.rpm
bluemodem-0.7-9.fc19.src.rpm
bluez-4.101-6.fc19.src.rpm
bluez-hcidump-2.5-2.fc19.src.rpm
btkbdd-1.3-2.fc19.src.rpm
cwiid-0.6.00-21.20100505gitfadf11e.fc19.src.rpm
dolphin-emu-3.0-12.fc19.src.rpm
fawkes-0.5.0-7.fc20.src.rpm
foxtrotgps-1.1.1-5.fc19.src.rpm
gammu-1.26.1-10.fc19.src.rpm
gnokii-0.6.31-6.fc20.src.rpm
gnome-phone-manager-0.68-10.fc19.src.rpm
gpsd-3.9-1.fc20.src.rpm
gvfs-1.17.2-1.fc20.src.rpm
gypsy-0.9-1.fc20.src.rpm
kismet-0.0.2013.03.R1-1.fc20.src.rpm
libbtctl-0.11.1-13.fc20.src.rpm
libopensync-plugin-irmc-0.22-6.fc19.src.rpm
nxtrc-2.3-7.fc19.src.rpm
obexd-0.46-5.fc20.src.rpm
obex-data-server-0.4.6-5.fc19.src.rpm
obexfs-0.12-6.fc19.src.rpm
obexftp-0.23-13.fc20.src.rpm
openobex-1.5-8.fc19.src.rpm
pilot-link-0.12.5-16.fc20.src.rpm
pulseaudio-4.0-1.fc20.src.rpm
pybluez-0.18-6.fc19.src.rpm
qemu-1.5.0-9.fc20.src.rpm
syncevolution-1.3.99.3-2.fc20.src.rpm
vfrnav-20130510-1.fc20.src.rpm
wiiuse-0.12-8.fc19.src.rpm
xbmc-12.2-3.fc20.src.rpm


Applications that use the org.bluez dbus API
--------------------------------------------

The DBus service is shipped in the 'bluez' package and I assume all the
DBus API consumers have a dep on the 'bluez' package for that:

$ repoquery -q --whatrequires bluez -s | sort | uniq
blueman-1.23-6.fc19.src.rpm
bluemodem-0.7-9.fc19.src.rpm
bluez-4.101-6.fc19.src.rpm
gammu-1.26.1-10.fc19.src.rpm
ganyremote-6.2-1.fc20.src.rpm
gnome-bluetooth-3.8.1-1.fc20.src.rpm
kanyremote-6.2-1.fc20.src.rpm
libbluedevil-1.9.2-4.fc20.src.rpm
pulseaudio-4.0-1.fc20.src.rpm

I took a quick look at all the packages above and the following don't
seem to use the dbus API and have a dep on the 'bluez' package for other
reasons (use command line utilities etc.):

bluemodem
gammu
ganyremote
kanyremote

The following use the DBus API:

blueman         [Status: needs porting to 5.x]
gnome-bluetooth [Status: ported]
libbluedevil    [Status: port available in a git branch,
                 https://git.reviewboard.kde.org/r/108912/]
pulseaudio      [Status: ported]

-- 
Kalev


More information about the devel mailing list