Branch: refs/heads/master Home: https://github.com/bluez/bluez Commit: 2a5c9cf632e65b9935ae3bcb7a3dc92b1d580b30 https://github.com/bluez/bluez/commit/2a5c9cf632e65b9935ae3bcb7a3dc92b1d580b30 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-26 (Fri, 26 Jan 2024) Changed paths: M README M configure.ac Log Message: ----------- configure, README: introduce --enable-external-plugins As the README chunk says, disabled by default, since they rely on internal API/ABI and can break at any point. Instead everyone affected should work and upstream their plugin into the bluez project. Commit: 004b5b28a04c52e26ad5cafbb53a586a722ce3ab https://github.com/bluez/bluez/commit/004b5b28a04c52e26ad5cafbb53a586a722ce3ab Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Makefile.obexd M obexd/src/obexd.h M obexd/src/plugin.c M obexd/src/plugin.h Log Message: ----------- obexd: factor out external plugin support As a whole all plugins should be built-in, otherwise they would be using internal, undocumented, unversioned, unstable API. Flesh out the external plugin support into a few blocks and simplify the normal path. Guard the external plugin support behind a runtime check, which will be dead-code eliminated in the default case. Hide the internal API (omit export-dynamic) when built without external plugins. Commit: 1db7a00e35c48efa48d4cb6a8510e76081270782 https://github.com/bluez/bluez/commit/1db7a00e35c48efa48d4cb6a8510e76081270782 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Makefile.am R plugins/external-dummy.c Log Message: ----------- bluetoothd: remove external-dummy plugin The external plugins infra is getting deprecated and disabled by default. Remove this dummy plugin. Commit: 9f71892b63f6b65dab874a633d88ae2dcad93a16 https://github.com/bluez/bluez/commit/9f71892b63f6b65dab874a633d88ae2dcad93a16 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Makefile.plugins Log Message: ----------- bluetoothd: convert external sixaxis plugin to builtin Convert the only known external plugin to built-in. It's a tiny 20K binary that distros ship a separate package for. Make it a builtin, which allows distros to drop the separate package, it also enables us to compile out support for external modules - both in terms of extra code and hide the internal bluetoothd API. This means that libudev.so is pulled in, which is fine since its ABI has been stable for over a decade. Commit: 109cc8a0f6aa1458481f57c106a01357d9dff7d0 https://github.com/bluez/bluez/commit/109cc8a0f6aa1458481f57c106a01357d9dff7d0 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Makefile.am M src/btd.h M src/plugin.c M src/plugin.h Log Message: ----------- bluetoothd: factor out external plugin support As a whole all plugins should be built-in, otherwise they would be using internal, undocumented, unversioned, unstable API. Flesh out the external plugin support and simplify the normal path. Guard the external plugin support behind a runtime check, which will be dead-code eliminated in the default case. Commit: 7a1d3c7c4bc708b5989ff5a08c83e3c512941445 https://github.com/bluez/bluez/commit/7a1d3c7c4bc708b5989ff5a08c83e3c512941445 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M Makefile.am Log Message: ----------- bluetoothd: don't export internal API ... when building without external plugins. Commit: f174724c76c6c8b91276f444142fed9c2537e5c1 https://github.com/bluez/bluez/commit/f174724c76c6c8b91276f444142fed9c2537e5c1 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M src/plugin.c Log Message: ----------- bluetoothd: change plugin loading alike obexd Currently, we print "Loading foobar" for every plugin, before we try the respective init() callback. Instead we handle the latter in a bunch, at the end of the process. Do the init() call early, print "Loaded" once it's actually successful and drop the no-longer "active" tracking. Commit: f59f4902bc4ea0bf5f1fed2b1e5e2f4ed52f0cb5 https://github.com/bluez/bluez/commit/f59f4902bc4ea0bf5f1fed2b1e5e2f4ed52f0cb5 Author: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> Date: 2024-01-29 (Mon, 29 Jan 2024) Changed paths: M android/Makefile.am M android/hal-audio.c M android/hal-bluetooth.c M android/hal-sco.c Log Message: ----------- android: export only (android) entrypoint from the modules The android specific modules, have a designated HMI entrypoint. Hide everything else with -fvisibility=hidden. Compare: https://github.com/bluez/bluez/compare/0de32f67f685...f59f4902bc4e