2 Commits

4 changed files with 149 additions and 1 deletions

123
bluez-5.79-c23.patch Normal file
View File

@@ -0,0 +1,123 @@
https://bugs.gentoo.org/943809
https://github.com/bluez/bluez/commit/da5b5b0ecb1ead38676768ef78d46449d404bdc0
https://github.com/bluez/bluez/commit/4d60826865c760cc4e5718b6414746a394768110
https://github.com/bluez/bluez/commit/6f3111eb680df9c13502aacd65554846a9e13a3f
From da5b5b0ecb1ead38676768ef78d46449d404bdc0 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 20 Nov 2024 13:02:56 +0000
Subject: [PATCH] shared/ad: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/ad.c:1090:24: error: incompatible types when returning type '_Bool' but 'const char *' was expected
1090 | return false;
| ^~~~~
---
src/shared/ad.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/ad.c b/src/shared/ad.c
index d08ce7af9b..dac381bbe6 100644
--- a/src/shared/ad.c
+++ b/src/shared/ad.c
@@ -1087,7 +1087,7 @@ bool bt_ad_add_name(struct bt_ad *ad, const char *name)
const char *bt_ad_get_name(struct bt_ad *ad)
{
if (!ad)
- return false;
+ return NULL;
return ad->name;
}
From 4d60826865c760cc4e5718b6414746a394768110 Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 20 Nov 2024 13:03:29 +0000
Subject: [PATCH] shared/shell: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/shell.c:365:24: error: incompatible types when returning type '_Bool' but 'struct input *' was expected
365 | return false;
| ^~~~~
---
src/shared/shell.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/shared/shell.c b/src/shared/shell.c
index a8fa87696..aa6c16c8c 100644
--- a/src/shared/shell.c
+++ b/src/shared/shell.c
@@ -362,7 +362,7 @@ static struct input *input_new(int fd)
io = io_new(fd);
if (!io)
- return false;
+ return NULL;
input = new0(struct input, 1);
input->io = io;
From 6f3111eb680df9c13502aacd65554846a9e13a3f Mon Sep 17 00:00:00 2001
From: Rudi Heitbaum <rudi@heitbaum.com>
Date: Wed, 20 Nov 2024 13:03:55 +0000
Subject: [PATCH] shared/gatt-helpers: fix -std=c23 build failure
gcc-15 switched to -std=c23 by default:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=55e3bd376b2214e200fa76d12b67ff259b06c212
As a result `bluez` fails the build as:
src/shared/gatt-helpers.c:1136:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1136 | return false;
| ^~~~~
src/shared/gatt-helpers.c:1250:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1250 | return false;
| ^~~~~
src/shared/gatt-helpers.c:1478:24: error: incompatible types when returning type '_Bool' but 'struct bt_gatt_request *' was expected
1478 | return false;
| ^~~~~
---
src/shared/gatt-helpers.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/shared/gatt-helpers.c b/src/shared/gatt-helpers.c
index 50fcb269be..f1fa6300a1 100644
--- a/src/shared/gatt-helpers.c
+++ b/src/shared/gatt-helpers.c
@@ -1133,7 +1133,7 @@ struct bt_gatt_request *bt_gatt_discover_included_services(struct bt_att *att,
uint8_t pdu[6];
if (!att)
- return false;
+ return NULL;
op = new0(struct bt_gatt_request, 1);
op->att = att;
@@ -1247,7 +1247,7 @@ struct bt_gatt_request *bt_gatt_discover_characteristics(struct bt_att *att,
uint8_t pdu[6];
if (!att)
- return false;
+ return NULL;
op = new0(struct bt_gatt_request, 1);
op->att = att;
@@ -1475,7 +1475,7 @@ struct bt_gatt_request *bt_gatt_discover_descriptors(struct bt_att *att,
uint8_t pdu[4];
if (!att)
- return false;
+ return NULL;
op = new0(struct bt_gatt_request, 1);
op->att = att;

17
bluez-5.79-stdarg.patch Normal file
View File

@@ -0,0 +1,17 @@
check for stdarg.h as readline.h needs HAVE_STDARG_H defined for
rl_message function prototype
--- a/configue.ac 2024-11-01 20:25:15.000000000 +0100
+++ b/configure.ac 2025-04-06 22:04:46.150166997 +0200
@@ -70,7 +70,7 @@
AC_CHECK_LIB(dl, dlopen, dummy=yes,
AC_MSG_ERROR(dynamic linking loader is required))
-AC_CHECK_HEADERS(string.h linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h sys/random.h)
+AC_CHECK_HEADERS(string.h stdarg.h linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h sys/random.h)
# basename may be only available in libgen.h with the POSIX behavior,
# not desired here

View File

@@ -1,3 +1,9 @@
-------------------------------------------------------------------
Sun Apr 6 17:17:02 UTC 2025 - Friedrich Haubensak <hsk17@mail.de>
- to fix gcc-15 compile time errors, add bluez-5.79-c23.patch
(from gentoo) and bluez-5.79-stdarg.patch
-------------------------------------------------------------------
Mon Feb 17 23:17:03 UTC 2025 - Alexey Kolos <lioli7k@gmail.com>

View File

@@ -64,6 +64,8 @@ Patch15: hcidump-Fix-memory-leak-with-malformed-packet.patch
Patch16: hcidump-Fixed-malformed-segment-frame-length.patch
# Upstream suggests to use btmon instead of hcidump and does not want those patches
# => PATCH-FIX-OPENSUSE for those two :-)
Patch17: bluez-5.79-c23.patch
Patch18: bluez-5.79-stdarg.patch
# fix some memory leak with malformed packet (reported upstream but not yet fixed)
Patch101: CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch
Patch102: CVE-2016-9804-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch
@@ -247,7 +249,7 @@ export CC=gcc-8
# header file has "#ifndef FIRMWARE_DIR...#define FIRMWARE_DIR /etc/firmare"
# instead of patching, just supply FIRMWARE_DIR on compiler's command line
export CPPFLAGS="$CPPFLAGS -DFIRMWARE_DIR='\"%{_firmwaredir}\"'"
# because of patch4...
# because of patch4... and patch18
autoreconf -fi
# --enable-experimental is needed or btattach does not build (bug?)
%configure \