2013-05-06 11:13, Peter Robinson skrev:
On Mon, May 6, 2013 at 8:35 AM, Bastien Nocera bnocera@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]