Commit Graph

620 Commits

Author SHA1 Message Date
Damodar Reddy GangiReddy
002ee180b1 obexd: Add system bus support for obexd
Currently obexd uses session bus.
Distros  where session bus is not supported and still obex profiles
are required in that case use system bus instead of session bus
which can be configured at run time.

An Command line option has been added to achieve it.
{ "system-bus", 's', 0, G_OPTION_ARG_NONE, &option_system_bus,
"Use System bus "}

we can use option obexd -s to use system bus.
2024-11-05 11:04:17 -05:00
Luiz Augusto von Dentz
ba98be0356 build: Fix make distcheck
This fixes the following error:

make[2]: *** No rule to make target 'doct/hci.7', needed by 'distdir-am'.
2024-10-23 11:44:23 -04:00
Luiz Augusto von Dentz
8572f24309 doc: Add initial HCI(7) documentation
This adds initial documentation for HCI sockets.
2024-10-18 15:36:55 -04:00
Frédéric Danis
7aa245979d doc: Add description of org.bluez.obex.Image
This new interface allows to get the image referenced in the audio
metadata ImgHandle available in org.bluez.MediaPlayer track properties.
The image handle is only available in track info if an OBEX session is
connected to the ObexPort port provided in  org.bluez.MediaPlayer
properties.
2024-09-17 11:38:03 -04:00
Guido Günther
daa86e06c3 tools/mpris-proxy: Add systemd user unit
That way it will be started automatically which is convenient on phones.
Distributions can then decide part of which install the unit should be.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
2024-09-09 13:02:38 -04:00
Marcel Holtmann
60257ab828 build: Update library version 2024-09-09 10:43:38 +02:00
Iulia Tanasescu
66a76c268d doc: Add initial MediaAssistant rst
This adds initial documentation for the MediaAssistant D-Bus API, to
be used by a Broadcast Assistant application to interract with the
BlueZ implementation (BASS Client).
2024-07-09 10:35:53 -04:00
Arun Raghavan
8e4bece63c src/shared: Add initial implementation for an ASHA profile
This implements the server role for the Audio Streaming for Hearing Aid
specification[1]. Includes basic ability to probe the ASHA GATT service,
as well as starting/stopping streaming.

[1] https://source.android.com/docs/core/connect/bluetooth/asha

Resolves: https://github.com/bluez/bluez/issues/481
2024-06-13 11:51:28 -04:00
Luiz Augusto von Dentz
098ff00dea doc: Add initial RFCOMM(7) documentation
This adds initial documentation for RFCOMM sockets.
2024-05-23 13:22:19 -04:00
Luiz Augusto von Dentz
f5e59893e6 doc: Add initial L2CAP(7) documentation
This adds initial documentation for L2CAP sockets.
2024-05-23 13:22:14 -04:00
Marcel Holtmann
58b6c0b880 build: Update library version 2024-04-14 10:45:08 +02:00
Luiz Augusto von Dentz
b561318193 build: Fix make distcheck
Add missing file src/shared/bap-defs.h.
2024-03-14 09:44:55 -04:00
Marcel Holtmann
17cd5563f8 build: Update library version 2024-03-07 16:12:25 +01:00
Max Gautier
7665fb5d94 Don't install conf and state dir on systemd
The bluetooth.service file already specify the State and Configuration
directories with the correct modes, which guarantee they will be
available (with proper permissions) when bluetoohd starts.

Not installing those helps implementing the "Hermetic /usr" pattern
(TL;DR: '/usr' contains everything necessary to boostrap a working
system)

Handling this in upstream bluez (rather than in distribution packaging
scripts) avoid duplication of efforts between distros.

Links: https://0pointer.net/blog/fitting-everything-together.html
2024-03-04 15:52:09 -05:00
Emil Velikov
344cf10cb6 build: simplify coverage handling 2024-02-20 08:52:24 -05:00
Emil Velikov
71d8fda25b build: handle relative libexecdir instances
With earlier commit, we've used exec_dir to reference the path of obexd
and bluetoothd within the service files.

At the same time, in my testing I was providing the complete path on the
configure command line. As result, things just worked.

In the default case, the variable contains relative references to ${}
variables, which as result end up literal in the services. Ultimately
the service files were broken.

Document are reuse the existing pattern of manually expanding the
variables.

Fixes: https://github.com/bluez/bluez/issues/736
2024-02-20 08:51:26 -05:00
Emil Velikov
9fe4ccb79f build: rework {install-data,uninstall}-hook
Currently autoconfigure throws a useful error, about a duplicate
install-data-hook.

Address that by making the two target specific and pulling them as
dependencies.

We have to create empty ones otherwise dependency tracking and
resolution will fail.
2024-02-20 08:50:26 -05:00
Ajay KV
5c89c54d2d shared/ccp: Add initial code for Call Control Profile for Client Role 2024-02-13 15:42:35 -05:00
Emil Velikov
be0e796299 build: ship all config files with --enable-datafiles
Currently we ship only the dbus/systemd policy files and omit the other
four - /etc/bluetooth/{main,mesh-main,input,network}.conf.

Outside of those files, there is no documentation what the defaults are
and the other possible options. A number of distributions (Arch, Gentoo,
Fedora) have opted to manually copy those into the package. Alas this
does not scale and leaves other distros at disadvantage, in a sense.

Note: we need a custom install target to ensure confdir and statedir
have the correct permissions.
2024-02-13 08:38:33 -05:00
Emil Velikov
7a1d3c7c4b bluetoothd: don't export internal API
... when building without external plugins.
2024-01-29 13:52:27 -05:00
Emil Velikov
109cc8a0f6 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.
2024-01-29 13:51:42 -05:00
Emil Velikov
1db7a00e35 bluetoothd: remove external-dummy plugin
The external plugins infra is getting deprecated and disabled by
default. Remove this dummy plugin.
2024-01-29 13:51:11 -05:00
Emil Velikov
116524c01d build: manage .service.in files via configure.ac
Considering we do basic substitution, we don't need to manually sed,
track dependencies, dist nor clean. Just add the files to
AC_CONFIG_FILES() call it a day - it does everything for us.
2024-01-25 13:46:11 -05:00
Emil Velikov
808d008aac build: remove explicit DEPENDENCIES handling
We currently duplicate the DEPENDENCIES handling that autotools does for
us. We have two types of objects - libraries or generated headers.

Former are part of the LDADD, the latter in BUILT_SOURCES.
2024-01-25 13:46:11 -05:00
Emil Velikov
14c7f21292 build: remove .service files from DEPENDENCIES lists
The DEPENDENCES lists are for binary objects, while the service files
are required by systemd (et al) after the install stage. The services
files are referenced by _DATA, so the service.in -> service conversion
can happen then.
2024-01-25 13:46:11 -05:00
Emil Velikov
215e6c7083 build: remove unused variable builtin_nodist 2024-01-25 13:46:10 -05:00
Marcel Holtmann
dc0cbf0f5d build: Update library version 2024-01-12 22:54:56 +01:00
Marcel Holtmann
cd00105c5b build: Update library version 2023-12-13 21:33:27 +01:00
Luiz Augusto von Dentz
6d4491649e shared/bap: Add debug helpers
This adds bap-debug.{c.h} that implements function helpers that can be
used to print BAP/ASCS/PACS TLV entries.
2023-10-20 11:04:42 -07:00
Luiz Augusto von Dentz
66c41d78f8 build: Fix manpage location for obex.Agent*(5)
This fixes the location of obex.Agent*(5) manpages.
2023-10-13 13:46:07 -07:00
Luiz Augusto von Dentz
345ad5e352 doc/obex-*-api: Rename to org.bluez.obex.*.rst
This renames obex-*-api.txt to org.bluez.obex.*.rst and generate
manpages org.bluez.obex.*.5.
2023-10-12 13:20:44 -07:00
Mahesh Talewad
04f40b747f unit/test-vcp: VOCS unit test case implementation
This implements all(10) mandatory VOCS testcases as unit tests.
2023-10-10 16:18:52 -07:00
Luiz Augusto von Dentz
ee27626c7a doc/admin-policy-api: Rename to org.bluez.AdminPolicy*.rst
This renames admin-policy-api.txt to org.bluez.AdminPolicy*.rst and
generate manpages org.bluez.AdminPolicy*.5.
2023-10-09 16:02:02 -07:00
Luiz Augusto von Dentz
87151d1904 doc/advertisement-monitor-api: Rename to org.bluez.AdvertisementMonitor*.rst
This renames advertisement-monitor-api.txt to
org.bluez.AdvertisementMonitor*.rst and generate manpages
org.bluez.AdvertisementMonitor*.5.
2023-10-09 15:58:42 -07:00
Luiz Augusto von Dentz
cba68babe1 doc/battery-api: Rename to org.bluez.Battery*.rst
This renames battery-api.txt to org.bluez.Battery*.rst and generate
manpages org.bluez.Battery*.5.
2023-10-09 15:55:25 -07:00
Luiz Augusto von Dentz
c6c412d6cc doc/gatt-api: Rename to org.bluez.Gatt*.rst
This renames gatt-api.txt to org.bluez.Gatt*.rst and generate manpages
org.bluez.Gatt*.5.
2023-10-09 15:51:16 -07:00
Luiz Augusto von Dentz
dec59a07fb doc/advertising-api: Rename to org.bluez.LEAdvertis*.rst
This renames advertising-api.txt to org.bluez.LEAdvertis*.rst and
generate manpages org.bluez.LEAdvertis*.5.
2023-10-09 15:47:58 -07:00
Luiz Augusto von Dentz
cfc76016b4 doc/input-api: Rename to org.bluez.Input.rst
This renames input-api.txt to org.bluez.Input.rst and generate manpages
org.bluez.Input.5.
2023-10-09 15:44:36 -07:00
Luiz Augusto von Dentz
6481b9095b doc/network-api: Rename to org.bluez.Network{Server}.rst
This renames network-api.txt to org.bluez.Network{Server}.rst and
generate manpages org.bluez.Network{Server}.5.
2023-10-09 15:02:05 -07:00
Luiz Augusto von Dentz
c5729e61b1 doc/profile-api: Rename to org.bluez.Profile{Manager}.rst
This renames profile-api.txt to org.bluez.Profile{Manager}.rst and
generate manpages org.bluez.Profile{Manager}.5.
2023-10-09 14:58:37 -07:00
Luiz Augusto von Dentz
42e2934c23 doc/agent-api: Rename to org.bluez.Agent{Manager}.rst
This renames agent-api.txt to org.bluez.Agent{Manager}.rst and generate
manpages org.bluez.Agent{Manager}.5.
2023-10-09 14:55:56 -07:00
Luiz Augusto von Dentz
359132ba89 doc/device-api: Rename to org.bluez.Device.rst
This renames device-api.txt to org.bluez.Device.rst and generate a
manpage org.bluez.Device.5.
2023-10-05 17:41:44 -07:00
Luiz Augusto von Dentz
6f7effa453 doc/adapter-api: Rename to org.bluez.Adapter.rst
This renames adapter-api.txt to org.bluez.Adapter.rst and generate a
manpage org.bluez.Adapter.5.
2023-10-05 17:41:44 -07:00
maheshtalewad
b88e6602e8 unit/test-micp.c: MICP-MICS unit test case implementation
-Added MICS and MICP Unit test cases in a single file[test-micp.c].
-Fixed the issue that occurred while running all the
 Unit test cases at a time.
-Tested all Unit test cases and working fine.
2023-10-05 13:53:13 -07:00
Luiz Augusto von Dentz
32b6d7394e doc/set-api: Rename to org.bluez.DeviceSet
This renames set-api.rst to org.bluez.DeviceSet.rst and generate a
manpage org.bluez.DeviceSet.5.
2023-10-03 14:15:12 -07:00
Luiz Augusto von Dentz
3ca45476fa doc/media: Convert media-api.rst into manpages
This splits media-api.rst into org.bluez.Media<interface>.rst and
generate manpages for them.
2023-09-28 17:25:43 -07:00
Luiz Augusto von Dentz
f479c2404e media-api: Convert to ReStructuredText format
This converts media-api.txt to media-api.rst.
2023-09-19 17:09:50 -07:00
Nitin Jadhav
5c788b73b8 src/shared/micp.c: To implement MICP profile MICS service
- Implementation of functions related profile and service for MICS and MICP
- Specifications referred for implementation:
MICS - MICS_v1.0.pdf
MICP - MICP_v1.0.pdf
2023-09-05 11:00:49 -07:00
Marcel Holtmann
176d0154b7 build: Update library version 2023-08-24 15:54:03 +02:00
Luiz Augusto von Dentz
f4aea37ee6 build: Fix make distcheck
This fixes the following errors:

make[2]: *** No rule to make target 'doc/test-runner.txt',
needed by 'distdir-am'.  Stop.
make[1]: *** [Makefile:11708: distdir] Error 2
make: *** [Makefile:11784: dist] Error 2
2023-08-15 17:11:02 -07:00