@@ -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
@@ -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
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz
+sha256 0f2872830293f3e222832903d80de4c38e06a9c3ea18915b3263272a72095ea8 libblockdev-3.0.3.tar.gz
sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE
@@ -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))
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(-)