package/ledmon: update patch to fix musl build

Updated patch following an upstream review:
https://github.com/md-raid-utilities/ledmon/pull/272#issuecomment-3596495739

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit b4668eded3d8087600f3aa67c2d354edfa7ce97e)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
Bernd Kuhls
2025-12-01 19:31:42 +01:00
committed by Thomas Perale
parent 7244ac0442
commit 3c7ed8125d
2 changed files with 42 additions and 100 deletions

View File

@@ -1,100 +0,0 @@
From 95adecd3cc8e94f9964c34fdf0354c209acce166 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd@kuhls.net>
Date: Thu, 27 Nov 2025 21:17:22 +0100
Subject: [PATCH] Include libgen.h to fix musl builds
Fixes various build errors like
block.c: In function 'block_set_devnode':
block.c:226:22: error: implicit declaration of function 'basename'
[-Wimplicit-function-declaration]
226 | char *name = basename(device->sysfs_path);
Upstream: https://github.com/md-raid-utilities/ledmon/pull/272
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
[Bernd: backported upstream PR to v1.1.0]
---
src/ledctl/ledctl.c | 1 +
src/ledmon/ledmon.c | 1 +
src/lib/block.c | 1 +
src/lib/npem.c | 1 +
src/lib/slot.c | 1 +
src/lib/vmdssd.c | 1 +
6 files changed, 6 insertions(+)
diff --git a/src/ledctl/ledctl.c b/src/ledctl/ledctl.c
index 30adc74..af2ea1b 100644
--- a/src/ledctl/ledctl.c
+++ b/src/ledctl/ledctl.c
@@ -5,6 +5,7 @@
#include <ctype.h>
#include <errno.h>
#include <getopt.h>
+#include <libgen.h>
#include <linux/limits.h>
#include <inttypes.h>
#include <limits.h>
diff --git a/src/ledmon/ledmon.c b/src/ledmon/ledmon.c
index 37ef69a..4644492 100644
--- a/src/ledmon/ledmon.c
+++ b/src/ledmon/ledmon.c
@@ -5,6 +5,7 @@
#include <errno.h>
#include <fcntl.h>
#include <getopt.h>
+#include <libgen.h>
#include <limits.h>
#include <signal.h>
#include <stdint.h>
diff --git a/src/lib/block.c b/src/lib/block.c
index 23dc34f..afa7d57 100644
--- a/src/lib/block.c
+++ b/src/lib/block.c
@@ -3,6 +3,7 @@
#include <dirent.h>
#include <fcntl.h>
+#include <libgen.h>
#include <limits.h>
#include <stdint.h>
#include <stdio.h>
diff --git a/src/lib/npem.c b/src/lib/npem.c
index bdceee3..f980ba8 100644
--- a/src/lib/npem.c
+++ b/src/lib/npem.c
@@ -2,6 +2,7 @@
// Copyright (C) 2022 Intel Corporation.
#include <errno.h>
+#include <libgen.h>
#include <stdio.h>
#include <string.h>
#include <pci/pci.h>
diff --git a/src/lib/slot.c b/src/lib/slot.c
index 1044ddf..68e3009 100644
--- a/src/lib/slot.c
+++ b/src/lib/slot.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (C) 2023 Intel Corporation.
+#include <libgen.h>
#include <stdio.h>
#include <string.h>
diff --git a/src/lib/vmdssd.c b/src/lib/vmdssd.c
index 8a6e846..0270a7d 100644
--- a/src/lib/vmdssd.c
+++ b/src/lib/vmdssd.c
@@ -2,6 +2,7 @@
// Copyright (C) 2022 Intel Corporation.
#include <errno.h>
+#include <libgen.h>
#include <limits.h>
#include <stdlib.h>
#include <stdint.h>
--
2.47.3

View File

@@ -0,0 +1,42 @@
From 4c0477bdaef56314eb4df4a432be54cc49238be0 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd@kuhls.net>
Date: Mon, 1 Dec 2025 19:07:42 +0100
Subject: [PATCH] libled: provide basename if GLIBC is not avialable
If GNU basename is not avilable, define it. It is safer to use that
rather than include libgen.h with XPG basename() definition.
Suggested in
https://github.com/md-raid-utilities/ledmon/pull/272#issuecomment-3596495739
Code copied from
https://github.com/md-raid-utilities/mdadm/commit/9dbd11e091f84eb0bf9d717283774816c4c4453d
Upstream: https://github.com/md-raid-utilities/ledmon/pull/272
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
src/lib/libled_internal.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/lib/libled_internal.h b/src/lib/libled_internal.h
index 2355d30..2061fc2 100644
--- a/src/lib/libled_internal.h
+++ b/src/lib/libled_internal.h
@@ -70,4 +70,13 @@ led_status_t device_exclude_pattern_add(struct led_ctx *ctx, const char *path);
*/
void lib_log(struct led_ctx *ctx, enum led_log_level_enum loglevel, const char *buf, ...)
__attribute__ ((format (printf, 3, 4)));
+
+/*
+ * Ensure GNU basename behavior on GLIBC less systems.
+ */
+#ifndef __GLIBC__
+#define basename(path) \
+ (strrchr((path), '/') ? strrchr((path),'/') + 1 : (path))
+#endif
+
#endif
--
2.47.3