Compare commits
No commits in common. "c9s" and "c8" have entirely different histories.
1
.bluez.metadata
Normal file
1
.bluez.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
c5137186e7cc60652eed44cff0067ef749e49eff SOURCES/bluez-5.63.tar.xz
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1 @@
|
|||||||
/bluez-4.*.tar.gz
|
SOURCES/bluez-5.63.tar.xz
|
||||||
/bluez-5.*.tar.xz
|
|
||||||
/sources
|
|
||||||
|
@ -1,125 +0,0 @@
|
|||||||
From 669de134aa19fbd6b7ac59575446a064bbf27565 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bastien Nocera <hadess@hadess.net>
|
|
||||||
Date: Wed, 14 Feb 2024 16:51:14 +0100
|
|
||||||
Subject: [PATCH] Add missing mesh-gatt JSON files
|
|
||||||
|
|
||||||
---
|
|
||||||
tools/mesh-gatt/local_node.json | 61 +++++++++++++++++++++++++++++++++
|
|
||||||
tools/mesh-gatt/prov_db.json | 37 ++++++++++++++++++++
|
|
||||||
2 files changed, 98 insertions(+)
|
|
||||||
create mode 100644 tools/mesh-gatt/local_node.json
|
|
||||||
create mode 100644 tools/mesh-gatt/prov_db.json
|
|
||||||
|
|
||||||
diff --git a/tools/mesh-gatt/local_node.json b/tools/mesh-gatt/local_node.json
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..5ffa7ada1f65
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tools/mesh-gatt/local_node.json
|
|
||||||
@@ -0,0 +1,61 @@
|
|
||||||
+{
|
|
||||||
+ "$schema":"file:\/\/\/BlueZ\/Mesh\/local_schema\/mesh.jsonschema",
|
|
||||||
+ "meshName":"BT Mesh",
|
|
||||||
+ "netKeys":[
|
|
||||||
+ {
|
|
||||||
+ "index": 0,
|
|
||||||
+ "keyRefresh": 0
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+ "appKeys":[
|
|
||||||
+ {
|
|
||||||
+ "index": 0,
|
|
||||||
+ "boundNetKey": 0
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
+ "index": 1,
|
|
||||||
+ "boundNetKey": 0
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+"node": {
|
|
||||||
+ "IVindex":"00000005",
|
|
||||||
+ "IVupdate":"0",
|
|
||||||
+ "sequenceNumber": 0,
|
|
||||||
+ "composition": {
|
|
||||||
+ "cid": "0002",
|
|
||||||
+ "pid": "0010",
|
|
||||||
+ "vid": "0001",
|
|
||||||
+ "crpl": "000a",
|
|
||||||
+ "features": {
|
|
||||||
+ "relay": false,
|
|
||||||
+ "proxy": true,
|
|
||||||
+ "friend": false,
|
|
||||||
+ "lowPower": false
|
|
||||||
+ },
|
|
||||||
+ "elements": [
|
|
||||||
+ {
|
|
||||||
+ "elementIndex": 0,
|
|
||||||
+ "location": "0001",
|
|
||||||
+ "models": ["0000", "0001", "1001"]
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+ },
|
|
||||||
+ "configuration":{
|
|
||||||
+ "netKeys": [0],
|
|
||||||
+ "appKeys": [ 0, 1],
|
|
||||||
+ "defaultTTL": 10,
|
|
||||||
+ "elements": [
|
|
||||||
+ {
|
|
||||||
+ "elementIndex": 0,
|
|
||||||
+ "unicastAddress":"0077",
|
|
||||||
+ "models": [
|
|
||||||
+ {
|
|
||||||
+ "modelId": "1001",
|
|
||||||
+ "bind": [1]
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/tools/mesh-gatt/prov_db.json b/tools/mesh-gatt/prov_db.json
|
|
||||||
new file mode 100644
|
|
||||||
index 000000000000..74a03128d4d5
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tools/mesh-gatt/prov_db.json
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+{
|
|
||||||
+ "$schema":"file:\/\/\/BlueZ\/Mesh\/schema\/mesh.jsonschema",
|
|
||||||
+ "meshName":"BT Mesh",
|
|
||||||
+ "IVindex":5,
|
|
||||||
+ "IVupdate":0,
|
|
||||||
+ "netKeys":[
|
|
||||||
+ {
|
|
||||||
+ "index":0,
|
|
||||||
+ "keyRefresh":0,
|
|
||||||
+ "key":"18eed9c2a56add85049ffc3c59ad0e12"
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+ "appKeys":[
|
|
||||||
+ {
|
|
||||||
+ "index":0,
|
|
||||||
+ "boundNetKey":0,
|
|
||||||
+ "key":"4f68ad85d9f48ac8589df665b6b49b8a"
|
|
||||||
+ },
|
|
||||||
+ {
|
|
||||||
+ "index":1,
|
|
||||||
+ "boundNetKey":0,
|
|
||||||
+ "key":"2aa2a6ded5a0798ceab5787ca3ae39fc"
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+ "provisioners":[
|
|
||||||
+ {
|
|
||||||
+ "provisionerName":"BT Mesh Provisioner",
|
|
||||||
+ "unicastAddress":"0077",
|
|
||||||
+ "allocatedUnicastRange":[
|
|
||||||
+ {
|
|
||||||
+ "lowAddress":"0100",
|
|
||||||
+ "highAddress":"7fff"
|
|
||||||
+ }
|
|
||||||
+ ]
|
|
||||||
+ }
|
|
||||||
+ ],
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
|||||||
From 873e49357081e5c5d8d3d23759f1723db7292bf6 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Bastien Nocera <hadess@hadess.net>
|
|
||||||
Date: Mon, 12 Feb 2024 20:02:45 +0000
|
|
||||||
Subject: [PATCH] obex: Use GLib helper function to manipulate paths
|
|
||||||
|
|
||||||
Instead of trying to do it by hand. This also makes sure that
|
|
||||||
relative paths aren't used by the agent.
|
|
||||||
|
|
||||||
[Emil Velikov]
|
|
||||||
Originally this patch was posted in 2013, but deferred since bluez was
|
|
||||||
planning to move away from glib. Presently there's no obvious action
|
|
||||||
towards that goal, so I think we can safely land this.
|
|
||||||
|
|
||||||
As mentioned by the author, current code allows for relative paths and
|
|
||||||
considering that obexd service runs without meaningful sandboxing and on
|
|
||||||
some distributions it is ran as root, we should plug the whole before
|
|
||||||
anyone (ab)uses it.
|
|
||||||
---
|
|
||||||
obexd/src/manager.c | 15 +++++----------
|
|
||||||
1 file changed, 5 insertions(+), 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/obexd/src/manager.c b/obexd/src/manager.c
|
|
||||||
index 73fd6b9aff15..cc1de7ae2ed3 100644
|
|
||||||
--- a/obexd/src/manager.c
|
|
||||||
+++ b/obexd/src/manager.c
|
|
||||||
@@ -644,18 +644,13 @@ static void agent_reply(DBusPendingCall *call, void *user_data)
|
|
||||||
DBUS_TYPE_STRING, &name,
|
|
||||||
DBUS_TYPE_INVALID)) {
|
|
||||||
/* Splits folder and name */
|
|
||||||
- const char *slash = strrchr(name, '/');
|
|
||||||
+ gboolean is_relative = !g_path_is_absolute(name);
|
|
||||||
DBG("Agent replied with %s", name);
|
|
||||||
- if (!slash) {
|
|
||||||
- agent->new_name = g_strdup(name);
|
|
||||||
+ agent->new_name = g_path_get_basename(name);
|
|
||||||
+ if (is_relative)
|
|
||||||
agent->new_folder = NULL;
|
|
||||||
- } else {
|
|
||||||
- if (strlen(slash) == 1)
|
|
||||||
- agent->new_name = NULL;
|
|
||||||
- else
|
|
||||||
- agent->new_name = g_strdup(slash + 1);
|
|
||||||
- agent->new_folder = g_strndup(name, slash - name);
|
|
||||||
- }
|
|
||||||
+ else
|
|
||||||
+ agent->new_folder = g_path_get_dirname(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
dbus_message_unref(reply);
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
35
SOURCES/0001-build-Always-define-confdir-and-statedir.patch
Normal file
35
SOURCES/0001-build-Always-define-confdir-and-statedir.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
From 5744f79d84ecee3929a682166034c5bbc36c0ef5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Wed, 20 Sep 2017 12:49:10 +0200
|
||||||
|
Subject: [PATCH 1/4] build: Always define confdir and statedir
|
||||||
|
|
||||||
|
As we will need those paths to lock down on them.
|
||||||
|
---
|
||||||
|
Makefile.am | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 9d25a815b..ac88c12e0 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -28,14 +28,14 @@
|
||||||
|
$(LIBEDATASERVER_CFLAGS) $(ell_cflags)
|
||||||
|
AM_LDFLAGS = $(MISC_LDFLAGS)
|
||||||
|
|
||||||
|
+confdir = $(sysconfdir)/bluetooth
|
||||||
|
+statedir = $(localstatedir)/lib/bluetooth
|
||||||
|
+
|
||||||
|
if DATAFILES
|
||||||
|
dbusdir = $(DBUS_CONFDIR)/dbus-1/system.d
|
||||||
|
dbus_DATA = src/bluetooth.conf
|
||||||
|
|
||||||
|
-confdir = $(sysconfdir)/bluetooth
|
||||||
|
conf_DATA =
|
||||||
|
-
|
||||||
|
-statedir = $(localstatedir)/lib/bluetooth
|
||||||
|
state_DATA =
|
||||||
|
endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -0,0 +1,36 @@
|
|||||||
|
From 4c3eedcb96bd4795dd5c25c688005fc12f364aeb Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gopal Tiwari <gtiwari@redhat.com>
|
||||||
|
Date: Wed, 20 Apr 2022 12:19:05 +0530
|
||||||
|
Subject: [PATCH BlueZ] gdbus: Emit InterfacesAdded of parents objects first
|
||||||
|
|
||||||
|
This makes InterfacesAdded respect the object hierarchy in case its
|
||||||
|
parent has pending interfaces to be added.
|
||||||
|
|
||||||
|
Fixes: #272
|
||||||
|
Fixes: #284
|
||||||
|
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1534857
|
||||||
|
Fixes: https://bugs.archlinux.org/task/57464
|
||||||
|
---
|
||||||
|
gdbus/object.c | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/gdbus/object.c b/gdbus/object.c
|
||||||
|
index 50a8b4ff1..f7c8c2be5 100644
|
||||||
|
--- a/gdbus/object.c
|
||||||
|
+++ b/gdbus/object.c
|
||||||
|
@@ -551,6 +551,12 @@ static void emit_interfaces_added(struct generic_data *data)
|
||||||
|
if (root == NULL || data == root)
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ /* Emit InterfacesAdded on the parent first so it appears first on the
|
||||||
|
+ * bus as child objects may point to it.
|
||||||
|
+ */
|
||||||
|
+ if (data->parent && data->parent->added)
|
||||||
|
+ emit_interfaces_added(data->parent);
|
||||||
|
+
|
||||||
|
signal = dbus_message_new_signal(root->path,
|
||||||
|
DBUS_INTERFACE_OBJECT_MANAGER,
|
||||||
|
"InterfacesAdded");
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
@ -0,0 +1,38 @@
|
|||||||
|
From cba55944f76ad0f01bb7c8976fd6699f058c68cd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Wed, 20 Sep 2017 14:42:14 +0200
|
||||||
|
Subject: [PATCH] hostname: Fix "BlueZ 5.XX" adapter name on startup
|
||||||
|
|
||||||
|
The hostname plugin listens to property changes from systemd-hostnamed
|
||||||
|
but doesn't fetch initial values. This means that unless the
|
||||||
|
PrettyHostname or StaticHostname changes, the default adapter will be
|
||||||
|
called "BlueZ 5.XX" matching the version number.
|
||||||
|
|
||||||
|
This is the case since the hostname plugin replaced the adaptername
|
||||||
|
plugin in 2012.
|
||||||
|
|
||||||
|
Fetch the initial values for PrettyHostname, StaticHostname and
|
||||||
|
Chassis when the plugin is initiated, so as to make the values
|
||||||
|
available for adapter setup.
|
||||||
|
---
|
||||||
|
plugins/hostname.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/plugins/hostname.c b/plugins/hostname.c
|
||||||
|
index f876d0afb..db9187378 100644
|
||||||
|
--- a/plugins/hostname.c
|
||||||
|
+++ b/plugins/hostname.c
|
||||||
|
@@ -307,6 +307,10 @@ static int hostname_init(void)
|
||||||
|
hostname_proxy = NULL;
|
||||||
|
g_dbus_client_unref(hostname_client);
|
||||||
|
hostname_client = NULL;
|
||||||
|
+ } else {
|
||||||
|
+ g_dbus_proxy_refresh_property(hostname_proxy, "PrettyHostname");
|
||||||
|
+ g_dbus_proxy_refresh_property(hostname_proxy, "StaticHostname");
|
||||||
|
+ g_dbus_proxy_refresh_property(hostname_proxy, "Chassis");
|
||||||
|
}
|
||||||
|
|
||||||
|
return err;
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -0,0 +1,38 @@
|
|||||||
|
From 90b72b787a6ae6b9b0bf8ece238e108e8607a433 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Sat, 9 Nov 2013 18:13:43 +0100
|
||||||
|
Subject: [PATCH 1/2] obex: Use GLib helper function to manipulate paths
|
||||||
|
|
||||||
|
Instead of trying to do it by hand. This also makes sure that
|
||||||
|
relative paths aren't used by the agent.
|
||||||
|
---
|
||||||
|
obexd/src/manager.c | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/obexd/src/manager.c b/obexd/src/manager.c
|
||||||
|
index f84384ae4..285c07c37 100644
|
||||||
|
--- a/obexd/src/manager.c
|
||||||
|
+++ b/obexd/src/manager.c
|
||||||
|
@@ -650,14 +650,14 @@ static void agent_reply(DBusPendingCall *call, void *user_data)
|
||||||
|
DBUS_TYPE_STRING, &name,
|
||||||
|
DBUS_TYPE_INVALID)) {
|
||||||
|
/* Splits folder and name */
|
||||||
|
- const char *slash = strrchr(name, '/');
|
||||||
|
+ gboolean is_relative = !g_path_is_absolute(name);
|
||||||
|
DBG("Agent replied with %s", name);
|
||||||
|
- if (!slash) {
|
||||||
|
- agent->new_name = g_strdup(name);
|
||||||
|
+ if (is_relative) {
|
||||||
|
+ agent->new_name = g_path_get_basename(name);
|
||||||
|
agent->new_folder = NULL;
|
||||||
|
} else {
|
||||||
|
- agent->new_name = g_strdup(slash + 1);
|
||||||
|
- agent->new_folder = g_strndup(name, slash - name);
|
||||||
|
+ agent->new_name = g_path_get_basename(name);
|
||||||
|
+ agent->new_folder = g_path_get_dirname(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.14.1
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
From 98826d0717fe831265256f996c9e90d15262bef1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gopal Tiwari <gtiwari@redhat.com>
|
||||||
|
Date: Mon, 8 Jun 2020 19:54:24 +0530
|
||||||
|
Subject: [PATCH BlueZ 2/4] systemd: Add PrivateTmp and NoNewPrivileges options
|
||||||
|
|
||||||
|
From 4570164f0c90603bd07eb9e7c07e17bbafb5b5da Mon Sep 17 00:00:00 2001
|
||||||
|
From: Craig Andrews <candrews@integralblue.com>
|
||||||
|
Date: Wed, 13 Sep 2017 15:23:09 +0200
|
||||||
|
|
||||||
|
systemd: Add PrivateTmp and NoNewPrivileges options
|
||||||
|
|
||||||
|
PrivateTmp makes bluetoothd's /tmp and /var/tmp be inside a different
|
||||||
|
namespace. This is useful to secure access to temporary files of the
|
||||||
|
process.
|
||||||
|
|
||||||
|
NoNewPrivileges ensures that service process and all its children
|
||||||
|
can never gain new privileges through execve(), lowering the risk of
|
||||||
|
possible privilege escalations.
|
||||||
|
---
|
||||||
|
src/bluetooth.service.in | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
|
||||||
|
index f9faaa452..7c2f60bb4 100644
|
||||||
|
--- a/src/bluetooth.service.in
|
||||||
|
+++ b/src/bluetooth.service.in
|
||||||
|
@@ -12,8 +12,14 @@ NotifyAccess=main
|
||||||
|
#Restart=on-failure
|
||||||
|
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
|
||||||
|
LimitNPROC=1
|
||||||
|
+
|
||||||
|
+# Filesystem lockdown
|
||||||
|
ProtectHome=true
|
||||||
|
ProtectSystem=full
|
||||||
|
+PrivateTmp=true
|
||||||
|
+
|
||||||
|
+# Privilege escalation
|
||||||
|
+NoNewPrivileges=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=bluetooth.target
|
||||||
|
--
|
||||||
|
2.21.1
|
||||||
|
|
44
SOURCES/0003-systemd-Add-more-filesystem-lockdown.patch
Normal file
44
SOURCES/0003-systemd-Add-more-filesystem-lockdown.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
From 13a348670fef0047555395ce6977e86e0005f8bd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Wed, 13 Sep 2017 15:37:11 +0200
|
||||||
|
Subject: [PATCH 3/4] systemd: Add more filesystem lockdown
|
||||||
|
|
||||||
|
We can only access the configuration file as read-only and read-write
|
||||||
|
to the Bluetooth cache directory and sub-directories.
|
||||||
|
---
|
||||||
|
Makefile.am | 3 +++
|
||||||
|
src/bluetooth.service.in | 4 ++++
|
||||||
|
2 files changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index ac88c12e0..0a6d09847 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -617,6 +617,9 @@
|
||||||
|
|
||||||
|
SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
|
||||||
|
$(SED) -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
|
||||||
|
+ -e 's,@libexecdir\@,$(libexecdir),g' \
|
||||||
|
+ -e 's,@statedir\@,$(statedir),g' \
|
||||||
|
+ -e 's,@confdir\@,$(confdir),g' \
|
||||||
|
< $< > $@
|
||||||
|
|
||||||
|
if RUN_RST2MAN
|
||||||
|
diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
|
||||||
|
index 7c2f60bb4..4daedef2a 100644
|
||||||
|
--- a/src/bluetooth.service.in
|
||||||
|
+++ b/src/bluetooth.service.in
|
||||||
|
@@ -17,6 +17,10 @@ LimitNPROC=1
|
||||||
|
ProtectHome=true
|
||||||
|
ProtectSystem=full
|
||||||
|
PrivateTmp=true
|
||||||
|
+ProtectKernelTunables=true
|
||||||
|
+ProtectControlGroups=true
|
||||||
|
+ReadWritePaths=@statedir@
|
||||||
|
+ReadOnlyPaths=@confdir@
|
||||||
|
|
||||||
|
# Privilege escalation
|
||||||
|
NoNewPrivileges=true
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
40
SOURCES/0004-systemd-More-lockdown.patch
Normal file
40
SOURCES/0004-systemd-More-lockdown.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 9a7872f04cb748e8de743d9136ecd91539d13cb7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gopal Tiwari <gtiwari@redhat.com>
|
||||||
|
Date: Mon, 8 Jun 2020 19:56:42 +0530
|
||||||
|
Subject: [PATCH BlueZ 4/4] systemd: More lockdown
|
||||||
|
|
||||||
|
From 171d812218883281fed57b57fafd5c18eac441ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Bastien Nocera <hadess@hadess.net>
|
||||||
|
Date: Wed, 13 Sep 2017 15:38:26 +0200
|
||||||
|
|
||||||
|
systemd: More lockdown
|
||||||
|
|
||||||
|
bluetoothd does not need to execute mapped memory, or real-time
|
||||||
|
access, so block those.
|
||||||
|
---
|
||||||
|
src/bluetooth.service.in | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in
|
||||||
|
index 4daedef2a..f18801866 100644
|
||||||
|
--- a/src/bluetooth.service.in
|
||||||
|
+++ b/src/bluetooth.service.in
|
||||||
|
@@ -22,9 +22,15 @@ ProtectControlGroups=true
|
||||||
|
ReadWritePaths=@statedir@
|
||||||
|
ReadOnlyPaths=@confdir@
|
||||||
|
|
||||||
|
+# Execute Mappings
|
||||||
|
+MemoryDenyWriteExecute=true
|
||||||
|
+
|
||||||
|
# Privilege escalation
|
||||||
|
NoNewPrivileges=true
|
||||||
|
|
||||||
|
+# Real-time
|
||||||
|
+RestrictRealtime=true
|
||||||
|
+
|
||||||
|
[Install]
|
||||||
|
WantedBy=bluetooth.target
|
||||||
|
Alias=dbus-org.bluez.service
|
||||||
|
--
|
||||||
|
2.21.1
|
||||||
|
|
33
SOURCES/69-btattach-bcm.rules
Normal file
33
SOURCES/69-btattach-bcm.rules
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Some devices have a bluetooth HCI connected to an uart, these needs to be
|
||||||
|
# setup by calling btattach. The systemd btattach-bcm.service takes care of
|
||||||
|
# this. These udev rules hardware-activate that service when necessary.
|
||||||
|
#
|
||||||
|
# For now this only suports ACPI enumerated Broadcom BT HCIs.
|
||||||
|
# This has been tested on Bay and Cherry Trail devices with both ACPI and
|
||||||
|
# PCI enumerated UARTs.
|
||||||
|
|
||||||
|
# Note we check for the platform device not for the acpi device, because
|
||||||
|
# some DSDTs list multiple bluetooth adapters, but only some (or none)
|
||||||
|
# are enabled. Only enabled adapters get a platform device created.
|
||||||
|
ACTION!="add", GOTO="btattach_bcm_rules_end"
|
||||||
|
SUBSYSTEM!="platform", GOTO="btattach_bcm_rules_end"
|
||||||
|
|
||||||
|
KERNEL=="BCM2E1A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E39:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E3A:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E3D:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E3F:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E40:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E54:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E55:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E64:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E65:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E67:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E71:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E7B:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E7C:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E7E:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E95:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
KERNEL=="BCM2E96:00", TAG+="systemd", ENV{SYSTEMD_WANTS}="btattach-bcm@%k.service"
|
||||||
|
|
||||||
|
LABEL="btattach_bcm_rules_end"
|
30
SOURCES/btattach-bcm-service.sh
Normal file
30
SOURCES/btattach-bcm-service.sh
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Simple shell script to wait for the tty for an uart using BT HCI to show up
|
||||||
|
# and then invoke btattach with the right parameters, this is intended to be
|
||||||
|
# invoked from a hardware-activated systemd service
|
||||||
|
#
|
||||||
|
# For now this only suports ACPI enumerated Broadcom BT HCIs.
|
||||||
|
# This has been tested on Bay and Cherry Trail devices with both ACPI and
|
||||||
|
# PCI enumerated UARTs.
|
||||||
|
#
|
||||||
|
# Note the kernel bt developers are working on solving this entirely in the
|
||||||
|
# kernel, so it is not worth the trouble to write something better then this.
|
||||||
|
|
||||||
|
BT_DEV="/sys/bus/platform/devices/$1"
|
||||||
|
BT_DEV="$(readlink -f $BT_DEV)"
|
||||||
|
UART_DEV="$(dirname $BT_DEV)"
|
||||||
|
|
||||||
|
# Stupid GPD-pocket has USB BT with id 0000:0000, but still claims to have
|
||||||
|
# an uart attached bt
|
||||||
|
if [ "$1" = "BCM2E7E:00" ] && lsusb | grep -q "ID 0000:0000"; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
while [ ! -d "$UART_DEV/tty" ]; do
|
||||||
|
sleep .2
|
||||||
|
done
|
||||||
|
|
||||||
|
TTY="$(ls $UART_DEV/tty)"
|
||||||
|
|
||||||
|
exec btattach --bredr "/dev/$TTY" -P bcm
|
6
SOURCES/btattach-bcm@.service
Normal file
6
SOURCES/btattach-bcm@.service
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=btattach for Broadcom devices
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/libexec/bluetooth/btattach-bcm-service.sh %I
|
@ -1,29 +1,58 @@
|
|||||||
%if 0%{?fedora} || 0%{?rhel} <= 8
|
|
||||||
%bcond_without deprecated
|
|
||||||
%else
|
|
||||||
%bcond_with deprecated
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Name: bluez
|
Name: bluez
|
||||||
Version: 5.72
|
|
||||||
Release: 2%{?dist}
|
|
||||||
Summary: Bluetooth utilities
|
Summary: Bluetooth utilities
|
||||||
|
Version: 5.63
|
||||||
|
Release: 1%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.bluez.org/
|
URL: http://www.bluez.org/
|
||||||
|
|
||||||
Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz
|
Source0: http://www.kernel.org/pub/linux/bluetooth/bluez-%{version}.tar.xz
|
||||||
Source1: bluez.gitignore
|
Source1: bluez.gitignore
|
||||||
|
|
||||||
# https://github.com/hadess/bluez/commits/obex-5.46
|
# Scripts for automatically btattach-ing serial ports connected to Broadcom HCIs
|
||||||
Patch1: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch
|
# as found on some Atom based x86 hardware
|
||||||
# https://patchwork.kernel.org/project/bluetooth/patch/20240214155019.325715-1-hadess@hadess.net/
|
Source2: 69-btattach-bcm.rules
|
||||||
Patch2: 0001-Add-missing-mesh-gatt-JSON-files.patch
|
Source3: btattach-bcm@.service
|
||||||
|
Source4: btattach-bcm-service.sh
|
||||||
|
|
||||||
|
# https://github.com/hadess/bluez/commits/build-fixes-5.46
|
||||||
|
#Patch1: 0001-build-Enable-BIND_NOW.patch
|
||||||
|
#Patch2: 0003-tools-csr_usb-Fix-compilation-failure.patch
|
||||||
|
|
||||||
|
# https://github.com/hadess/bluez/commits/obex-5.46
|
||||||
|
Patch3: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch
|
||||||
|
|
||||||
|
# https://github.com/hadess/bluez/commits/hostname-plugin-5.47
|
||||||
|
Patch4: 0001-hostname-Fix-BlueZ-5.XX-adapter-name-on-startup.patch
|
||||||
|
|
||||||
|
# https://github.com/hadess/bluez/commits/systemd-hardening
|
||||||
|
Patch20: 0001-build-Always-define-confdir-and-statedir.patch
|
||||||
|
Patch21: 0002-systemd-Add-PrivateTmp-and-NoNewPrivileges-options.patch
|
||||||
|
Patch22: 0003-systemd-Add-more-filesystem-lockdown.patch
|
||||||
|
Patch23: 0004-systemd-More-lockdown.patch
|
||||||
|
Patch25: 0001-gdbus-Emit-InterfacesAdded-of-parents-objects-first.patch
|
||||||
|
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1567622
|
||||||
|
#Patch24: 0001-adapter-Don-t-refresh-adv_manager-for-non-LE-devices.patch
|
||||||
|
|
||||||
|
#Patch25: 0001-core-Add-AlwaysPairable-to-main.conf.patch
|
||||||
|
#Patch26: 0002-agent-Make-the-first-agent-to-register-the-default.patch
|
||||||
|
|
||||||
|
#Patch27: 0001-HOGP-must-only-accept-data-from-bonded-devices.patch
|
||||||
|
#Patch28: 0002-HID-accepts-bonded-device-connections-only.patch
|
||||||
|
#Patch29: 0001-shared-att-Fix-possible-crash-on-disconnect.patch
|
||||||
|
|
||||||
|
#https://bugzilla.redhat.com/show_bug.cgi?id=1961511
|
||||||
|
#Patch30: 0001-input-hog-Attempt-to-set-security-level-if-not-bonde.patch
|
||||||
|
|
||||||
|
# fixing https://bugzilla.redhat.com/show_bug.cgi?id=1965057
|
||||||
|
#Patch31: 0001-shared-gatt-server-Fix-not-properly-checking-for-sec.patch
|
||||||
|
|
||||||
|
#Patch32: 0001-sdpd-Fix-leaking-buffers-stored-in-cstates-cache.patch
|
||||||
|
|
||||||
|
BuildRequires: git-core
|
||||||
BuildRequires: dbus-devel >= 1.6
|
BuildRequires: dbus-devel >= 1.6
|
||||||
BuildRequires: glib2-devel
|
BuildRequires: glib2-devel
|
||||||
BuildRequires: libell-devel >= 0.37
|
|
||||||
BuildRequires: libical-devel
|
BuildRequires: libical-devel
|
||||||
BuildRequires: make
|
|
||||||
BuildRequires: readline-devel
|
BuildRequires: readline-devel
|
||||||
# For bluetooth mesh
|
# For bluetooth mesh
|
||||||
BuildRequires: json-c-devel
|
BuildRequires: json-c-devel
|
||||||
@ -33,77 +62,65 @@ BuildRequires: systemd-devel
|
|||||||
BuildRequires: cups-devel
|
BuildRequires: cups-devel
|
||||||
# For autoreconf
|
# For autoreconf
|
||||||
BuildRequires: libtool automake autoconf
|
BuildRequires: libtool automake autoconf
|
||||||
# For man pages
|
|
||||||
BuildRequires: python3-docutils
|
BuildRequires: python3-docutils
|
||||||
BuildRequires: python3-pygments
|
|
||||||
|
|
||||||
Requires: dbus >= 1.6
|
Requires: dbus >= 1.6
|
||||||
|
|
||||||
Requires(post): systemd
|
Requires(post): systemd
|
||||||
Requires(preun): systemd
|
Requires(preun): systemd
|
||||||
Requires(postun): systemd
|
Requires(postun): systemd
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Utilities for use in Bluetooth applications:
|
Utilities for use in Bluetooth applications:
|
||||||
- avinfo
|
- hcitool
|
||||||
- bluemoon
|
- hciattach
|
||||||
- bluetoothctl
|
- hciconfig
|
||||||
- bluetoothd
|
- bluetoothd
|
||||||
- btattach
|
|
||||||
- btmon
|
|
||||||
- hex2hcd
|
|
||||||
- l2ping
|
- l2ping
|
||||||
|
- rfcomm
|
||||||
|
- sdptool
|
||||||
|
- bluetoothctl
|
||||||
|
- btmon
|
||||||
|
- hcidump
|
||||||
- l2test
|
- l2test
|
||||||
- mpris-proxy
|
|
||||||
- rctest
|
- rctest
|
||||||
|
- gatttool
|
||||||
|
- start scripts (Red Hat)
|
||||||
|
- pcmcia configuration files
|
||||||
|
|
||||||
The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A.
|
The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A.
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: Libraries for use in Bluetooth applications
|
||||||
|
|
||||||
|
%package libs-devel
|
||||||
|
Summary: Development libraries for Bluetooth applications
|
||||||
|
Requires: bluez-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%package cups
|
%package cups
|
||||||
Summary: CUPS printer backend for Bluetooth printers
|
Summary: CUPS printer backend for Bluetooth printers
|
||||||
Requires: bluez%{?_isa} = %{version}-%{release}
|
Requires: bluez%{?_isa} = %{version}-%{release}
|
||||||
Requires: cups
|
Requires: cups
|
||||||
|
|
||||||
|
%package hid2hci
|
||||||
|
Summary: Put HID proxying bluetooth HCI's into HCI mode
|
||||||
|
Requires: bluez%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%package obexd
|
||||||
|
Summary: Object Exchange daemon for sharing content
|
||||||
|
Requires: bluez%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: bluez-libs%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
%description cups
|
%description cups
|
||||||
This package contains the CUPS backend
|
This package contains the CUPS backend
|
||||||
|
|
||||||
%if %{with deprecated}
|
|
||||||
%package deprecated
|
|
||||||
Summary: Deprecated Bluetooth applications
|
|
||||||
Requires: bluez%{?_isa} = %{version}-%{release}
|
|
||||||
Obsoletes: bluez < 5.55-2
|
|
||||||
|
|
||||||
%description deprecated
|
|
||||||
Bluetooth applications that have bee deprecated by upstream. They have been
|
|
||||||
replaced by funcationality in the core bluetoothctl and will eventually
|
|
||||||
be dropped by upstream. Utilities include:
|
|
||||||
- ciptool
|
|
||||||
- gatttool
|
|
||||||
- hciattach
|
|
||||||
- hciconfig
|
|
||||||
- hcidump
|
|
||||||
- hcitool
|
|
||||||
- rfcomm
|
|
||||||
- sdptool
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%package libs
|
|
||||||
Summary: Libraries for use in Bluetooth applications
|
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
Libraries for use in Bluetooth applications.
|
Libraries for use in Bluetooth applications.
|
||||||
|
|
||||||
%package libs-devel
|
|
||||||
Summary: Development libraries for Bluetooth applications
|
|
||||||
Requires: bluez-libs%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description libs-devel
|
%description libs-devel
|
||||||
bluez-libs-devel contains development libraries and headers for
|
bluez-libs-devel contains development libraries and headers for
|
||||||
use in Bluetooth applications.
|
use in Bluetooth applications.
|
||||||
|
|
||||||
%package hid2hci
|
|
||||||
Summary: Put HID proxying bluetooth HCI's into HCI mode
|
|
||||||
Requires: bluez%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description hid2hci
|
%description hid2hci
|
||||||
Most allinone PC's and bluetooth keyboard / mouse sets which include a
|
Most allinone PC's and bluetooth keyboard / mouse sets which include a
|
||||||
bluetooth dongle, ship with a so called HID proxying bluetooth HCI.
|
bluetooth dongle, ship with a so called HID proxying bluetooth HCI.
|
||||||
@ -123,59 +140,31 @@ them again. Since you cannot use your bluetooth keyboard and mouse until
|
|||||||
they are paired, this will require the use of a regular (wired) USB keyboard
|
they are paired, this will require the use of a regular (wired) USB keyboard
|
||||||
and mouse.
|
and mouse.
|
||||||
|
|
||||||
%package mesh
|
|
||||||
Summary: Bluetooth mesh
|
|
||||||
Requires: bluez%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: bluez-libs%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description mesh
|
|
||||||
Services for bluetooth mesh
|
|
||||||
|
|
||||||
%package obexd
|
|
||||||
Summary: Object Exchange daemon for sharing content
|
|
||||||
Requires: bluez%{?_isa} = %{version}-%{release}
|
|
||||||
Requires: bluez-libs%{?_isa} = %{version}-%{release}
|
|
||||||
|
|
||||||
%description obexd
|
%description obexd
|
||||||
Object Exchange daemon for sharing files, contacts etc over bluetooth
|
Object Exchange daemon for sharing files, contacts etc over bluetooth
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -S git
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -vif
|
libtoolize -f
|
||||||
%configure --enable-tools --enable-library --disable-optimization \
|
autoreconf -f -i
|
||||||
--enable-deprecated \
|
%configure --enable-tools --enable-library --enable-deprecated \
|
||||||
--enable-sixaxis --enable-cups --enable-nfc --enable-mesh \
|
--enable-sixaxis --enable-cups --enable-nfc --enable-hid2hci \
|
||||||
--enable-hid2hci --enable-testing \
|
|
||||||
--with-systemdsystemunitdir=%{_unitdir} \
|
--with-systemdsystemunitdir=%{_unitdir} \
|
||||||
--with-systemduserunitdir=%{_userunitdir}
|
--with-systemduserunitdir=%{_userunitdir}
|
||||||
|
|
||||||
%{make_build}
|
make %{?_smp_mflags} V=1
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%{make_install}
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
|
|
||||||
%if %{with deprecated}
|
|
||||||
# "make install" fails to install gatttool, necessary for Bluetooth Low Energy
|
# "make install" fails to install gatttool, necessary for Bluetooth Low Energy
|
||||||
# Red Hat Bugzilla bug #1141909, Debian bug #720486
|
# Red Hat Bugzilla bug #1141909
|
||||||
|
# Debian bug #720486
|
||||||
install -m0755 attrib/gatttool $RPM_BUILD_ROOT%{_bindir}
|
install -m0755 attrib/gatttool $RPM_BUILD_ROOT%{_bindir}
|
||||||
%else
|
|
||||||
for i in ciptool gatttool hciattach hciconfig hcidump hcitool rfcomm sdptool ; do \
|
|
||||||
rm -f $RPM_BUILD_ROOT%{_bindir}/$i $RPM_BUILD_ROOT%{_mandir}/man1/$i*.1* ; \
|
|
||||||
done
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# "make install" fails to install avinfo
|
# Remove autocrap and libtool droppings
|
||||||
# Red Hat Bugzilla bug #1699680
|
|
||||||
install -m0755 tools/avinfo $RPM_BUILD_ROOT%{_bindir}
|
|
||||||
|
|
||||||
# btmgmt is not installed by "make install", but it is useful for debugging
|
|
||||||
# some issues and to set the MAC address on HCIs which don't have their
|
|
||||||
# MAC address configured
|
|
||||||
install -m0755 tools/btmgmt $RPM_BUILD_ROOT%{_bindir}
|
|
||||||
|
|
||||||
# Remove libtool archive
|
|
||||||
find $RPM_BUILD_ROOT -name '*.la' -delete
|
find $RPM_BUILD_ROOT -name '*.la' -delete
|
||||||
|
|
||||||
# Remove the cups backend from libdir, and install it in /usr/lib whatever the install
|
# Remove the cups backend from libdir, and install it in /usr/lib whatever the install
|
||||||
@ -188,20 +177,20 @@ rm -f ${RPM_BUILD_ROOT}/%{_sysconfdir}/udev/*.rules ${RPM_BUILD_ROOT}/usr/lib/ud
|
|||||||
install -D -p -m0644 tools/hid2hci.rules ${RPM_BUILD_ROOT}/%{_udevrulesdir}/97-hid2hci.rules
|
install -D -p -m0644 tools/hid2hci.rules ${RPM_BUILD_ROOT}/%{_udevrulesdir}/97-hid2hci.rules
|
||||||
|
|
||||||
install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth
|
install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth
|
||||||
install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth/mesh
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/bluetooth/
|
mkdir -p $RPM_BUILD_ROOT/%{_libdir}/bluetooth/
|
||||||
|
|
||||||
#copy bluetooth config file and setup auto enable
|
#copy bluetooth config file and setup auto enable
|
||||||
install -D -p -m0644 src/main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/main.conf
|
install -D -p -m0644 src/main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/main.conf
|
||||||
install -D -p -m0644 mesh/mesh-main.conf ${RPM_BUILD_ROOT}/etc/bluetooth/mesh-main.conf
|
|
||||||
sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' ${RPM_BUILD_ROOT}/%{_sysconfdir}/bluetooth/main.conf
|
sed -i 's/#\[Policy\]$/\[Policy\]/; s/#AutoEnable=false/AutoEnable=true/' ${RPM_BUILD_ROOT}/%{_sysconfdir}/bluetooth/main.conf
|
||||||
|
|
||||||
# Install the HCI emulator, useful for testing
|
#serial port connected Broadcom HCIs scripts
|
||||||
install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
install -D -p -m0644 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_udevrulesdir}/
|
||||||
|
install -D -p -m0644 %{SOURCE3} ${RPM_BUILD_ROOT}/%{_unitdir}/
|
||||||
|
install -D -p -m0755 %{SOURCE4} ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
||||||
|
|
||||||
#check
|
%check
|
||||||
#make check
|
make check
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
%ldconfig_scriptlets libs
|
||||||
|
|
||||||
@ -217,12 +206,6 @@ install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
|||||||
%post hid2hci
|
%post hid2hci
|
||||||
/sbin/udevadm trigger --subsystem-match=usb
|
/sbin/udevadm trigger --subsystem-match=usb
|
||||||
|
|
||||||
%post mesh
|
|
||||||
%systemd_user_post bluetooth-mesh.service
|
|
||||||
|
|
||||||
%preun mesh
|
|
||||||
%systemd_user_preun bluetooth-mesh.service
|
|
||||||
|
|
||||||
%post obexd
|
%post obexd
|
||||||
%systemd_user_post obex.service
|
%systemd_user_post obex.service
|
||||||
|
|
||||||
@ -230,53 +213,50 @@ install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
|||||||
%systemd_user_preun obex.service
|
%systemd_user_preun obex.service
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
%{!?_licensedir:%global license %%doc}
|
||||||
%license COPYING
|
%license COPYING
|
||||||
%doc AUTHORS ChangeLog
|
%doc AUTHORS ChangeLog
|
||||||
%dir %{_sysconfdir}/bluetooth
|
%config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf
|
||||||
%config %{_sysconfdir}/bluetooth/main.conf
|
%config %{_sysconfdir}/bluetooth/main.conf
|
||||||
%{_bindir}/avinfo
|
|
||||||
%{_bindir}/bluemoon
|
|
||||||
%{_bindir}/bluetoothctl
|
|
||||||
%{_bindir}/btattach
|
%{_bindir}/btattach
|
||||||
%{_bindir}/btmgmt
|
|
||||||
%{_bindir}/btmon
|
|
||||||
%{_bindir}/hex2hcd
|
|
||||||
%{_bindir}/l2ping
|
|
||||||
%{_bindir}/mpris-proxy
|
|
||||||
%{_mandir}/man1/bluetoothctl.1.*
|
|
||||||
%{_mandir}/man1/bluetoothctl-*.1.*
|
|
||||||
%{_mandir}/man1/btattach.1.*
|
|
||||||
%{_mandir}/man1/btmgmt.1.*
|
|
||||||
%{_mandir}/man1/btmon.1.*
|
|
||||||
%{_mandir}/man1/l2ping.1.*
|
|
||||||
%{_mandir}/man8/bluetoothd.8.*
|
|
||||||
%dir %{_libexecdir}/bluetooth
|
|
||||||
%{_libexecdir}/bluetooth/bluetoothd
|
|
||||||
%{_libdir}/bluetooth/
|
|
||||||
%{_localstatedir}/lib/bluetooth
|
|
||||||
%{_datadir}/dbus-1/system-services/org.bluez.service
|
|
||||||
%{_datadir}/dbus-1/system.d/bluetooth.conf
|
|
||||||
%{_unitdir}/bluetooth.service
|
|
||||||
%{_datadir}/zsh/site-functions/_bluetoothctl
|
|
||||||
|
|
||||||
%if %{with deprecated}
|
|
||||||
%files deprecated
|
|
||||||
%{_bindir}/ciptool
|
%{_bindir}/ciptool
|
||||||
%{_bindir}/gatttool
|
%{_bindir}/hcitool
|
||||||
|
%{_bindir}/l2ping
|
||||||
|
%{_bindir}/rfcomm
|
||||||
|
%{_bindir}/sdptool
|
||||||
|
%{_bindir}/bluetoothctl
|
||||||
|
%{_bindir}/bluemoon
|
||||||
|
%{_bindir}/btmon
|
||||||
%{_bindir}/hciattach
|
%{_bindir}/hciattach
|
||||||
%{_bindir}/hciconfig
|
%{_bindir}/hciconfig
|
||||||
%{_bindir}/hcidump
|
%{_bindir}/hcidump
|
||||||
%{_bindir}/hcitool
|
%{_bindir}/l2test
|
||||||
%{_bindir}/rfcomm
|
%{_bindir}/hex2hcd
|
||||||
%{_bindir}/sdptool
|
%{_bindir}/mpris-proxy
|
||||||
%{_mandir}/man1/ciptool.1.*
|
%{_bindir}/gatttool
|
||||||
|
%{_bindir}/rctest
|
||||||
|
%{_datadir}/zsh/site-functions/_bluetoothctl
|
||||||
|
%{_mandir}/man1/btattach.1.gz
|
||||||
|
%{_mandir}/man1/btmon.1.*
|
||||||
|
%{_mandir}/man1/ciptool.1.gz
|
||||||
|
%{_mandir}/man1/hcitool.1.gz
|
||||||
|
%{_mandir}/man1/rfcomm.1.gz
|
||||||
|
%{_mandir}/man1/sdptool.1.gz
|
||||||
%{_mandir}/man1/hciattach.1.*
|
%{_mandir}/man1/hciattach.1.*
|
||||||
%{_mandir}/man1/hciconfig.1.*
|
%{_mandir}/man1/hciconfig.1.*
|
||||||
%{_mandir}/man1/hcidump.1.*
|
%{_mandir}/man1/hcidump.1.*
|
||||||
%{_mandir}/man1/hcitool.1.*
|
%{_mandir}/man1/l2ping.1.*
|
||||||
%{_mandir}/man1/rfcomm.1.*
|
%{_mandir}/man1/rctest.1.*
|
||||||
%{_mandir}/man1/sdptool.1.*
|
%{_mandir}/man8/*
|
||||||
%endif
|
%{_libexecdir}/bluetooth/bluetoothd
|
||||||
|
%{_libexecdir}/bluetooth/btattach-bcm-service.sh
|
||||||
|
%{_libdir}/bluetooth/
|
||||||
|
%{_localstatedir}/lib/bluetooth
|
||||||
|
%{_datadir}/dbus-1/system-services/org.bluez.service
|
||||||
|
%{_unitdir}/bluetooth.service
|
||||||
|
%{_unitdir}/btattach-bcm@.service
|
||||||
|
%{_udevrulesdir}/69-btattach-bcm.rules
|
||||||
|
|
||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%{!?_licensedir:%global license %%doc}
|
%{!?_licensedir:%global license %%doc}
|
||||||
@ -285,17 +265,9 @@ install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
|||||||
|
|
||||||
%files libs-devel
|
%files libs-devel
|
||||||
%doc doc/*txt
|
%doc doc/*txt
|
||||||
%{_bindir}/isotest
|
|
||||||
%{_bindir}/l2test
|
|
||||||
%{_bindir}/rctest
|
|
||||||
%{_libdir}/libbluetooth.so
|
%{_libdir}/libbluetooth.so
|
||||||
%{_includedir}/bluetooth
|
%{_includedir}/bluetooth
|
||||||
%{_mandir}/man1/isotest.1.*
|
|
||||||
%{_mandir}/man1/rctest.1.*
|
|
||||||
%{_mandir}/man5/org.bluez.*.5.*
|
|
||||||
%{_libdir}/pkgconfig/bluez.pc
|
%{_libdir}/pkgconfig/bluez.pc
|
||||||
%dir %{_libexecdir}/bluetooth
|
|
||||||
%{_libexecdir}/bluetooth/btvirt
|
|
||||||
|
|
||||||
%files cups
|
%files cups
|
||||||
%_cups_serverbin/backend/bluetooth
|
%_cups_serverbin/backend/bluetooth
|
||||||
@ -305,143 +277,74 @@ install emulator/btvirt ${RPM_BUILD_ROOT}/%{_libexecdir}/bluetooth/
|
|||||||
%{_mandir}/man1/hid2hci.1*
|
%{_mandir}/man1/hid2hci.1*
|
||||||
%{_udevrulesdir}/97-hid2hci.rules
|
%{_udevrulesdir}/97-hid2hci.rules
|
||||||
|
|
||||||
%files mesh
|
|
||||||
%doc tools/mesh-gatt/*.json
|
|
||||||
%config %{_sysconfdir}/bluetooth/mesh-main.conf
|
|
||||||
%{_bindir}/meshctl
|
|
||||||
%{_bindir}/mesh-cfgclient
|
|
||||||
%{_bindir}/mesh-cfgtest
|
|
||||||
%{_datadir}/dbus-1/system-services/org.bluez.mesh.service
|
|
||||||
%{_datadir}/dbus-1/system.d/bluetooth-mesh.conf
|
|
||||||
%{_libexecdir}/bluetooth/bluetooth-meshd
|
|
||||||
%{_unitdir}/bluetooth-mesh.service
|
|
||||||
%{_localstatedir}/lib/bluetooth/mesh
|
|
||||||
%{_mandir}/man8/bluetooth-meshd.8*
|
|
||||||
|
|
||||||
%files obexd
|
%files obexd
|
||||||
%{_libexecdir}/bluetooth/obexd
|
%{_libexecdir}/bluetooth/obexd
|
||||||
%{_datadir}/dbus-1/services/org.bluez.obex.service
|
%{_datadir}/dbus-1/services/org.bluez.obex.service
|
||||||
%{_userunitdir}/obex.service
|
%{_userunitdir}/obex.service
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Mon Jul 15 2024 David Marlin <dmarlin@redhat.com> - 5.72-2
|
* Tue May 17 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.63-1
|
||||||
- Bump release to rebuild for RHEL-9.5
|
+ bluez-5.63-1
|
||||||
|
- Fixing (#)
|
||||||
|
|
||||||
* Thu Feb 15 2024 Bastien Nocera <bnocera@redhat.com> - 5.72-1
|
* Mon Dec 13 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-3
|
||||||
- Update to 5.72
|
+ bluez-5.56-3
|
||||||
|
- Fixing (#2027434)
|
||||||
* Thu Jun 9 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.64-2
|
|
||||||
- Coverity fixes for bluez.
|
|
||||||
|
|
||||||
* Thu May 5 2022 Gopal Tiwari <gtiwari@redhat.com> - 5.64-1
|
|
||||||
- Update to 5.64
|
|
||||||
|
|
||||||
* Thu Dec 16 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-8
|
|
||||||
- Fixing Gating and version
|
|
||||||
Related: rhbz#2027435
|
|
||||||
|
|
||||||
* Tue Dec 14 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-7
|
|
||||||
- Fixing CVE-2021-41229
|
- Fixing CVE-2021-41229
|
||||||
Related: rhbz#2027435
|
|
||||||
|
|
||||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 5.56-6
|
* Mon Jun 7 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-2
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
+ bluez-5.56-2
|
||||||
Related: rhbz#1991688
|
- Fixing (#1968392)
|
||||||
|
- Removing bccmd check from tests
|
||||||
|
|
||||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 5.56-5
|
* Wed Jun 2 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.56-1
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
+ bluez-5.56-1
|
||||||
|
- Fixing (#1965057)
|
||||||
|
- Removing bccmd, enabling hid2hci as upstream removed the support in bluez-5.56
|
||||||
|
|
||||||
* Sun Mar 14 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 5.56-4
|
* Wed May 26 2021 Gopal Tiwari <gtiwari@redhat.com> - 5.52-5
|
||||||
- Fix for avdtp audio disconnexts
|
+ bluez-5.52-5
|
||||||
|
- Fixing (#1961511)
|
||||||
|
|
||||||
* Sun Mar 14 2021 Hans de Goede <hdegoede@redhat.com> - 5.56-3
|
* Thu Oct 22 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-4
|
||||||
- Drop obsolete udev rule + systemd service to call btattach on BT-HCIs
|
+ bluez-5.52-4
|
||||||
connected via UART from userspace, this is all handled in the kernel now
|
- Fixing (#1885378)
|
||||||
- Add the btmgmt util to the packaged files
|
|
||||||
|
|
||||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 5.56-2
|
* Thu Oct 22 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-3
|
||||||
- Rebuilt for updated systemd-rpm-macros
|
+ bluez-5.52-3
|
||||||
See https://pagure.io/fesco/issue/2583.
|
- Revering the 5.52-2 patch due some mismatch with upsream patch.
|
||||||
|
|
||||||
* Sat Feb 27 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 5.56-1
|
* Tue Oct 20 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-2
|
||||||
- Update to 5.56
|
+ bluez-5.52-2
|
||||||
|
- Fixing (#1885378)
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.55-3
|
* Tue Jun 9 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.52-1
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
+ bluez-5.52-1
|
||||||
|
- Fixing (#1830397)
|
||||||
|
|
||||||
* Sun Sep 13 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.55-2
|
* Fri Apr 24 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-4
|
||||||
- Split tools marked as deprecated to separate sub package (rhbz #1887569)
|
+ bluez-5.50-4
|
||||||
|
- Fixing CVE-2020-0556
|
||||||
|
|
||||||
* Sun Sep 06 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.55-1
|
* Mon Jan 13 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-3
|
||||||
- Update to 5.55
|
+ bluez-5.50-3
|
||||||
|
- Bump the version
|
||||||
|
|
||||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.54-4
|
* Mon Jan 13 2020 Gopal Tiwari <gtiwari@redhat.com> - 5.50-2
|
||||||
- Second attempt - Rebuilt for
|
|
||||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.54-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 5.54-2
|
|
||||||
- Rebuild (json-c)
|
|
||||||
|
|
||||||
* Sun Mar 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 5.54-1
|
|
||||||
- bluez 5.54
|
|
||||||
|
|
||||||
* Sun Feb 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> 5.53-2
|
|
||||||
- Minor mesh updates
|
|
||||||
|
|
||||||
* Sun Feb 16 2020 Peter Robinson <pbrobinson@fedoraproject.org> 5.53-1
|
|
||||||
- bluez 5.53
|
|
||||||
|
|
||||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.52-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Dec 12 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.52-3
|
|
||||||
- Minor bluetooth mesh improvements
|
|
||||||
|
|
||||||
* Mon Dec 02 2019 Lubomir Rintel <lkundrak@v3.sk> - 5.52-2
|
|
||||||
- Package the btvirt binary
|
|
||||||
|
|
||||||
* Sun Nov 3 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.52-1
|
|
||||||
- bluez 5.52
|
|
||||||
|
|
||||||
* Fri Sep 20 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.51-1
|
|
||||||
- bluez 5.51
|
|
||||||
|
|
||||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-9
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jun 06 2019 Bastien Nocera <bnocera@redhat.com> - 5.50-8
|
|
||||||
+ bluez-5.50-8
|
|
||||||
- Backport loads of fixes from upstream, including:
|
|
||||||
- dbus-broker support (#1711594)
|
|
||||||
- a2dp codecs discovery
|
|
||||||
- discoverability filter support (used in gnome-bluetooth, #1583442)
|
|
||||||
- sixaxis pairing fixes
|
|
||||||
|
|
||||||
* Tue Apr 16 2019 Eduardo Minguez <edu@linux.com> - 5.50-7
|
|
||||||
- Added avinfo
|
|
||||||
|
|
||||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.50-6
|
|
||||||
- Disable tests temporarily
|
|
||||||
|
|
||||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.50-5
|
|
||||||
- Rebuild for readline 8.0
|
|
||||||
|
|
||||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-4
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.50-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed Jun 27 2018 Bastien Nocera <bnocera@redhat.com> - 5.50-2
|
|
||||||
+ bluez-5.50-2
|
+ bluez-5.50-2
|
||||||
- Fix A2DP disconnections with some headsets
|
- Fixing CVE-2018-10910 (#1606373)
|
||||||
|
|
||||||
* Mon Jun 04 2018 Bastien Nocera <bnocera@redhat.com> - 5.50-1
|
* Fri Sep 7 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.50-1
|
||||||
+ bluez-5.50-1
|
+ bluez-5.50-1
|
||||||
- Update to 5.50
|
- Update to 5.50 (#1504689)
|
||||||
|
|
||||||
|
* Fri Aug 24 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.49-6
|
||||||
|
+ bluez-5.49-6
|
||||||
|
- Disabling Mesh Networking for crypto issue while code reviewing.
|
||||||
|
|
||||||
|
* Tue Aug 14 2018 Gopal Tiwari <gtiwari@redhat.com> - 5.49-5
|
||||||
|
+ bluez-5.49-5
|
||||||
|
- Fix accessing NULL adv_manager (#1602779)
|
||||||
|
|
||||||
* Fri Apr 20 2018 Bastien Nocera <bnocera@redhat.com> - 5.49-3
|
* Fri Apr 20 2018 Bastien Nocera <bnocera@redhat.com> - 5.49-3
|
||||||
+ bluez-5.49-3
|
+ bluez-5.49-3
|
@ -1,6 +0,0 @@
|
|||||||
--- !Policy
|
|
||||||
product_versions:
|
|
||||||
- rhel-9
|
|
||||||
decision_context: osci_compose_gate
|
|
||||||
rules:
|
|
||||||
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
|
2
sources
2
sources
@ -1,2 +0,0 @@
|
|||||||
SHA512 (bluez-5.64.tar.xz) = f11f9974b29c5c6fce3890d7e42425c1cb02e42c1b8f49c5cc4b249234e67b64317d0e5e82721e2fbf1b53269c8569a9c869d59ce42b5e927f6622f0753e53cd
|
|
||||||
SHA512 (bluez-5.72.tar.xz) = 1c6560f60ac0654d7c25ed8ab2f0f3a3a9ca8688ee28e1c476ffc7ae38737e739d27bbb88789c86b03fc600a8a68496d90a7b395ec393dd2bbf69be62357991a
|
|
@ -1,31 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
# This test is designed such that a Bluetooth controller is not required but we
|
|
||||||
# can at least check to make sure the commands are installed correctly
|
|
||||||
|
|
||||||
# Is bccmd present and doesn't fail if called
|
|
||||||
#bccmd --help
|
|
||||||
|
|
||||||
# Is bluemoon present and doesn't fail if called
|
|
||||||
bluemoon --help
|
|
||||||
|
|
||||||
# Is bluetoothctl present and doesn't fail if called
|
|
||||||
bluetoothctl --help
|
|
||||||
|
|
||||||
# Is btattach present and doesn't fail if called
|
|
||||||
btattach --version
|
|
||||||
|
|
||||||
# Is btmgmt present and doesn't fail if called
|
|
||||||
btmgmt --help
|
|
||||||
|
|
||||||
# Is btmon present and doesn't fail if called
|
|
||||||
btmon --help
|
|
||||||
|
|
||||||
# Is hex2hcd present and doesn't fail if called
|
|
||||||
hex2hcd --help
|
|
||||||
|
|
||||||
# Is mpris-proxy present and doesn't fail if called
|
|
||||||
mpris-proxy --help
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
|||||||
- hosts: localhost
|
|
||||||
roles:
|
|
||||||
- role: standard-test-basic
|
|
||||||
tags:
|
|
||||||
- classic
|
|
||||||
tests:
|
|
||||||
- simple:
|
|
||||||
dir: . # switch to subfolder. This parameter is REQUIRED, use `dir: .` for current folder
|
|
||||||
run: ./run_tests.sh # this is your test command, its exit code is the outcome of the test
|
|
Loading…
Reference in New Issue
Block a user