forked from buildroot/buildroot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
package/libnvme: bump to version 1.6
Add 2 upstream patches, one to avoid build failure due to different libc ioctl() prototype and one to avoid link conflict due to test unit enabled by default. Signed-off-by: Giulio Benetti <[email protected]> Signed-off-by: Arnout Vandecappelle <[email protected]>
- Loading branch information
1 parent
39e092a
commit 087e2ce
Showing
4 changed files
with
121 additions
and
2 deletions.
There are no files selected for viewing
70 changes: 70 additions & 0 deletions
70
package/libnvme/0001-test-handle-POSIX-ioctl-prototype.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
From ca47ba3119365eafac0ab25a86cab9d9a1b29bd4 Mon Sep 17 00:00:00 2001 | ||
From: Sam James <[email protected]> | ||
Date: Sat, 30 Sep 2023 06:38:53 +0100 | ||
Subject: [PATCH] test: handle POSIX ioctl prototype | ||
|
||
glibc has the following prototype for ioctl: int ioctl(int fd, unsigned long request, ...) | ||
POSIX (inc. musl) has the following for ioctl: int ioctl(int fd, int request, ...) | ||
|
||
Check which prototype is used in <sys/ioctl.h> to avoid a conflict and conditionally | ||
define the right one for the system. | ||
|
||
Upstream: https://github.com/linux-nvme/libnvme/commit/ca47ba3119365eafac0ab25a86cab9d9a1b29bd4 | ||
|
||
Bug: https://bugs.gentoo.org/914921 | ||
Signed-off-by: Sam James <[email protected]> | ||
Signed-off-by: Giulio Benetti <[email protected]> | ||
--- | ||
meson.build | 10 ++++++++++ | ||
test/ioctl/mock.c | 6 +++++- | ||
2 files changed, 15 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/meson.build b/meson.build | ||
index 6fcf1da..2c979cc 100644 | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -230,6 +230,16 @@ conf.set( | ||
), | ||
description: 'Is network address and service translation available' | ||
) | ||
+conf.set( | ||
+ 'HAVE_GLIBC_IOCTL', | ||
+ cc.compiles( | ||
+ '''#include <sys/ioctl.h> | ||
+ int ioctl(int fd, unsigned long request, ...); | ||
+ ''', | ||
+ name: 'ioctl has glibc-style prototype' | ||
+ ), | ||
+ description: 'Is ioctl the glibc interface (rather than POSIX)' | ||
+) | ||
|
||
if cc.has_function_attribute('fallthrough') | ||
conf.set('fallthrough', '__attribute__((__fallthrough__))') | ||
diff --git a/test/ioctl/mock.c b/test/ioctl/mock.c | ||
index e917244..5d2ac94 100644 | ||
--- a/test/ioctl/mock.c | ||
+++ b/test/ioctl/mock.c | ||
@@ -114,7 +114,11 @@ void end_mock_cmds(void) | ||
} \ | ||
}) | ||
|
||
+#ifdef HAVE_GLIBC_IOCTL | ||
int ioctl(int fd, unsigned long request, ...) | ||
+#else | ||
+int ioctl(int fd, int request, ...) | ||
+#endif | ||
{ | ||
struct mock_cmds *mock_cmds; | ||
bool result64; | ||
@@ -141,7 +145,7 @@ int ioctl(int fd, unsigned long request, ...) | ||
result64 = true; | ||
break; | ||
default: | ||
- fail("unexpected %s %lu", __func__, request); | ||
+ fail("unexpected %s %lu", __func__, (unsigned long) request); | ||
} | ||
check(mock_cmds->remaining_cmds, | ||
"unexpected %s command", mock_cmds->name); | ||
-- | ||
2.34.1 | ||
|
46 changes: 46 additions & 0 deletions
46
package/libnvme/0002-meson-make-building-tests-conditional.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
From ff742e792725c316ba6de0800188bf36751bd1d1 Mon Sep 17 00:00:00 2001 | ||
From: Sam James <[email protected]> | ||
Date: Sat, 30 Sep 2023 06:43:39 +0100 | ||
Subject: [PATCH] meson: make building tests conditional | ||
|
||
Just like we do for docs. | ||
|
||
Upstream: https://github.com/linux-nvme/libnvme/commit/ff742e792725c316ba6de0800188bf36751bd1d1 | ||
|
||
Signed-off-by: Sam James <[email protected]> | ||
Signed-off-by: Giulio Benetti <[email protected]> | ||
--- | ||
meson.build | 4 +++- | ||
meson_options.txt | 1 + | ||
2 files changed, 4 insertions(+), 1 deletion(-) | ||
|
||
diff --git a/meson.build b/meson.build | ||
index 2c979cc..a9263b5 100644 | ||
--- a/meson.build | ||
+++ b/meson.build | ||
@@ -273,7 +273,9 @@ subdir('internal') | ||
subdir('ccan') | ||
subdir('src') | ||
subdir('libnvme') | ||
-subdir('test') | ||
+if get_option('tests') | ||
+ subdir('test') | ||
+endif | ||
subdir('examples') | ||
subdir('doc') | ||
|
||
diff --git a/meson_options.txt b/meson_options.txt | ||
index a1ed79f..251ae11 100644 | ||
--- a/meson_options.txt | ||
+++ b/meson_options.txt | ||
@@ -6,6 +6,7 @@ option('rstdir', type : 'string', value : '', description : 'directory for ReST | ||
|
||
option('docs', type : 'combo', choices : ['false', 'html', 'man', 'rst', 'all'], description : 'install documentation') | ||
option('docs-build', type : 'boolean', value : false, description : 'build documentation') | ||
+option('tests', type : 'boolean', value : true, description : 'build tests') | ||
|
||
option('python', type : 'feature', value: 'auto', description : 'Generate libnvme python bindings') | ||
option('openssl', type : 'feature', value: 'auto', description : 'OpenSSL support') | ||
-- | ||
2.34.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
# Locally calculated sha256 checksums | ||
sha256 f73ba1edde059b2d5e7c1048ad4f895e6047bff241c94b34a7aff5894779d086 libnvme-1.5.tar.gz | ||
sha256 0dd8ba8b655abe78c09833edb66632aa6bee82aebf117dd252ded968deaaeec7 libnvme-1.6.tar.gz | ||
sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters