bluez: update to 5.76.

This commit is contained in:
Đoàn Trần Công Danh 2024-06-15 13:34:09 +07:00
parent 25f2ee0bc7
commit 14b9a4d664
10 changed files with 146 additions and 173 deletions

1
srcpkgs/bluez-mesh Symbolic link
View File

@ -0,0 +1 @@
bluez

1
srcpkgs/bluez-obex Symbolic link
View File

@ -0,0 +1 @@
bluez

View File

@ -1,19 +1,8 @@
From 2625ab38ae27754205d060f09e3a18f7648d5167 Mon Sep 17 00:00:00 2001
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
Date: Thu, 3 Oct 2019 12:57:09 +0700
Subject: [PATCH 1/9] enable dbus without systemd
---
Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 404e6a460..0884156fa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -40,14 +40,14 @@ conf_DATA =
statedir = $(localstatedir)/lib/bluetooth
@@ -43,14 +43,14 @@ conf_DATA = src/main.conf
conf_DATA += profiles/input/input.conf
conf_DATA += profiles/network/network.conf
state_DATA =
+
+dbussystembusdir = $(DBUS_SYSTEMBUSDIR)
@ -28,7 +17,4 @@ index 404e6a460..0884156fa 100644
-dbussystembus_DATA = src/org.bluez.service
endif
EXTRA_DIST += src/bluetooth.service.in src/org.bluez.service
--
2.23.0
EXTRA_DIST += src/org.bluez.service

View File

@ -1,54 +1,22 @@
From 5f27d3887b60c95cbcdefaeae5dea38f020c390e Mon Sep 17 00:00:00 2001
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
Date: Thu, 3 Oct 2019 12:57:55 +0700
Subject: [PATCH 2/8] allow obexd on non-systemd system
---
Makefile.obexd | 6 +++---
.../{org.bluez.obex.service => org.bluez.obex.service.in} | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
rename obexd/src/{org.bluez.obex.service => org.bluez.obex.service.in} (74%)
diff --git a/Makefile.obexd b/Makefile.obexd
index de59d297b..cb04bb1e2 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -1,12 +1,12 @@
if SYSTEMD
@@ -5,9 +5,6 @@ if SYSTEMD
systemduserunitdir = $(SYSTEMD_USERUNITDIR)
systemduserunit_DATA = obexd/src/obex.service
+endif
dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
-endif
-dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
-dbussessionbus_DATA = obexd/src/org.bluez.obex.service
-
obexd-add-service-symlink:
$(LN_S) -f obex.service $(DESTDIR)$(SYSTEMD_USERUNITDIR)/dbus-org.bluez.obex.service
-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
@@ -18,6 +15,9 @@ obexd-add-service-symlink:
obexd-remove-service-symlink:
endif
if OBEX
+dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
+dbussessionbus_DATA = obexd/src/org.bluez.obex.service
+
obex_plugindir = $(libdir)/obex/plugins
@@ -107,6 +107,6 @@ obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@
-CLEANFILES += obexd/src/builtin.h $(builtin_files) obexd/src/obex.service
+CLEANFILES += obexd/src/builtin.h $(builtin_files) obexd/src/obex.service obexd/src/org.bluez.obex.service
EXTRA_DIST += obexd/src/genbuiltin
diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service.in
similarity index 74%
rename from obexd/src/org.bluez.obex.service
rename to obexd/src/org.bluez.obex.service.in
index a53808884..543d7bc07 100644
--- a/obexd/src/org.bluez.obex.service
+++ b/obexd/src/org.bluez.obex.service.in
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.bluez.obex
-Exec=/bin/false
+Exec=@pkglibexecdir@/obexd
SystemdService=dbus-org.bluez.obex.service
--
2.23.0
obexd_builtin_modules =

View File

@ -1,20 +1,9 @@
From 32a425c3f9b42a55824c044a6b486c9c12e65a65 Mon Sep 17 00:00:00 2001
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
Date: Thu, 3 Oct 2019 12:58:18 +0700
Subject: [PATCH 3/9] allow mesh on non-systemd system
---
Makefile.mesh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.mesh b/Makefile.mesh
index 90979cbc0..9e6e2c2ca 100644
--- a/Makefile.mesh
+++ b/Makefile.mesh
@@ -2,11 +2,11 @@ if MESH
@@ -4,11 +4,11 @@ if MESH
if DATAFILES
dbus_DATA += mesh/bluetooth-mesh.conf
conf_DATA += mesh/mesh-main.conf
+dbussystembus_DATA += mesh/org.bluez.mesh.service
endif
@ -24,6 +13,3 @@ index 90979cbc0..9e6e2c2ca 100644
endif
mesh_sources = mesh/mesh.h mesh/mesh.c \
--
2.23.0

View File

@ -0,0 +1,35 @@
--- a/src/bluetooth.conf
+++ b/src/bluetooth.conf
@@ -23,6 +23,10 @@
<allow send_interface="org.mpris.MediaPlayer2.Player"/>
</policy>
+ <policy group="bluetooth">
+ <allow send_destination="org.bluez"/>
+ </policy>
+
<policy context="default">
<allow send_destination="org.bluez"/>
</policy>
--- 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
--- a/Makefile.in
+++ b/Makefile.in
@@ -13737,7 +13737,7 @@ uninstall-man: uninstall-man1 uninstall-
bluetoothd-fix-permissions:
- install -dm555 $(DESTDIR)$(confdir)
+ install -dm755 $(DESTDIR)$(confdir)
install -dm700 $(DESTDIR)$(statedir)
@BTPCLIENT_TRUE@tools/btpclient.$(OBJEXT): src/libshared-ell.la ell/internal

View File

@ -1,27 +0,0 @@
From 05853e46e66868228468fc73d86f221b12edaef1 Mon Sep 17 00:00:00 2001
From: Doan Tran Cong Danh <congdanhqx@gmail.com>
Date: Fri, 4 Oct 2019 11:36:47 +0700
Subject: [PATCH 8/9] grant permission to bluetooth group
---
src/bluetooth.conf | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/bluetooth.conf b/src/bluetooth.conf
index 8a1e25801..75dd7d670 100644
--- a/src/bluetooth.conf
+++ b/src/bluetooth.conf
@@ -22,6 +22,10 @@
<allow send_interface="org.mpris.MediaPlayer2.Player"/>
</policy>
+ <policy group="bluetooth">
+ <allow send_destination="org.bluez"/>
+ </policy>
+
<policy context="default">
<allow send_destination="org.bluez"/>
</policy>
--
2.23.0

View File

@ -1,52 +0,0 @@
From 25a471a83e02e1effb15d5a488b3f0085eaeb675 Mon Sep 17 00:00:00 2001
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Date: Tue, 10 Oct 2023 13:03:12 -0700
Subject: input.conf: Change default of ClassicBondedOnly
This changes the default of ClassicBondedOnly since defaulting to false
is not inline with HID specification which mandates the of Security Mode
4:
BLUETOOTH SPECIFICATION Page 84 of 123
Human Interface Device (HID) Profile:
5.4.3.4.2 Security Modes
Bluetooth HID Hosts shall use Security Mode 4 when interoperating with
Bluetooth HID devices that are compliant to the Bluetooth Core
Specification v2.1+EDR[6].
---
profiles/input/device.c | 2 +-
profiles/input/input.conf | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'profiles/input')
diff --git a/profiles/input/device.c b/profiles/input/device.c
index 4a50ea9921..4310dd192e 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -81,7 +81,7 @@ struct input_device {
static int idle_timeout = 0;
static bool uhid_enabled = false;
-static bool classic_bonded_only = false;
+static bool classic_bonded_only = true;
void input_set_idle_timeout(int timeout)
{
diff --git a/profiles/input/input.conf b/profiles/input/input.conf
index 4c70bc561f..d8645f3dd6 100644
--- a/profiles/input/input.conf
+++ b/profiles/input/input.conf
@@ -17,7 +17,7 @@
# platforms may want to make sure that input connections only come from bonded
# device connections. Several older mice have been known for not supporting
# pairing/encryption.
-# Defaults to false to maximize device compatibility.
+# Defaults to true for security.
#ClassicBondedOnly=true
# LE upgrade security
--
cgit 1.2.3-korg

View File

@ -0,0 +1,58 @@
--- a/mesh/rpl.c
+++ b/mesh/rpl.c
@@ -33,6 +33,17 @@
static const char *rpl_dir = "/rpl";
+char *
+xbasename(const char *filename)
+{
+#ifdef __GLIBC__
+ return basename(filename);
+#else
+ char *p = strrchr (filename, '/');
+ return p ? p + 1 : (char *) filename;
+#endif
+}
+
bool rpl_put_entry(struct mesh_node *node, uint16_t src, uint32_t iv_index,
uint32_t seq)
{
@@ -146,7 +157,7 @@ static void get_entries(const char *iv_p
if (!dir)
return;
- iv_txt = basename(iv_path);
+ iv_txt = xbasename(iv_path);
if (sscanf(iv_txt, "%08x", &iv_index) != 1) {
closedir(dir);
return;
--- a/tools/hex2hcd.c
+++ b/tools/hex2hcd.c
@@ -25,6 +25,17 @@
#include <stdbool.h>
#include <sys/stat.h>
+char *
+xbasename(const char *filename)
+{
+#ifdef __GLIBC__
+ return basename(filename);
+#else
+ char *p = strrchr (filename, '/');
+ return p ? p + 1 : (char *) filename;
+#endif
+}
+
static ssize_t process_record(int fd, const char *line, uint16_t *upper_addr)
{
const char *ptr = line + 1;
@@ -302,7 +313,7 @@ static void ver_parse_entry(const char *
}
if (S_ISREG(st.st_mode)) {
- ver_parse_file(basename(pathname));
+ ver_parse_file(xbasename(pathname));
goto done;
}

View File

@ -1,28 +1,25 @@
# Template file for 'bluez'
pkgname=bluez
version=5.70
revision=4
version=5.76
revision=1
build_style=gnu-configure
configure_args="--with-udevdir=/usr/lib/udev --disable-systemd
--enable-sixaxis --enable-threads --enable-library --enable-deprecated
--enable-external-ell $(vopt_enable mesh) $(vopt_enable nfc)
$(vopt_enable experimental) --enable-hid2hci"
--enable-external-ell --enable-mesh --enable-nfc --enable-experimental
--enable-hid2hci"
hostmakedepends="automake flex libtool pkg-config python3-docutils"
makedepends="cups-devel eudev-libudev-devel libglib-devel libical-devel
readline-devel ell-devel $(vopt_if mesh json-c-devel)"
readline-devel ell-devel json-c-devel"
short_desc="Bluetooth tools and daemons"
maintainer="Érico Nogueira <ericonr@disroot.org>"
license="GPL-2.0-or-later, LGPL-2.1-or-later"
homepage="http://www.bluez.org/"
changelog="https://git.kernel.org/pub/scm/bluetooth/bluez.git/plain/ChangeLog"
distfiles="${KERNEL_SITE}/bluetooth/bluez-${version}.tar.xz"
checksum=37e372e916955e144cb882f888e4be40898f10ae3b7c213ddcdd55ee9c009278
checksum=55e2c645909ad82d833c42ce85ec20434e0ef0070941b1eab73facdd240bbd63
conf_files="/etc/bluetooth/main.conf"
system_groups="bluetooth"
build_options="mesh nfc experimental"
build_options_default="mesh nfc"
if [ "$XBPS_TARGET_LIBC" = musl ]; then
makedepends+=" musl-legacy-compat"
fi
@ -45,11 +42,6 @@ post_install() {
vbin tools/btgatt-server
vbin tools/btmgmt
vsv bluetoothd
if [ "$build_option_mesh" ]; then
vsv bluetooth-meshd
vinstall mesh/bluetooth-mesh.conf 644 etc/bluetooth
vinstall mesh/mesh-main.conf 644 etc/bluetooth
fi
vdoc ${FILESDIR}/README.voidlinux
}
@ -77,6 +69,7 @@ bluez-cups_package() {
vmove usr/lib/cups/backend/bluetooth
}
}
bluez-deprecated_package() {
short_desc+=" - deprecated tools"
pkg_install() {
@ -99,8 +92,32 @@ bluez-deprecated_package() {
}
bluez-hid2hci_package() {
short_desc+=" - hid2hci"
pkg_install() {
vmove usr/lib/udev
vmove usr/share/man/man1/hid2hci.1
}
}
bluez-obex_package() {
short_desc+=" - obex OBject EXchange"
pkg_install() {
vmove usr/libexec/bluetooth/obexd
vmove usr/share/dbus-1/services/org.bluez.obex.service
vmove "usr/share/man/man5/org.bluez.obex.*"
}
}
bluez-mesh_package() {
short_desc+=" - mesh"
pkg_install() {
vmove "usr/bin/mesh*"
vmove usr/libexec/bluetooth/bluetooth-meshd
vmove usr/share/man/man8/bluetooth-meshd.8
vmove usr/share/dbus-1/system-services/org.bluez.mesh.service
vmove usr/share/dbus-1/system.d/bluetooth-mesh.conf
vsv bluetooth-meshd
vinstall mesh/bluetooth-mesh.conf 644 etc/bluetooth
vinstall mesh/mesh-main.conf 644 etc/bluetooth
}
}