pub/scm/bluetooth/bluez.git  about / heads / tags
Bluetooth protocol stack for Linux
$ git log --pretty=format:'%h %s (%cs)%d'
14057f2cc client/gatt: gatt_register_app: fix parsing of UUIDs (2024-05-02)
	(HEAD -> master)
f40c5857d src/shared: Make default length handle EA (2024-05-02)
6fc599e33 gatt-database: Fix not calling pending_op_free (2024-04-30)
7e6079219 gatt-database: Fix matching ImproperlyConfigured error (2024-04-30)
d2a2aabee Fix null pointer deference in bap_get_ascs() (2024-04-29)
9b2978471 gatt-database: Implement support to org.bluez.Error.ImproperlyConfigured (2024-04-26)
129b19166 org.bluez.Gatt: Add org.bluez.Error.ImproperlyConfigured error to WriteValue (2024-04-26)
c42702cfc bap: Fix use of unintialized variable (2024-04-24)
f141b27bc bap: Reword bap_adapter/adapter and pa_req/req (2024-04-24)
c7071911d bap: Remove deleted devices from pa_req queue (2024-04-24)
...

$ git cat-file blob HEAD:README
BlueZ - Bluetooth protocol stack for Linux
******************************************

Copyright (C) 2000-2001  Qualcomm Incorporated
Copyright (C) 2002-2003  Maxim Krasnyansky <maxk@qualcomm.com>
Copyright (C) 2002-2010  Marcel Holtmann <marcel@holtmann.org>


Compilation and installation
============================

In order to compile Bluetooth utilities you need following software packages:
	- GCC compiler
	- GLib library
	- D-Bus library
	- udev library (optional)
	- readline (command line clients)

	On a debian based system, this can be done by running the following command:
		sudo apt-get build-dep bluez
		./bootstrap

To configure run:
	./configure --prefix=/usr --mandir=/usr/share/man \
				--sysconfdir=/etc --localstatedir=/var

Configure automatically searches for all required components and packages.

To compile and install run:
	make && make install


Embedded Linux library
======================

In order to compile mesh support and test client utility the development
version of Embedded Linux library is required to be present. The development
repositories can be found here:

	git://git.kernel.org/pub/scm/libs/ell/ell.git
	https://kernel.googlesource.com/pub/scm/libs/ell/ell.git

The build systems requires that the Embedded Linux library source code
is available on the same top level directory as the source code:

	.
	|--- ell
	|    |--- ell
	|    `--- unit
	`--- bluez
	     |--- src
	     `--- tools

It is not required to build or install Embedded Linux library. The build
will happen when building the binaries and it will then be linked internally.

When using --enable-external-ell build option, it is not required that the
Embedded Linux library source code is available in the top level directory.

When neither --enable-mesh nor --enable-btpclient is specified, then this
part is irrelevant and Embedded Linux library is not required.


Kernel Build Options (for Mesh)
===============================

The Mesh daemon uses kernel provided crypto utilities to perform security
functions required of Bluetooth Mesh. Many standard distributions currently
enable all required crypto features, but a few notable distributions do
not.

If Mesh Cryptography is not working, the following configuration options
may need to be enabled, and the kernel rebuilt.

1. A minimum of kernel version 4.9 or later is required

2. The kernel must at a minimum have the following .config options turned on:
	CONFIG_CRYPTO_USER
	CONFIG_CRYPTO_USER_API
	CONFIG_CRYPTO_USER_API_AEAD
	CONFIG_CRYPTO_USER_API_HASH
	CONFIG_CRYPTO_USER_API_SKCIPHER

	CONFIG_CRYPTO_AES
	CONFIG_CRYPTO_CCM
	CONFIG_CRYPTO_AEAD
	CONFIG_CRYPTO_CMAC


Configuration and options
=========================

For a working system, certain configuration options need to be enabled:

	--enable-library

		Enable installation of Bluetooth library

		By default the Bluetooth library is no longer installed.

		The user interfaces or command line utilities do not
		require an installed Bluetooth library anymore. This
		option is provided for legacy third party applications
		that still depend on the library.

		When the library installation is enabled, it is a good
		idea to use a separate bluez-library or libbluetooth
		package for it.

	--disable-tools

		Disable support for Bluetooth utilities

		By default the Bluetooth utilities are built and also
		installed. For production systems the tools are not
		needed and this option allows to disable them to save
		build time and disk space.

		When the tools are selected, it is a good idea to
		use a separate bluez-tools package for them.

	--disable-cups

		Disable support for CUPS printer backend

		By default the printer backend for CUPS is build and
		also installed. For systems that do not require printing
		over Bluetooth, this options allows to disable it.

		When the CUPS backend is selected, it is a good idea to
		use a separate bluez-cups package for it.

	--disable-monitor

		Disable support for the Bluetooth monitor utility

		By default the monitor utility is enabled. It provides
		support for HCI level tracing and debugging. For systems
		that don't require any kind of tracing or debugging
		capabilities, this options allows to disable it.

		The monitor utility should be placed in the main package
		along with the daemons. It is universally useful.

	--disable-client

		Disable support for the command line client

		By default the command line client is enabled and uses the
		readline library. For specific systems where BlueZ is
		configured by other means, the command line client can be
		disabled and the dependency on readline is removed.

		The client should be placed in the main package along
		with the daemons. It is universally useful.

	--disable-systemd

		Disable integration with systemd

		By default the integration with systemd is enabled and
		installed. This gives the best integration into all
		distributions based on systemd.

		This option is provided for distributions that do not
		support systemd. In that case all integration with the
		init system is up to the package.

	--disable-a2dp

		Disable A2DP profile

		By default bluetoothd supports A2DP profile using a built-in
		plugin, this option disables it.

		This option is provided for distributions that do not have any
		audio capabilities.

	--disable-avrcp

		Disable AVRCP profile

		By default bluetoothd supports AVRCP profile using a built-in
		plugin, this option disables it.

		This option is provided for distributions that do not have any
		audio capabilities.

	--disable-network

		Disable PANU, NAP, GN profiles

		By default bluetoothd supports PANU, NAP and GN profile using a
		built-in plugin, this option disables it.

		This option is provided for distributions that do not have any
		network capabilities.

	--disable-hid

		Disable HID profile

		By default bluetoothd supports HID profile using a built-in
		plugin, this option disables it.

		This option is provided for distributions that do not have any
		input capabilities.

	--disable-hog

		Disable HoG profile

		By default bluetoothd supports HoG profile using a built-in
		plugin, this option disables it.

		This option is provided for distributions that do not have any
		input capabilities.

	--enable-testing

		Enable testing tools

		By default tools used only for testing emulation are disabled.
		This option can be used to enable them.

		It is not recommended to enable this option for production
		systems. These tools may contain tests that depend on specific
		environment or kernel features in development.

	--enable-experimental

		Enable experimental tools

		By default all tools that are still in development
		are disabled. This option can be used to enable them.

		It is not recommended to enable this option for production
		systems. The behavior of the experimental tools is unstable
		and might still change.

	--enable-deprecated

		Enable deprecated tools

		By defauld all tools that are no longer maintained are
		disabled. This option can be used to enable them.

		It is not recommended to enable this option for production
		systems. The behavior of the deprecated tools may be unstable
		or simply don't work anymore.

	--enable-external-plugins

		Enable support for external plugins

		By default external plugins for bluetoothd and obexd are not
		supported and thus disabled.

		External plugins require access to internal, undocumented and
		unversioned API in said daemons. As such they can break at any
		time. If you have such plugins, enable this option and work
		actively with the community to make said plugin part of the
		upstream bluez project.

	--enable-nfc

		This option enable NFC pairing support.

		By default the integration with neard is disabled, this gives
		the option to enable it in system where neard is supported.

		The plugin is built into bluetoothd therefore it does not need
		to be package separately.

	--enable-sap

		This option enable SAP profile using sap plugin.

		By default sap plugin is disabled since it requires tight
		integration with systems and is very rarely required.

		The plugin is built into bluetoothd therefore it does not need
		to be package separately.

	--enable-health

		This option enable health profiles.

		By default health plugin is disabled since its profiles are
		target for the health industry.

		The plugin is built into bluetoothd therefore it does not need
		to be package separately.

	--enable-midi

		This option enable MIDI support via ALSA Sequencer.

		By default midi plugin is disabled since it still considered
		experimental. When bluetoothd will create a new ALSA Sequencer
		client and port for each device connected that supports the
		MIDI GATT primary service.

		The plugin is built into bluetoothd therefore it does not need
		to be package separately.

Information
===========

Mailing lists:
	linux-bluetooth@vger.kernel.org

For additional information about the project visit BlueZ web site:
	http://www.bluez.org

# heads (aka `branches'):
$ git for-each-ref --sort=-creatordate refs/heads \
	--format='%(HEAD) %(refname:short) %(subject) (%(creatordate:short))'
* master       client/gatt: gatt_register_app: fix parsing of UUIDs (2024-05-02)

# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
	--format='%(refname:short) %(subject) (%(creatordate:short))'
5.75         Release 5.75 (2024-04-15) tar.gz
5.74         Release 5.74 (2024-04-14) tar.gz
5.73         Release 5.73 (2024-03-07) tar.gz
5.72         Release 5.72 (2024-01-12) tar.gz
5.71         Release 5.71 (2023-12-13) tar.gz
5.70         Release 5.70 (2023-09-28) tar.gz
5.69         Release 5.69 (2023-08-24) tar.gz
5.68         Release 5.68 (2023-06-30) tar.gz
5.67         Release 5.67 (2023-06-30) tar.gz
5.66         Release 5.66 (2022-11-10) tar.gz
...

# associated public inboxes:
# (number on the left is used for dev purposes)
      19069 linux-bluetooth
        449 lkml
        152 b4-sent
        140 qemu-devel
        127 netdev
        104 u-boot
        103 linux-arm-kernel
         76 stable
         56 linux-devicetree
         55 intel-gfx
         48 dri-devel
         45 git
         44 buildroot
         43 dpdk-dev
         41 linux-fsdevel
         37 linux-mm
         37 kvm
         33 linux-wireless
         31 ofono
         28 alsa-devel
         24 xen-devel
         24 openembedded-core
         22 linux-rdma
         21 linux-xfs
         21 linux-arm-msm
         21 linux-scsi
         21 linux-ext4
         21 linuxppc-dev
         21 linux-omap
         20 linux-samsung-soc
         20 openembedded-devel
         19 linux-mtd
         19 linux-nfs
         19 linux-media
         19 linux-doc
         17 linux-pm
         16 amd-gfx
         15 linux-mediatek
         15 linux-btrfs
         15 linux-clk
         14 netfilter-devel
         14 linux-iio
         13 linux-crypto
         13 linux-acpi
         13 linux-s390
         13 ltp
         13 lvm-devel
         12 linux-mips
         12 linux-usb
         12 linux-arch
         12 qemu-riscv
         11 linux-block
         11 bpf
         11 linux-iommu
         11 linux-input
         11 driverdev-devel
         10 linux-pci
         10 linux-f2fs-devel
         10 linux-tegra
          9 linux-riscv
          9 kvmarm
          9 linux-kselftest
          9 linux-gpio
          9 linux-ide
          9 linux-api
          9 yocto-meta-ti
          8 fstests
          8 linux-renesas-soc
          8 virtualization
          8 linux-raid
          8 openbmc
          8 linux-sh
          8 yocto-meta-arago
          8 batman
          7 linux-cifs
          7 linux-parisc
          7 linux-mmc
          7 linux-rockchip
          7 linux-perf-users
          7 linux-patches
          6 linux-nvme
          6 linux-efi
          6 linux-spi
          6 linux-i2c
          6 ceph-devel
          6 containers
          6 dm-devel
          6 kernel-janitors
          6 sparclinux
          6 linux-staging
          6 nvdimm
          6 intel-wired-lan
          6 intel-xe
          6 cgroups
          5 linux-nvdimm
          5 kernel-hardening
          5 linux-serial
          5 linux-remoteproc
          5 lttng-dev
          5 linux-can
          5 linux-fbdev
          5 ath10k
          5 nouveau
          5 mptcp
          5 poky
          5 kvm-ppc
          5 ../../../../igt-dev
          4 linux-fscrypt
          4 linux-amlogic
          4 linux-snps-arc
          4 linux-rtc
          4 selinux
          4 linux-modules
          4 linux-rt-users
          4 linux-watchdog
          4 backports
          4 platform-driver-x86
          4 target-devel
          4 yocto
          4 yocto-meta-freescale
          4 kexec
          4 cluster-devel
          4 grub-devel
          4 linux-alpha
          4 linux-hexagon
          4 lm-sensors
          3 linux-integrity
          3 linux-erofs
          3 linux-security-module
          3 linux-trace-devel
          3 linux-wpan
          3 linux-kernel-mentees
          3 linux-man
          3 linux-sparse
          3 linux-kbuild
          3 linux-sctp
          3 linux-cxl
          3 lustre-devel
          3 linux-coco
          3 fio
          3 yocto-meta-arm
          3 outreachy
          3 openrisc
          3 linux-trace-kernel
          3 linux-um
          3 linux-ia64
          3 autofs
          3 reiserfs-devel
          3 virtio-fs
          3 ../../../../fuego
          2 live-patching
          2 dmaengine
          2 linux-next
          2 linux-leds
          2 linux-hyperv
          2 linux-m68k
          2 util-linux
          2 linux-unionfs
          2 cip-dev
          2 linux-bcache
          2 linux-pwm
          2 phone-devel
          2 keyrings
          2 rust-for-linux
          2 linux-phy
          2 linux-sunxi
          2 regressions
          2 ath9k-devel
          2 llvm
          2 iwd
          2 yocto-toaster
          2 bitbake-devel
          2 yocto-meta-virtualization
          2 chrome-platform
          2 damon
          2 oe-lkp
          2 virtio-comment
          2 v9fs
          2 ecryptfs
          2 cpufreq
          2 dccp
          2 initramfs
          2 hail-devel
          2 linux-sound
          2 linux-metag
          2 linux-oxnas
          1 cocci
          1 linux-edac
          1 linux-hwmon
          1 kernelnewbies
          1 linux-sgx
          1 workflows
          1 rcu
          1 selinux-refpolicy
          1 linux-i3c
          1 linux-spdx
          1 ksummit-discuss
          1 wireguard
          1 io-uring
          1 linux-csky
          1 tpmdd-devel
          1 linux-firmware
          1 linux-audit
          1 linux-dash
          1 mm-commits
          1 linux-fpga
          1 xdp-newbies
          1 linux-hardening
          1 dash
          1 soc
          1 ocfs2-devel
          1 ath11k
          1 ksummit
          1 b43-dev
          1 linux-nfc
          1 connman
          1 linux-bcachefs
          1 ntfs3
          1 ell
          1 yocto-docs
          1 mhi
          1 ntb
          1 xenomai
          1 asahi
          1 loongarch
          1 imx
          1 ath12k
          1 oe-linux-nfc
          1 oe-kbuild-all
          1 oe-chipsec
          1 virtio-dev
          1 audit
          1 kbd
          1 devicetree-spec
          1 devicetree-compiler
          1 kvm-ia64
          1 linux-8086
          1 kernel-testers
          1 linux-btrace
          1 linux-embedded
          1 linux-hams
          1 linux-hotplug
          1 linux-laptop
          1 trinity
          1 linux-x25
          1 linux-nilfs
          1 lvs-devel
          1 netfilter
          1 u-boot-amlogic
          1 acpica-devel
          1 bridge
          1 perfbook
          1 smatch
          1 ../../../../wireless-regdb
          1 ../../../../powertop

git clone https://80x24.org/lore/pub/scm/bluetooth/bluez.git