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.
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.
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>
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).
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
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
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.
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.
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.
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.
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.
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.
-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.
- 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
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