generated from gaoyang3513/SDK_RK3288
[Mod] First commit
This commit is contained in:
@ -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
|
||||
|
||||
72
package/libblockdev/Config.in
Normal file
72
package/libblockdev/Config.in
Normal 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
|
||||
3
package/libblockdev/libblockdev.hash
Normal file
3
package/libblockdev/libblockdev.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 c4c0e10b35ac632bda8ce6d200b5601184984dec387fe59185921eb42432e069 libblockdev-2.26.tar.gz
|
||||
sha256 97bdc721d875501b6243a456333fdfdb1ab64d31c4da2554de845caf4674b946 LICENSE
|
||||
82
package/libblockdev/libblockdev.mk
Normal file
82
package/libblockdev/libblockdev.mk
Normal 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))
|
||||
Reference in New Issue
Block a user