icu: increase pkgdata command buffer size

Mitigate pathname truncation when installing in a project
with a very long pathname.

(From OE-Core rev: 6cb98cbd789d53768c5d26729f10655762114e6e)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Joe Slater
2021-08-25 15:13:59 -07:00
committed by Richard Purdie
parent b89bb2651d
commit 9b2c41c6a9
2 changed files with 47 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
From ab6b1acdeed76899f8227c38ab7e7675c7673ff1 Mon Sep 17 00:00:00 2001
From: Joe Slater <joe.slater@windriver.com>
Date: Thu, 5 Aug 2021 09:23:48 -0700
Subject: [PATCH 1/1] pkgdata: increase command buffer size
Make cmd LARGE_BUFFER_SIZE to avoid pathname truncation
when install paths are longer than about 150 characters.
https://unicode-org.atlassian.net/browse/ICU-21702 has been
created to address this issue and error reporting.
Upstream-Status: Submitted [ICU-21702 opened]
Signed-off-by: Joe Slater <joe.slater@windriver.com>
---
source/tools/pkgdata/pkgdata.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/tools/pkgdata/pkgdata.cpp b/source/tools/pkgdata/pkgdata.cpp
index 5ab682e..d4b70ef 100644
--- a/tools/pkgdata/pkgdata.cpp
+++ b/tools/pkgdata/pkgdata.cpp
@@ -1131,17 +1131,17 @@ normal_symlink_mode:
static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) {
int32_t result = 0;
- char cmd[SMALL_BUFFER_MAX_SIZE];
+ char cmd[LARGE_BUFFER_MAX_SIZE];
auto ret = snprintf(cmd,
- SMALL_BUFFER_MAX_SIZE,
+ LARGE_BUFFER_MAX_SIZE,
"cd %s && %s %s %s%s%s",
targetDir,
pkgDataFlags[INSTALL_CMD],
libFileNames[LIB_FILE_VERSION],
installDir, PKGDATA_FILE_SEP_STRING, libFileNames[LIB_FILE_VERSION]);
(void)ret;
- U_ASSERT(0 <= ret && ret < SMALL_BUFFER_MAX_SIZE);
+ U_ASSERT(0 <= ret && ret < LARGE_BUFFER_MAX_SIZE);
result = runCommand(cmd);
--
2.29.2

View File

@@ -107,6 +107,7 @@ SRC_URI = "${BASE_SRC_URI};name=code \
file://filter.json \
file://fix-install-manx.patch \
file://0001-icu-Added-armeb-support.patch \
file://0001-pkgdata-increase-command-buffer-size.patch \
"
SRC_URI_append_class-target = "\