diff mbox series

[2/4] package/libblockdev: bump to version 3.0.3

Message ID 20230925200301.2790925-3-giulio.benetti@benettiengineering.com
State Accepted
Headers show
Series Bump udisks to version 2.10.1 | expand

Commit Message

Giulio Benetti Sept. 25, 2023, 8:02 p.m. UTC
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 mbox series

Patch

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))