package/dt-utils: new package

Add two upstreamable patches for this package to fix uClibc
and musl builds.

Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017.08.x
Marcin Niestroj 2017-06-23 12:37:57 +02:00 committed by Thomas Petazzoni
parent e4768669a7
commit 9093a64bcf
6 changed files with 124 additions and 0 deletions

View File

@ -1069,6 +1069,7 @@ N: Marcin Niestroj <m.niestroj@grinn-global.com>
F: board/grinn/
F: configs/grinn_*
F: package/argparse/
F: package/dt-utils/
F: package/easydbus/
F: package/lua-flu/
F: package/luaossl/

View File

@ -383,6 +383,7 @@ endmenu
source "package/devmem2/Config.in"
source "package/dmidecode/Config.in"
source "package/dmraid/Config.in"
source "package/dt-utils/Config.in"
source "package/dtv-scan-tables/Config.in"
source "package/dvb-apps/Config.in"
source "package/dvbsnoop/Config.in"

View File

@ -0,0 +1,58 @@
From 3d229cc0f8dc81335c53b1f7471ef82ef2f6e570 Mon Sep 17 00:00:00 2001
From: Marcin Niestroj <m.niestroj@grinn-global.com>
Date: Fri, 23 Jun 2017 11:11:04 +0200
Subject: [PATCH] common: Rename strlcpy to DT_strlcpy
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
strlcpy function is defined in uClibc library, causing "static
declaration of strlcpy follows non-static declaration" build
errors.
Rename internal strlcpy function to DT_strlcpy to avoid conflicts.
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
---
src/dt/common.h | 4 ++--
src/libdt.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/dt/common.h b/src/dt/common.h
index f6bad44..992e28f 100644
--- a/src/dt/common.h
+++ b/src/dt/common.h
@@ -168,7 +168,7 @@ static inline char *barebox_asprintf(const char *fmt, ...)
#define basprintf(fmt, arg...) barebox_asprintf(fmt, ##arg)
/**
- * strlcpy - Copy a %NUL terminated string into a sized buffer
+ * DT_strlcpy - Copy a %NUL terminated string into a sized buffer
* @dest: Where to copy the string to
* @src: Where to copy the string from
* @size: size of destination buffer
@@ -178,7 +178,7 @@ static inline char *barebox_asprintf(const char *fmt, ...)
* of course, the buffer size is zero). It does not pad
* out the result like strncpy() does.
*/
-static inline size_t strlcpy(char *dest, const char *src, size_t size)
+static inline size_t DT_strlcpy(char *dest, const char *src, size_t size)
{
size_t ret = strlen(src);
diff --git a/src/libdt.c b/src/libdt.c
index 4db5160..3adeed2 100644
--- a/src/libdt.c
+++ b/src/libdt.c
@@ -1503,7 +1503,7 @@ int of_modalias_node(struct device_node *node, char *modalias, int len)
if (!compatible || strlen(compatible) > cplen)
return -ENODEV;
p = strchr(compatible, ',');
- strlcpy(modalias, p ? p + 1 : compatible, len);
+ DT_strlcpy(modalias, p ? p + 1 : compatible, len);
return 0;
}
--
2.13.1

View File

@ -0,0 +1,38 @@
From b8bc4e83bf447b6330ece54e94a1684d12ecdd0b Mon Sep 17 00:00:00 2001
From: Marcin Niestroj <m.niestroj@grinn-global.com>
Date: Fri, 23 Jun 2017 12:00:30 +0200
Subject: [PATCH] common: Include sys/types.h header
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Build with musl library fails with following error:
In file included from src/crypto/sha1.c:21:0:
./src/digest.h:95:10: error: unknown type name ulong
ulong start, ulong size);
...
Fix that by including sys/types.h header in common.h, so ulong type
is defined with musl library.
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
---
src/dt/common.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/dt/common.h b/src/dt/common.h
index 992e28f..1425c53 100644
--- a/src/dt/common.h
+++ b/src/dt/common.h
@@ -13,6 +13,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <sys/types.h>
#include <mtd/mtd-abi.h>
--
2.13.1

View File

@ -0,0 +1,11 @@
config BR2_PACKAGE_DT_UTILS
bool "dt-utils"
depends on BR2_PACKAGE_HAS_UDEV
help
Tools for flattened device-tree dumping and barebox state
manipulation.
https://git.pengutronix.de/cgit/tools/dt-utils/
comment "dt-utils needs udev /dev management"
depends on !BR2_PACKAGE_HAS_UDEV

View File

@ -0,0 +1,15 @@
################################################################################
#
# dt-utils
#
################################################################################
DT_UTILS_VERSION = v2017.03.0
DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils
DT_UTILS_SITE_METHOD = git
DT_UTILS_LICENSE = GPL-2.0
DT_UTILS_LICENSE_FILES = COPYING
DT_UTILS_DEPENDENCIES = udev
DT_UTILS_AUTORECONF = YES
$(eval $(autotools-package))