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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  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




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux