2024-01-29 19:11:17

by fdanis-oss

[permalink] [raw]
Subject: [bluez/bluez] 2a5c9c: configure, README: introduce --enable-external-plu...

Branch: refs/heads/master
Home: https://github.com/bluez/bluez
Commit: 2a5c9cf632e65b9935ae3bcb7a3dc92b1d580b30
https://github.com/bluez/bluez/commit/2a5c9cf632e65b9935ae3bcb7a3dc92b1d580b30
Author: Emil Velikov <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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