* [Buildroot] [PATCH 1/4] package/libnvme: new package
2023-09-25 20:02 [Buildroot] [PATCH 0/4] Bump udisks to version 2.10.1 Giulio Benetti
@ 2023-09-25 20:02 ` Giulio Benetti
2023-09-25 20:02 ` [Buildroot] [PATCH 2/4] package/libblockdev: bump to version 3.0.3 Giulio Benetti
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Giulio Benetti @ 2023-09-25 20:02 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Giulio Benetti, Marek Belisko
libnvme provides type definitions for NVMe specification and utilities
for nvme devices handling in Linux. libnvme is needed by udisks from
version 2.10.0+
https://github.com/linux-nvme/libnvme
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
DEVELOPERS | 1 +
package/Config.in | 1 +
package/libnvme/Config.in | 7 ++++++
package/libnvme/libnvme.hash | 3 +++
package/libnvme/libnvme.mk | 41 ++++++++++++++++++++++++++++++++++++
5 files changed, 53 insertions(+)
create mode 100644 package/libnvme/Config.in
create mode 100644 package/libnvme/libnvme.hash
create mode 100644 package/libnvme/libnvme.mk
diff --git a/DEVELOPERS b/DEVELOPERS
index 1ed5285961..8927a2653b 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1207,6 +1207,7 @@ F: package/harfbuzz/
F: package/libfuse3/
F: package/libnspr/
F: package/libnss/
+F: package/libnvme/
F: package/mali-driver/
F: package/minicom/
F: package/mmc-utils/
diff --git a/package/Config.in b/package/Config.in
index db6cf432e3..1e8b6f90c1 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1711,6 +1711,7 @@ menu "Hardware handling"
source "package/libllcp/Config.in"
source "package/libmbim/Config.in"
source "package/libnfc/Config.in"
+ source "package/libnvme/Config.in"
source "package/libpciaccess/Config.in"
source "package/libphidget/Config.in"
source "package/libpri/Config.in"
diff --git a/package/libnvme/Config.in b/package/libnvme/Config.in
new file mode 100644
index 0000000000..f298046563
--- /dev/null
+++ b/package/libnvme/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBNVME
+ bool "libnvme"
+ help
+ libnvme provides type definitions for NVMe specification
+ and utilities for nvme devices handling in Linux.
+
+ https://github.com/linux-nvme/libnvme
diff --git a/package/libnvme/libnvme.hash b/package/libnvme/libnvme.hash
new file mode 100644
index 0000000000..b869ae295a
--- /dev/null
+++ b/package/libnvme/libnvme.hash
@@ -0,0 +1,3 @@
+# Locally calculated sha256 checksums
+sha256 f73ba1edde059b2d5e7c1048ad4f895e6047bff241c94b34a7aff5894779d086 libnvme-1.5.tar.gz
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING
diff --git a/package/libnvme/libnvme.mk b/package/libnvme/libnvme.mk
new file mode 100644
index 0000000000..71885e198c
--- /dev/null
+++ b/package/libnvme/libnvme.mk
@@ -0,0 +1,41 @@
+################################################################################
+#
+# libnvme
+#
+################################################################################
+
+LIBNVME_VERSION = 1.5
+LIBNVME_SITE = $(call github,linux-nvme,libnvme,v$(LIBNVME_VERSION))
+LIBNVME_LICENSE = LGPL-2.1
+LIBNVME_LICENSE_FILES = COPYING
+LIBNVME_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+LIBNVME_DEPENDENCIES += python3
+LIBNVME_CONF_OPTS += -Dpython=enabled
+else
+LIBNVME_CONF_OPTS += -Dpython=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LIBNVME_DEPENDENCIES += openssl
+LIBNVME_CONF_OPTS += -Dopenssl=enabled
+else
+LIBNVME_CONF_OPTS += -Dopenssl=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_JSON_C),y)
+LIBNVME_DEPENDENCIES += json-c
+LIBNVME_CONF_OPTS += -Djson-c=enabled
+else
+LIBNVME_CONF_OPTS += -Djson-c=disabled
+endif
+
+ifeq ($(BR2_PACKAGE_KEYUTILS),y)
+LIBNVME_DEPENDENCIES += keyutils
+LIBNVME_CONF_OPTS += -Dkeyutils=enabled
+else
+LIBNVME_CONF_OPTS += -Dkeyutils=disabled
+endif
+
+$(eval $(meson-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Buildroot] [PATCH 2/4] package/libblockdev: bump to version 3.0.3
2023-09-25 20:02 [Buildroot] [PATCH 0/4] Bump udisks to version 2.10.1 Giulio Benetti
2023-09-25 20:02 ` [Buildroot] [PATCH 1/4] package/libnvme: new package Giulio Benetti
@ 2023-09-25 20:02 ` Giulio Benetti
2023-09-25 20:03 ` [Buildroot] [PATCH 3/4] package/udisks: bump to version 2.10.1 Giulio Benetti
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Giulio Benetti @ 2023-09-25 20:02 UTC (permalink / raw)
To: buildroot; +Cc: Eric Le Bihan, Giulio Benetti, Marek Belisko
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
---
...-replacement-function-for-strerror_l.patch | 68 +++++++++++++------
package/libblockdev/Config.in | 8 +++
package/libblockdev/libblockdev.hash | 2 +-
package/libblockdev/libblockdev.mk | 15 ++--
4 files changed, 69 insertions(+), 24 deletions(-)
diff --git a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch
index d5c9b2dfdb..01e03ac6ec 100644
--- a/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch
+++ b/package/libblockdev/0001-Provide-replacement-function-for-strerror_l.patch
@@ -1,4 +1,4 @@
-From ccf93148aa3587dd98a02e253cdc42a7af14df1e Mon Sep 17 00:00:00 2001
+From 425d9ad320746298bd52b74ea3f38ad3c0468ff0 Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Sat, 29 Aug 2020 16:04:15 +0200
Subject: [PATCH] Provide replacement function for strerror_l()
@@ -7,33 +7,36 @@ strerror_l() is not implemented in some C libraries, such as uClibc,
so let's provide a simple replacement function that falls back on
strerror().
+Upstream status: Not Applicable since it's due uclibc only
+
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-[Upstream status:
-https://github.com/storaged-project/libblockdev/pull/701]
+Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
+[Giulio: ported to version 3.0]
---
configure.ac | 2 ++
src/plugins/crypto.c | 7 +++++++
- src/utils/module.c | 8 ++++++++
- 3 files changed, 17 insertions(+)
+ src/plugins/part.c | 9 +++++++++
+ src/utils/module.c | 8 +++++++-
+ 4 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
-index c2d22c2..36aeb51 100644
+index 88fa835a..4fba7b7d 100644
--- a/configure.ac
+++ b/configure.ac
-@@ -137,6 +137,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random
+@@ -120,6 +120,8 @@ AC_CHECK_HEADERS([dlfcn.h string.h unistd.h sys/fcntl.h sys/ioctl.h linux/random
[LIBBLOCKDEV_SOFT_FAILURE([Header file $ac_header not found.])],
[])
+AC_CHECK_FUNCS([strerror_l])
+
- AC_ARG_WITH([bcache],
- AS_HELP_STRING([--with-bcache], [support bcache @<:@default=yes@:>@]),
+ AC_ARG_WITH([escrow],
+ AS_HELP_STRING([--with-escrow], [support escrow @<:@default=yes@:>@]),
[],
diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
-index f4a2e8f..c1bd7b5 100644
+index 503e1207..5896d211 100644
--- a/src/plugins/crypto.c
+++ b/src/plugins/crypto.c
-@@ -52,6 +52,13 @@
+@@ -62,6 +62,13 @@
#define UNUSED __attribute__((unused))
@@ -47,13 +50,13 @@ index f4a2e8f..c1bd7b5 100644
/**
* SECTION: crypto
* @short_description: plugin for operations with encrypted devices
-diff --git a/src/utils/module.c b/src/utils/module.c
-index 9750e24..086bec0 100644
---- a/src/utils/module.c
-+++ b/src/utils/module.c
-@@ -27,6 +27,14 @@
+diff --git a/src/plugins/part.c b/src/plugins/part.c
+index d75bb791..ba34bb93 100644
+--- a/src/plugins/part.c
++++ b/src/plugins/part.c
+@@ -26,6 +26,15 @@
- #include "module.h"
+ #include "part.h"
+#define UNUSED __attribute__((unused))
+
@@ -63,9 +66,36 @@ index 9750e24..086bec0 100644
+ return strerror(errnum);
+}
+#endif
++
+ /**
+ * SECTION: part
+ * @short_description: plugin for operations with partition tables
+diff --git a/src/utils/module.c b/src/utils/module.c
+index 6557c3ab..69dd4731 100644
+--- a/src/utils/module.c
++++ b/src/utils/module.c
+@@ -74,6 +74,13 @@ static void set_kmod_logging (struct kmod_ctx *ctx) {
+ kmod_set_log_fn (ctx, utils_kmod_log_redirect, NULL);
+ }
++#if !defined(HAVE_STRERROR_L)
++static char *strerror_l(int errnum, locale_t locale UNUSED)
++{
++ return strerror(errnum);
++}
++#endif
++
/**
- * bd_utils_module_error_quark: (skip)
+ * bd_utils_have_kernel_module:
+ * @module_name: name of the kernel module to check
+@@ -259,7 +266,6 @@ gboolean bd_utils_unload_kernel_module (const gchar *module_name, GError **error
+ return TRUE;
+ }
+
+-
+ static BDUtilsLinuxVersion detected_linux_ver;
+ static gboolean have_linux_ver = FALSE;
+
--
-2.26.2
+2.34.1
diff --git a/package/libblockdev/Config.in b/package/libblockdev/Config.in
index 4f98621bd8..527ba79e4e 100644
--- a/package/libblockdev/Config.in
+++ b/package/libblockdev/Config.in
@@ -25,6 +25,7 @@ config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
bool "crypto"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
select BR2_PACKAGE_CRYPTSETUP
+ select BR2_PACKAGE_KEYUTILS
config BR2_PACKAGE_LIBBLOCKDEV_FS
bool "filesystem"
@@ -32,6 +33,7 @@ config BR2_PACKAGE_LIBBLOCKDEV_FS
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_PARTED
+ select BR2_PACKAGE_E2FSPROGS
comment "filesystem plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
@@ -52,10 +54,16 @@ config BR2_PACKAGE_LIBBLOCKDEV_MDRAID
bool "mdraid"
select BR2_PACKAGE_LIBBYTESIZE
+config BR2_PACKAGE_LIBBLOCKDEV_NVME
+ bool "nvme"
+ select BR2_PACKAGE_LIBNVME
+
config BR2_PACKAGE_LIBBLOCKDEV_PART
bool "part"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_PARTED
+ select BR2_PACKAGE_UTIL_LINUX
+ select BR2_PACKAGE_UTIL_LINUX_LIBFDISK
comment "part plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
diff --git a/package/libblockdev/libblockdev.hash b/package/libblockdev/libblockdev.hash
index 53a3b0737f..146f36ceed 100644
--- a/package/libblockdev/libblockdev.hash
+++ b/package/libblockdev/libblockdev.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz
+sha256 0f2872830293f3e222832903d80de4c38e06a9c3ea18915b3263272a72095ea8 libblockdev-3.0.3.tar.gz
sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE
diff --git a/package/libblockdev/libblockdev.mk b/package/libblockdev/libblockdev.mk
index 36b74966fb..e117a1349c 100644
--- a/package/libblockdev/libblockdev.mk
+++ b/package/libblockdev/libblockdev.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBBLOCKDEV_VERSION = 2.26
+LIBBLOCKDEV_VERSION = 3.0.3
LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1
LIBBLOCKDEV_LICENSE = LGPL-2.1
LIBBLOCKDEV_LICENSE_FILES = LICENSE
@@ -32,14 +32,14 @@ LIBBLOCKDEV_CONF_OPTS = \
--without-vdo
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_CRYPTO),y)
-LIBBLOCKDEV_DEPENDENCIES += cryptsetup
+LIBBLOCKDEV_DEPENDENCIES += cryptsetup keyutils
LIBBLOCKDEV_CONF_OPTS += --with-crypto
else
LIBBLOCKDEV_CONF_OPTS += --without-crypto
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_FS),y)
-LIBBLOCKDEV_DEPENDENCIES += parted util-linux
+LIBBLOCKDEV_DEPENDENCIES += e2fsprogs parted util-linux
LIBBLOCKDEV_CONF_OPTS += --with-fs
else
LIBBLOCKDEV_CONF_OPTS += --without-fs
@@ -66,7 +66,7 @@ LIBBLOCKDEV_CONF_OPTS += --without-mdraid
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_PART),y)
-LIBBLOCKDEV_DEPENDENCIES += parted
+LIBBLOCKDEV_DEPENDENCIES += parted util-linux
LIBBLOCKDEV_CONF_OPTS += --with-part
else
LIBBLOCKDEV_CONF_OPTS += --without-part
@@ -79,4 +79,11 @@ else
LIBBLOCKDEV_CONF_OPTS += --without-swap
endif
+ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_NVME),y)
+LIBBLOCKDEV_DEPENDENCIES += libnvme
+LIBBLOCKDEV_CONF_OPTS += --with-nvme
+else
+LIBBLOCKDEV_CONF_OPTS += --without-nvme
+endif
+
$(eval $(autotools-package))
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread