Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlueZ 5.82 Backport for Debian Bookworm

This repository builds BlueZ 5.82 (from Debian Trixie) as a backport for Debian Bookworm (12), with a small set of local patches on top.

Local patches

Any .patch in patches/ is cherry-picked into the Debian quilt series before build.

  • advertising-fix-ext-adv-data-length.patch — upstream commit 2a6968b40 from BlueZ 5.87. Fixes bluetoothd sending 8 extra bytes with MGMT_OP_ADD_EXT_ADV_DATA, which the Bookworm rpi kernel (6.12.93+) rejects with Invalid Parameters (0x0d). Without this patch, LEAdvertisingManager1.RegisterAdvertisement fails on affected kernels. See raspberrypi/linux#7473.

How it works

The build runs entirely inside a Docker container based on debian:bookworm. The Dockerfile:

  1. Sets up a bookworm build environment with devscripts, dpkg-dev, quilt, and build-essential.
  2. Downloads the official BlueZ 5.82-1.1 source package directly from the Debian Trixie archive (.orig.tar.gz, .debian.tar.xz, and .dsc).
  3. Extracts the source package using dpkg-source, which applies all Trixie patches automatically.
  4. Copies any .patch files from patches/ into debian/patches/, appends them to the quilt series, and applies them with quilt push -a.
  5. Patches debian/control for bookworm compatibility (systemd-dev does not exist in bookworm, so it is replaced with systemd).
  6. Bumps the version to 5.82-1.1+athom1~bpo12+1 via two dch calls (local revision + backport tag).
  7. Installs all build dependencies and builds the binary packages with dpkg-buildpackage.
  8. Collects the resulting .deb files in /output/.

Releases

A GitHub Actions workflow automatically builds arm64 packages on every tag push. The .deb files are published as assets on the corresponding GitHub release.

To create a release:

git tag v5.82-1
git push origin v5.82-1

Pre-built packages can be downloaded from the Releases page.

Local build

To build locally using Docker:

docker build -t bluez-backport .
docker create --name bluez-build bluez-backport
docker cp bluez-build:/output/ ./output
docker rm bluez-build

The .deb files will be in ./output/. The build produces packages for the architecture of the Docker host (e.g., arm64 on Apple Silicon / Raspberry Pi, amd64 on x86_64).

Installing on Bookworm

Copy the .deb files to your bookworm target and install:

sudo dpkg -i bluez_5.82-*.deb libbluetooth3_5.82-*.deb
sudo apt-get install -f

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages