summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2024-11-22 09:28:19 -0800
committerSam James <sam@gentoo.org>2024-11-22 18:44:53 +0000
commit1ae04cdfda5f7923c42ddf21e4267b12f7ed6135 (patch)
tree441c42acf970c4b00f9f1e9df316988cd1d417c9 /sys-fs/lvm2
parentapp-emacs/macrostep: add missing compat dep (diff)
downloadgentoo-1ae04cdfda5f7923c42ddf21e4267b12f7ed6135.tar.gz
gentoo-1ae04cdfda5f7923c42ddf21e4267b12f7ed6135.tar.bz2
gentoo-1ae04cdfda5f7923c42ddf21e4267b12f7ed6135.zip
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@riseup.net> Closes: https://github.com/gentoo/gentoo/pull/39416 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'sys-fs/lvm2')
-rw-r--r--sys-fs/lvm2/files/lvm2-2.03.22-basename-musl.patch34
-rw-r--r--sys-fs/lvm2/lvm2-2.03.22-r7.ebuild (renamed from sys-fs/lvm2/lvm2-2.03.22-r6.ebuild)1
2 files changed, 35 insertions, 0 deletions
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 <zkabelac@redhat.com>
+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 <raj.khem@gmail.com>
+---
+ 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
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() {