package/bluez5_utils: install datafiles with correct permissions

The datafiles include the dbus policy, without which bluetoothd fails
to start (unless it is provided by other means):

# /usr/libexec/bluetooth/bluetoothd -n
bluetoothd[1011]: Bluetooth daemon 5.78
D-Bus setup failed: Connection ":1.7" is not allowed to own the service "org.bluez" due to security policies in the configuration file
bluetoothd[1011]: src/main.c:main() Unable to get on D-Bus

The installation issue 1a8676aa6e was
meant to fix is the result of upstream incorrectly installing
/etc/bluetooth with 0555 (strictly read-only) permissions.

Fixes: 1a8676aa6e

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fiona Klute (WIWA)
2024-12-10 17:22:41 +01:00
committed by Thomas Petazzoni
parent 99b473c948
commit 421a92a897
2 changed files with 38 additions and 1 deletions

View File

@@ -0,0 +1,35 @@
From b1fd409960001a77cda2a09ecc00147ebd9c3667 Mon Sep 17 00:00:00 2001
From: Fiona Klute <fiona.klute@gmx.de>
Date: Mon, 9 Dec 2024 16:40:43 +0100
Subject: [PATCH BlueZ] build: Leave config files writable for owner
This is needed for builds running as non-root users, so the build
process and any distribution tools can create/move/delete files in the
config directory without adjusting permissions separately. Limiting
writes from the running service needs to be done in the systemd unit
(already the case) or init script.
See also: https://lore.kernel.org/linux-bluetooth/4d1206df-598b-4a68-8655-74981b62ecca@gmx.de/T/
Reviewed-by: Bastien Nocera <hadess@hadess.net>
Upstream: https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=b1fd409960001a77cda2a09ecc00147ebd9c3667
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 297d0774c..29018a91c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -32,7 +32,7 @@ confdir = $(sysconfdir)/bluetooth
statedir = $(localstatedir)/lib/bluetooth
bluetoothd-fix-permissions:
- install -dm555 $(DESTDIR)$(confdir)
+ install -dm755 $(DESTDIR)$(confdir)
install -dm700 $(DESTDIR)$(statedir)
if DATAFILES
--
2.45.2

View File

@@ -13,6 +13,9 @@ BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+
BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB
BLUEZ5_UTILS_CPE_ID_VENDOR = bluez
BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez
# required because 0002-Leave-config-files-writable-for-owner.patch
# modifies Makefile.am
BLUEZ5_UTILS_AUTORECONF = YES
BLUEZ5_UTILS_DEPENDENCIES = \
$(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \
@@ -22,7 +25,6 @@ BLUEZ5_UTILS_DEPENDENCIES = \
BLUEZ5_UTILS_CONF_OPTS = \
--enable-library \
--disable-cups \
--disable-datafiles \
--disable-manpages \
--disable-asan \
--disable-lsan \