[Mod] First commit

This commit is contained in:
2022-10-31 22:18:58 +08:00
commit 1c8a3d9709
13090 changed files with 526733 additions and 0 deletions

View File

@ -0,0 +1,71 @@
From ccf93148aa3587dd98a02e253cdc42a7af14df1e 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()
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().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Upstream status:
https://github.com/storaged-project/libblockdev/pull/701]
---
configure.ac | 2 ++
src/plugins/crypto.c | 7 +++++++
src/utils/module.c | 8 ++++++++
3 files changed, 17 insertions(+)
diff --git a/configure.ac b/configure.ac
index c2d22c2..36aeb51 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
[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@:>@]),
[],
diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c
index f4a2e8f..c1bd7b5 100644
--- a/src/plugins/crypto.c
+++ b/src/plugins/crypto.c
@@ -52,6 +52,13 @@
#define UNUSED __attribute__((unused))
+#if !defined(HAVE_STRERROR_L)
+static char *strerror_l(int errnum, locale_t locale UNUSED)
+{
+ return strerror(errnum);
+}
+#endif
+
/**
* 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 @@
#include "module.h"
+#define UNUSED __attribute__((unused))
+
+#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)
--
2.26.2

View File

@ -0,0 +1,72 @@
config BR2_PACKAGE_LIBBLOCKDEV
bool "libblockdev"
depends on !BR2_STATIC_LIBS # kmod
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_USE_MMU # libglib2
depends on BR2_PACKAGE_HAS_UDEV
select BR2_PACKAGE_KMOD
select BR2_PACKAGE_LIBGLIB2
help
libblockdev is a C library supporting GObject introspection
for manipulation of block devices. It has a plugin-based
architecture where each technology (like LVM, Btrfs, MD RAID,
Swap,...) is implemented in a separate plugin, possibly with
multiple implementations.
https://github.com/storaged-project/libblockdev/
if BR2_PACKAGE_LIBBLOCKDEV
comment "plugins"
config BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
bool "crypto"
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # cryptsetup -> json-c
select BR2_PACKAGE_CRYPTSETUP
config BR2_PACKAGE_LIBBLOCKDEV_FS
bool "filesystem"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBMOUNT
select BR2_PACKAGE_PARTED
comment "filesystem plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_LOOP
bool "loop"
config BR2_PACKAGE_LIBBLOCKDEV_LVM2
bool "lvm2"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_PARTED
select BR2_PACKAGE_LVM2
comment "lvm2 support needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_MDRAID
bool "mdraid"
select BR2_PACKAGE_LIBBYTESIZE
config BR2_PACKAGE_LIBBLOCKDEV_PART
bool "part"
depends on BR2_ENABLE_LOCALE # parted
select BR2_PACKAGE_PARTED
comment "part plugin needs a toolchain w/ locale"
depends on !BR2_ENABLE_LOCALE
config BR2_PACKAGE_LIBBLOCKDEV_SWAP
bool "swap"
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
endif
comment "libblockdev needs udev /dev management and a toolchain w/ wchar, threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_PACKAGE_HAS_UDEV || BR2_STATIC_LIBS || \
!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS

View File

@ -0,0 +1,3 @@
# Locally calculated
sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz
sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE

View File

@ -0,0 +1,82 @@
################################################################################
#
# libblockdev
#
################################################################################
LIBBLOCKDEV_VERSION = 2.26
LIBBLOCKDEV_SITE = https://github.com/storaged-project/libblockdev/releases/download/$(LIBBLOCKDEV_VERSION)-1
LIBBLOCKDEV_LICENSE = LGPL-2.1
LIBBLOCKDEV_LICENSE_FILES = LICENSE
LIBBLOCKDEV_INSTALL_STAGING = YES
LIBBLOCKDEV_DEPENDENCIES = host-pkgconf libglib2 kmod udev
# 0001-Provide-replacement-function-for-strerror_l.patch
LIBBLOCKDEV_AUTORECONF = YES
LIBBLOCKDEV_CONF_OPTS = \
--disable-introspection \
--with-loop \
--without-bcache \
--without-btrfs \
--without-dm \
--without-dmraid \
--without-escrow \
--without-kbd \
--without-lvm_dbus \
--without-mpath \
--without-nvdimm \
--without-python2 \
--without-python3 \
--without-s390 \
--without-tools \
--without-vdo
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_CRYPTO),y)
LIBBLOCKDEV_DEPENDENCIES += cryptsetup
LIBBLOCKDEV_CONF_OPTS += --with-crypto
else
LIBBLOCKDEV_CONF_OPTS += --without-crypto
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_FS),y)
LIBBLOCKDEV_DEPENDENCIES += parted util-linux
LIBBLOCKDEV_CONF_OPTS += --with-fs
else
LIBBLOCKDEV_CONF_OPTS += --without-fs
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LOOP),y)
LIBBLOCKDEV_CONF_OPTS += --with-loop
else
LIBBLOCKDEV_CONF_OPTS += --without-loop
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_LVM2),y)
LIBBLOCKDEV_DEPENDENCIES += lvm2 parted
LIBBLOCKDEV_CONF_OPTS += --with-lvm
else
LIBBLOCKDEV_CONF_OPTS += --without-lvm
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_MDRAID),y)
LIBBLOCKDEV_DEPENDENCIES += libbytesize
LIBBLOCKDEV_CONF_OPTS += --with-mdraid
else
LIBBLOCKDEV_CONF_OPTS += --without-mdraid
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_PART),y)
LIBBLOCKDEV_DEPENDENCIES += parted
LIBBLOCKDEV_CONF_OPTS += --with-part
else
LIBBLOCKDEV_CONF_OPTS += --without-part
endif
ifeq ($(BR2_PACKAGE_LIBBLOCKDEV_SWAP),y)
LIBBLOCKDEV_DEPENDENCIES += util-linux
LIBBLOCKDEV_CONF_OPTS += --with-swap
else
LIBBLOCKDEV_CONF_OPTS += --without-swap
endif
$(eval $(autotools-package))