commit:     1ae04cdfda5f7923c42ddf21e4267b12f7ed6135
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Nov 22 17:28:19 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Nov 22 18:44:53 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1ae04cdf

sys-fs/lvm2: fix build with musl

Fixes implicit declaration of function basename on musl systems.

[sam: Add revbump for modern C fixes.]

Closes: https://bugs.gentoo.org/937239
Upstream-Commit: 
https://github.com/lvmteam/lvm2/commit/f98d2ffe8753895c84160a7abce4223bd127cd9e
Signed-off-by: orbea <orbea <AT> riseup.net>
Closes: https://github.com/gentoo/gentoo/pull/39416
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-fs/lvm2/files/lvm2-2.03.22-basename-musl.patch | 34 ++++++++++++++++++++++
 ...m2-2.03.22-r6.ebuild => lvm2-2.03.22-r7.ebuild} |  1 +
 2 files changed, 35 insertions(+)

diff --git a/sys-fs/lvm2/files/lvm2-2.03.22-basename-musl.patch 
b/sys-fs/lvm2/files/lvm2-2.03.22-basename-musl.patch
new file mode 100644
index 000000000000..2dd9f8ff524c
--- /dev/null
+++ b/sys-fs/lvm2/files/lvm2-2.03.22-basename-musl.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/937239
+https://github.com/lvmteam/lvm2/commit/f98d2ffe8753895c84160a7abce4223bd127cd9e
+
+From f98d2ffe8753895c84160a7abce4223bd127cd9e Mon Sep 17 00:00:00 2001
+From: Zdenek Kabelac <[email protected]>
+Date: Wed, 27 Mar 2024 00:28:14 +0100
+Subject: [PATCH] device_id: use dm_basename
+
+Avoid problems for other libc like muslc and use dm_basename.
+
+Prototype for basename has been removed from string.h from latest musl [1]
+compilers e.g. clang-18 flags the absense of prototype as error. therefore
+include libgen.h for providing it.
+
+[1] 
https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
+
+Reported-by: Khem Raj <[email protected]>
+---
+ lib/device/device_id.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/device/device_id.c b/lib/device/device_id.c
+index 7d67a1cb7..200d39432 100644
+--- a/lib/device/device_id.c
++++ b/lib/device/device_id.c
+@@ -740,7 +740,7 @@ static int _dev_read_sys_serial(struct cmd_context *cmd, 
struct device *dev,
+               int ret;
+ 
+               /* /dev/vda to vda */
+-              base = basename(devname);
++              base = dm_basename(devname);
+ 
+               /* vda1 to vda */
+               for (i = 0; i < strlen(base); i++) {

diff --git a/sys-fs/lvm2/lvm2-2.03.22-r6.ebuild 
b/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild
similarity index 99%
rename from sys-fs/lvm2/lvm2-2.03.22-r6.ebuild
rename to sys-fs/lvm2/lvm2-2.03.22-r7.ebuild
index 28276a453367..ac084f2eed9c 100644
--- a/sys-fs/lvm2/lvm2-2.03.22-r6.ebuild
+++ b/sys-fs/lvm2/lvm2-2.03.22-r7.ebuild
@@ -74,6 +74,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.03.22-autoconf-2.72-egrep.patch
        "${FILESDIR}"/${PN}-2.03.22-thin-version-checking.patch
        "${FILESDIR}"/${PN}-2.03.22-thin-autodetect.patch
+       "${FILESDIR}"/${PN}-2.03.22-basename-musl.patch
 )
 
 pkg_setup() {

Reply via email to