mirror of
https://git.yoctoproject.org/poky
synced 2026-03-19 13:49:41 +01:00
icu: upgrade 75-1 -> 76-1
License-Update: add JSON parsing library under MIT license.
Drop backported patches which have been merged into the new version.
ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch - db70adaddc
fix-install-manx.patch
(From OE-Core rev: ef2bd18dd1db7e5f01db76889933bfdbb5415aaf)
Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
2957280fe9
commit
315588665f
@@ -1,72 +0,0 @@
|
||||
From db70adaddcfa8050db6a69cdfef080a7f1423ad7 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Alberto Lopez Perez <clopez@igalia.com>
|
||||
Date: Mon, 1 Jul 2024 22:15:18 +0100
|
||||
Subject: [PATCH] ICU-22813 Rise the size of the buffers used for the command
|
||||
strings at pkgdata
|
||||
|
||||
The tool pkgdata uses snprintf() to build the strings of the commands that
|
||||
will execute later during the install process. But the maximum size of this
|
||||
buffers is not enough when there is a long path.
|
||||
|
||||
This has caused issues on some CI systems that use very long paths, causing
|
||||
the install process to produce a wrong result.
|
||||
|
||||
The maximum path on Linux is 4096 (defined as PATH_MAX at <linux/limits.h>)
|
||||
So the size of SMALL_BUFFER_MAX_SIZE should be 4096 to avoid errors related
|
||||
to truncated paths.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/unicode-org/icu/pull/3058]
|
||||
|
||||
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
|
||||
---
|
||||
tools/pkgdata/pkgdata.cpp | 6 +++---
|
||||
tools/toolutil/pkg_genc.h | 5 ++---
|
||||
2 files changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp
|
||||
index c2ac112..8d08c85 100644
|
||||
--- a/tools/pkgdata/pkgdata.cpp
|
||||
+++ b/tools/pkgdata/pkgdata.cpp
|
||||
@@ -1134,7 +1134,7 @@ static int32_t pkg_createSymLinks(const char *targetDir, UBool specialHandling)
|
||||
|
||||
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,
|
||||
sizeof(cmd),
|
||||
@@ -1205,7 +1205,7 @@ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir,
|
||||
|
||||
static int32_t pkg_installCommonMode(const char *installDir, const char *fileName) {
|
||||
int32_t result = 0;
|
||||
- char cmd[SMALL_BUFFER_MAX_SIZE] = "";
|
||||
+ char cmd[LARGE_BUFFER_MAX_SIZE] = "";
|
||||
|
||||
if (!T_FileStream_file_exists(installDir)) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
@@ -1237,7 +1237,7 @@ static int32_t pkg_installCommonMode(const char *installDir, const char *fileNam
|
||||
#endif
|
||||
static int32_t pkg_installFileMode(const char *installDir, const char *srcDir, const char *fileListName) {
|
||||
int32_t result = 0;
|
||||
- char cmd[SMALL_BUFFER_MAX_SIZE] = "";
|
||||
+ char cmd[LARGE_BUFFER_MAX_SIZE] = "";
|
||||
|
||||
if (!T_FileStream_file_exists(installDir)) {
|
||||
UErrorCode status = U_ZERO_ERROR;
|
||||
diff --git a/tools/toolutil/pkg_genc.h b/tools/toolutil/pkg_genc.h
|
||||
index 2dd1b45..f811fe5 100644
|
||||
--- a/tools/toolutil/pkg_genc.h
|
||||
+++ b/tools/toolutil/pkg_genc.h
|
||||
@@ -59,9 +59,8 @@
|
||||
#define PKGDATA_FILE_SEP_STRING U_FILE_SEP_STRING
|
||||
#endif
|
||||
|
||||
-#define LARGE_BUFFER_MAX_SIZE 2048
|
||||
-#define SMALL_BUFFER_MAX_SIZE 512
|
||||
-#define SMALL_BUFFER_FLAG_NAMES 32
|
||||
+#define LARGE_BUFFER_MAX_SIZE 16384
|
||||
+#define SMALL_BUFFER_MAX_SIZE 4096
|
||||
#define BUFFER_PADDING_SIZE 20
|
||||
|
||||
/** End platform defines **/
|
||||
@@ -1,53 +0,0 @@
|
||||
From 2d544cac238eccbfc32cafc9502ddf6e00994211 Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@intel.com>
|
||||
Date: Fri, 9 Oct 2015 17:50:41 +0100
|
||||
Subject: [PATCH] icu: fix install race
|
||||
|
||||
The generic recursive target calls target-local so also adding it to the
|
||||
dependency list results in races due to install-local being executed twice in
|
||||
parallel. For example, install-manx can fail if the two install processes race
|
||||
and one process tries to chown a file that the other process has just deleted.
|
||||
|
||||
Also install-manx should be a phony target, and for clarity use $^ instead of $?
|
||||
in the install command.
|
||||
|
||||
Upstream-Status: Backport [0f022dca90cfe6bbf6a74f605dcaf1b489d58a9b]
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
---
|
||||
Makefile.in | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 8366f01..79b91c9 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -77,7 +77,7 @@ EXTRA_DATA =
|
||||
|
||||
## List of phony targets
|
||||
.PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \
|
||||
-install-recursive clean clean-local clean-recursive distclean \
|
||||
+install-recursive install-manx clean clean-local clean-recursive distclean \
|
||||
distclean-local distclean-recursive doc dist dist-local dist-recursive \
|
||||
check check-local check-recursive clean-recursive-with-twist install-icu \
|
||||
doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \
|
||||
@@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist
|
||||
|
||||
## List of standard targets
|
||||
all: all-local all-recursive
|
||||
-install: install-recursive install-local
|
||||
+install: install-recursive
|
||||
clean: clean-recursive-with-twist clean-local
|
||||
-distclean : distclean-recursive distclean-local
|
||||
+distclean : distclean-recursive
|
||||
dist: dist-recursive
|
||||
check: all check-recursive
|
||||
check-recursive: all
|
||||
@@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h
|
||||
install-manx: $(MANX_FILES)
|
||||
$(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION)
|
||||
ifneq ($(MANX_FILES),)
|
||||
- $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION)
|
||||
+ $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION)
|
||||
endif
|
||||
|
||||
config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in
|
||||
@@ -92,7 +92,7 @@ FILES:libicuio = "${libdir}/libicuio.so.*"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://../LICENSE;md5=9cf7c317c3f2a0962437465a9022dbe9"
|
||||
LIC_FILES_CHKSUM = "file://../LICENSE;md5=7c364a0debecf16d5a13de2b7f1aaabd"
|
||||
|
||||
def icu_download_version(d):
|
||||
pvsplit = d.getVar('PV').split('-')
|
||||
@@ -118,16 +118,14 @@ DATA_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV
|
||||
SRC_URI = "${BASE_SRC_URI};name=code \
|
||||
${DATA_SRC_URI};name=data \
|
||||
file://filter.json \
|
||||
file://fix-install-manx.patch \
|
||||
file://0001-icu-Added-armeb-support.patch \
|
||||
file://ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-target = "\
|
||||
file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \
|
||||
"
|
||||
SRC_URI[code.sha256sum] = "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef"
|
||||
SRC_URI[data.sha256sum] = "a5104212dc317a64f9b035723ea706f2f4fd5a0f37b7923fae7aeb9d1d0061b1"
|
||||
SRC_URI[code.sha256sum] = "dfacb46bfe4747410472ce3e1144bf28a102feeaa4e3875bac9b4c6cf30f4f3e"
|
||||
SRC_URI[data.sha256sum] = "133ae58a67d68b46f7296822904cd3c30126a0b4b2f65f0f905e7f47c0ef9e47"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)"
|
||||
GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases"
|
||||
Reference in New Issue
Block a user