$ git log --pretty=format:'%h %s (%cs)%d'
183c843c0 client: Set the feature when initializing the client (2025-02-12)
(HEAD -> master)
f0e9ecb9f audio: upgrade versions to latest possible to qualify (2025-02-12)
8fa5584e5 bass: Register bap attached/detached callbacks (2025-02-12)
d3e40e82a build: check first before enabling -D_FORTIFY_SOURCE=3 (2025-02-10)
f44d3e08e shared/asha: Add support for other side update (2025-02-10)
dd5316091 gatt: expanded maximum GATT channels to 6 (2025-02-10)
4bc866065 mpris-proxy: Fix infinite list items reception (2025-02-04)
01a5a2681 mpris-proxy: Add mpris:artUrl support (2025-02-04)
9839799b5 mpris-proxy: Fix missing line returns (2025-02-04)
9dbc92a36 tools: print error on mkdir (2025-02-04)
...
$ 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: Set the feature when initializing the client (2025-02-12)
# tags:
$ git for-each-ref --sort=-creatordate refs/tags \
--format='%(refname:short) %(subject) (%(creatordate:short))'
5.79 Release 5.79 (2024-11-01) tar.gz
5.78 Release 5.78 (2024-09-09) tar.gz
5.77 Release 5.77 (2024-07-08) tar.gz
5.76 Release 5.76 (2024-05-17) tar.gz
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
...
# associated public inboxes:
# (number on the left is used for dev purposes)
19437 linux-bluetooth
450 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 dpdk-dev
44 buildroot
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-perf-users
8 linux-sh
8 yocto-meta-arago
8 batman
7 linux-cifs
7 linux-parisc
7 linux-mmc
7 linux-rockchip
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://yhbt.net/lore/pub/scm/bluetooth/bluez.git