Message ID | 20240828060926.3710535-1-raj.khem@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 690eccbe8562cc33f33503af67beb313ca737817 |
Headers | show |
Series | [v6,BlueZ] Provide GNU basename compatible implementation | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
tedd_an/CheckPatch | success | CheckPatch PASS |
tedd_an/GitLint | success | Gitlint PASS |
tedd_an/BuildEll | success | Build ELL PASS |
tedd_an/BluezMake | success | Bluez Make PASS |
tedd_an/MakeCheck | success | Bluez Make Check PASS |
tedd_an/MakeDistcheck | fail | Make Distcheck FAIL: Package cups was not found in the pkg-config search path. Perhaps you should add the directory containing `cups.pc' to the PKG_CONFIG_PATH environment variable No package 'cups' found ../../mesh/mesh-config-json.c:31:10: fatal error: mesh/missing.h: No such file or directory 31 | #include "mesh/missing.h" | ^~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:7850: mesh/mesh-config-json.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:4676: all] Error 2 make: *** [Makefile:12226: distcheck] Error 1 |
tedd_an/CheckValgrind | success | Check Valgrind PASS |
tedd_an/CheckSmatch | warning | CheckSparse WARNING tools/hex2hcd.c:136:26: warning: Variable length array is used. |
tedd_an/bluezmakeextell | success | Make External ELL PASS |
tedd_an/IncrementalBuild | success | Incremental Build PASS |
tedd_an/ScanBuild | success | Scan Build PASS |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=884094 ---Test result--- Test Summary: CheckPatch PASS 0.27 seconds GitLint PASS 0.18 seconds BuildEll PASS 24.43 seconds BluezMake PASS 1670.47 seconds MakeCheck PASS 13.81 seconds MakeDistcheck FAIL 68.03 seconds CheckValgrind PASS 252.55 seconds CheckSmatch WARNING 356.66 seconds bluezmakeextell PASS 119.91 seconds IncrementalBuild PASS 1469.35 seconds ScanBuild PASS 1011.25 seconds Details ############################## Test: MakeDistcheck - FAIL Desc: Run Bluez Make Distcheck Output: Package cups was not found in the pkg-config search path. Perhaps you should add the directory containing `cups.pc' to the PKG_CONFIG_PATH environment variable No package 'cups' found ../../mesh/mesh-config-json.c:31:10: fatal error: mesh/missing.h: No such file or directory 31 | #include "mesh/missing.h" | ^~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [Makefile:7850: mesh/mesh-config-json.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:4676: all] Error 2 make: *** [Makefile:12226: distcheck] Error 1 ############################## Test: CheckSmatch - WARNING Desc: Run smatch tool with source Output: tools/hex2hcd.c:136:26: warning: Variable length array is used. --- Regards, Linux Bluetooth
Hello: This patch was applied to bluetooth/bluez.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Tue, 27 Aug 2024 23:09:26 -0700 you wrote: > Call to basename() relies on a GNU extension > to take a const char * vs a char *. Let's define > a trivial helper function to ensure compatibility > with musl. > > Fixes Issue: https://github.com/bluez/bluez/issues/843 > > [...] Here is the summary with links: - [v6,BlueZ] Provide GNU basename compatible implementation https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=690eccbe8562 You are awesome, thank you!
diff --git a/configure.ac b/configure.ac index d31eb1656..f0f1ec100 100644 --- a/configure.ac +++ b/configure.ac @@ -70,7 +70,16 @@ AC_CHECK_LIB(pthread, pthread_create, dummy=yes, AC_CHECK_LIB(dl, dlopen, dummy=yes, AC_MSG_ERROR(dynamic linking loader is required)) -AC_CHECK_HEADERS(linux/types.h linux/if_alg.h linux/uinput.h linux/uhid.h sys/random.h) +AC_CHECK_HEADERS(string.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 +AC_CHECK_DECLS([basename], [], + AC_MSG_WARN([GNU basename extension not found]), + [#define _GNU_SOURCE 1 + #include <string.h> + ]) + PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28) diff --git a/mesh/mesh-config-json.c b/mesh/mesh-config-json.c index c198627c6..a17a48b6d 100644 --- a/mesh/mesh-config-json.c +++ b/mesh/mesh-config-json.c @@ -28,6 +28,7 @@ #include <ell/ell.h> #include <json-c/json.h> +#include "mesh/missing.h" #include "mesh/mesh-defs.h" #include "mesh/util.h" #include "mesh/mesh-config.h" @@ -2694,7 +2695,8 @@ bool mesh_config_load_nodes(const char *cfgdir_name, mesh_config_node_func_t cb, void mesh_config_destroy_nvm(struct mesh_config *cfg) { - char *node_dir, *node_name; + char *node_dir; + const char *node_name; char uuid[33]; if (!cfg) diff --git a/mesh/missing.h b/mesh/missing.h new file mode 100644 index 000000000..464df9b1c --- /dev/null +++ b/mesh/missing.h @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/* + * + * BlueZ - Bluetooth protocol stack for Linux + * + * Copyright (C) 2024 Khem Raj <raj.khem@gmail.com> + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +#if !HAVE_DECL_BASENAME +#include <string.h> +static inline const char *basename(const char *path) +{ + const char *base = strrchr(path, '/'); + + return base ? base + 1 : path; +} +#endif diff --git a/mesh/rpl.c b/mesh/rpl.c index fb225dddd..2fa17d72f 100644 --- a/mesh/rpl.c +++ b/mesh/rpl.c @@ -24,6 +24,7 @@ #include <ell/ell.h> +#include "mesh/missing.h" #include "mesh/mesh-defs.h" #include "mesh/node.h" diff --git a/tools/hex2hcd.c b/tools/hex2hcd.c index e6dca5a81..452ab2beb 100644 --- a/tools/hex2hcd.c +++ b/tools/hex2hcd.c @@ -24,6 +24,7 @@ #include <stdlib.h> #include <stdbool.h> #include <sys/stat.h> +#include "tools/missing.h" static ssize_t process_record(int fd, const char *line, uint16_t *upper_addr) { diff --git a/tools/missing.h b/tools/missing.h new file mode 100644 index 000000000..464df9b1c --- /dev/null +++ b/tools/missing.h @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: LGPL-2.1-or-later +/* + * + * BlueZ - Bluetooth protocol stack for Linux + * + * Copyright (C) 2024 Khem Raj <raj.khem@gmail.com> + * + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif +#if !HAVE_DECL_BASENAME +#include <string.h> +static inline const char *basename(const char *path) +{ + const char *base = strrchr(path, '/'); + + return base ? base + 1 : path; +} +#endif