From 918e3158e933d013dac5e9188afdbdf158eadcc3 Mon Sep 17 00:00:00 2001 From: Douglas Teles Date: Tue, 23 Jun 2026 16:14:04 -0300 Subject: [PATCH] FHS F4.2: bluez storage to /var/lib/bluetooth bluez configure storagedir flipped to /var/lib/bluetooth (Arch convention for paired-device state). post_makeinstall_target plants the bridge symlink to /storage/.cache/bluetooth so pairings persist on the rw overlay across reboots. archr-config forgetBT helper and backuptool default list also point at the FHS path. tmpfiles z_05_bluez.conf intentionally keeps creating /storage/.cache/bluetooth as the real overlay dir. Co-Authored-By: Claude Opus 4.7 --- .../ArchR/packages/archr/sources/scripts/archr-config | 2 +- projects/ArchR/packages/archr/sources/scripts/backuptool | 2 +- projects/ArchR/packages/network/bluez/package.mk | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/projects/ArchR/packages/archr/sources/scripts/archr-config b/projects/ArchR/packages/archr/sources/scripts/archr-config index 3bb1e58ea6..1926277ad6 100755 --- a/projects/ArchR/packages/archr/sources/scripts/archr-config +++ b/projects/ArchR/packages/archr/sources/scripts/archr-config @@ -274,7 +274,7 @@ fi if [[ "$command" == "forgetBT" ]]; then systemctl stop bluetooth bluetooth-agent - rm -rf /storage/.cache/bluetooth/* /storage/roms/backups/bluetooth.tar + rm -rf /var/lib/bluetooth/* /storage/roms/backups/bluetooth.tar systemctl start bluetooth bluetooth-agent exit 0 fi diff --git a/projects/ArchR/packages/archr/sources/scripts/backuptool b/projects/ArchR/packages/archr/sources/scripts/backuptool index 805c960cf0..d445bed1d9 100755 --- a/projects/ArchR/packages/archr/sources/scripts/backuptool +++ b/projects/ArchR/packages/archr/sources/scripts/backuptool @@ -22,7 +22,7 @@ mkdir -p ${BACKUPFOLDER} DEFAULT=( /storage/.config/fancontrol.conf /storage/.config/backuptool.conf - /storage/.cache/bluetooth/* + /var/lib/bluetooth/* /storage/.cache/connman* /storage/.config/system/configs/system.cfg /storage/.config/ppsspp/* diff --git a/projects/ArchR/packages/network/bluez/package.mk b/projects/ArchR/packages/network/bluez/package.mk index 786baa6c5e..8f297e9b2e 100644 --- a/projects/ArchR/packages/network/bluez/package.mk +++ b/projects/ArchR/packages/network/bluez/package.mk @@ -45,7 +45,7 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-dependency-tracking \ --enable-hid \ --with-gnu-ld \ ${BLUEZ_CONFIG} \ - storagedir=/storage/.cache/bluetooth" + storagedir=/var/lib/bluetooth" pre_configure_target() { # bluez fails to build in subdirs @@ -81,6 +81,13 @@ post_makeinstall_target() { # bluez looks in /etc/firmware/ ln -sf /usr/lib/firmware ${INSTALL}/etc/firmware + # FHS bridge: bluez storagedir is baked at configure to /var/lib/bluetooth + # (Arch convention). tmpfiles z_05_bluez.conf creates the backing dir + # /storage/.cache/bluetooth so the symlink resolves on first boot and + # paired devices persist across reboots. + mkdir -p ${INSTALL}/var/lib + ln -sf /storage/.cache/bluetooth ${INSTALL}/var/lib/bluetooth + # libbluetooth required for bluez-alsa # sed -i 's/-lbluetooth//g' ${PKG_BUILD}/lib/bluez.pc cp -P ${PKG_BUILD}/lib/bluez.pc ${SYSROOT_PREFIX}/usr/lib/pkgconfig