diff options
| author | Jason Schonberg <schonm@gmail.com> | 2024-11-19 13:44:11 -0500 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-11-22 16:53:37 +0000 |
| commit | 315588665f9a15f130b770c7a69ecfc37a9edf9d (patch) | |
| tree | fa9ae803dc083778c4b04ef4a8d86370792a3b66 /meta | |
| parent | 2957280fe9121942b9507f2c3e467f5ac814c445 (diff) | |
| download | poky-315588665f9a15f130b770c7a69ecfc37a9edf9d.tar.gz | |
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 - https://github.com/unicode-org/icu/pull/3058/commits/db70adaddcfa8050db6a69cdfef080a7f1423ad7
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>
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch | 72 | ||||
| -rw-r--r-- | meta/recipes-support/icu/icu/fix-install-manx.patch | 53 | ||||
| -rw-r--r-- | meta/recipes-support/icu/icu_76-1.bb (renamed from meta/recipes-support/icu/icu_75-1.bb) | 8 |
3 files changed, 3 insertions, 130 deletions
diff --git a/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch b/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch deleted file mode 100644 index 5b97350e6f..0000000000 --- a/meta/recipes-support/icu/icu/ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | From db70adaddcfa8050db6a69cdfef080a7f1423ad7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Carlos Alberto Lopez Perez <clopez@igalia.com> | ||
| 3 | Date: Mon, 1 Jul 2024 22:15:18 +0100 | ||
| 4 | Subject: [PATCH] ICU-22813 Rise the size of the buffers used for the command | ||
| 5 | strings at pkgdata | ||
| 6 | |||
| 7 | The tool pkgdata uses snprintf() to build the strings of the commands that | ||
| 8 | will execute later during the install process. But the maximum size of this | ||
| 9 | buffers is not enough when there is a long path. | ||
| 10 | |||
| 11 | This has caused issues on some CI systems that use very long paths, causing | ||
| 12 | the install process to produce a wrong result. | ||
| 13 | |||
| 14 | The maximum path on Linux is 4096 (defined as PATH_MAX at <linux/limits.h>) | ||
| 15 | So the size of SMALL_BUFFER_MAX_SIZE should be 4096 to avoid errors related | ||
| 16 | to truncated paths. | ||
| 17 | |||
| 18 | Upstream-Status: Backport [https://github.com/unicode-org/icu/pull/3058] | ||
| 19 | |||
| 20 | Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com> | ||
| 21 | --- | ||
| 22 | tools/pkgdata/pkgdata.cpp | 6 +++--- | ||
| 23 | tools/toolutil/pkg_genc.h | 5 ++--- | ||
| 24 | 2 files changed, 5 insertions(+), 6 deletions(-) | ||
| 25 | |||
| 26 | diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp | ||
| 27 | index c2ac112..8d08c85 100644 | ||
| 28 | --- a/tools/pkgdata/pkgdata.cpp | ||
| 29 | +++ b/tools/pkgdata/pkgdata.cpp | ||
| 30 | @@ -1134,7 +1134,7 @@ static int32_t pkg_createSymLinks(const char *targetDir, UBool specialHandling) | ||
| 31 | |||
| 32 | static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) { | ||
| 33 | int32_t result = 0; | ||
| 34 | - char cmd[SMALL_BUFFER_MAX_SIZE]; | ||
| 35 | + char cmd[LARGE_BUFFER_MAX_SIZE]; | ||
| 36 | |||
| 37 | auto ret = snprintf(cmd, | ||
| 38 | sizeof(cmd), | ||
| 39 | @@ -1205,7 +1205,7 @@ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, | ||
| 40 | |||
| 41 | static int32_t pkg_installCommonMode(const char *installDir, const char *fileName) { | ||
| 42 | int32_t result = 0; | ||
| 43 | - char cmd[SMALL_BUFFER_MAX_SIZE] = ""; | ||
| 44 | + char cmd[LARGE_BUFFER_MAX_SIZE] = ""; | ||
| 45 | |||
| 46 | if (!T_FileStream_file_exists(installDir)) { | ||
| 47 | UErrorCode status = U_ZERO_ERROR; | ||
| 48 | @@ -1237,7 +1237,7 @@ static int32_t pkg_installCommonMode(const char *installDir, const char *fileNam | ||
| 49 | #endif | ||
| 50 | static int32_t pkg_installFileMode(const char *installDir, const char *srcDir, const char *fileListName) { | ||
| 51 | int32_t result = 0; | ||
| 52 | - char cmd[SMALL_BUFFER_MAX_SIZE] = ""; | ||
| 53 | + char cmd[LARGE_BUFFER_MAX_SIZE] = ""; | ||
| 54 | |||
| 55 | if (!T_FileStream_file_exists(installDir)) { | ||
| 56 | UErrorCode status = U_ZERO_ERROR; | ||
| 57 | diff --git a/tools/toolutil/pkg_genc.h b/tools/toolutil/pkg_genc.h | ||
| 58 | index 2dd1b45..f811fe5 100644 | ||
| 59 | --- a/tools/toolutil/pkg_genc.h | ||
| 60 | +++ b/tools/toolutil/pkg_genc.h | ||
| 61 | @@ -59,9 +59,8 @@ | ||
| 62 | #define PKGDATA_FILE_SEP_STRING U_FILE_SEP_STRING | ||
| 63 | #endif | ||
| 64 | |||
| 65 | -#define LARGE_BUFFER_MAX_SIZE 2048 | ||
| 66 | -#define SMALL_BUFFER_MAX_SIZE 512 | ||
| 67 | -#define SMALL_BUFFER_FLAG_NAMES 32 | ||
| 68 | +#define LARGE_BUFFER_MAX_SIZE 16384 | ||
| 69 | +#define SMALL_BUFFER_MAX_SIZE 4096 | ||
| 70 | #define BUFFER_PADDING_SIZE 20 | ||
| 71 | |||
| 72 | /** End platform defines **/ | ||
diff --git a/meta/recipes-support/icu/icu/fix-install-manx.patch b/meta/recipes-support/icu/icu/fix-install-manx.patch deleted file mode 100644 index 7b1ca81451..0000000000 --- a/meta/recipes-support/icu/icu/fix-install-manx.patch +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | From 2d544cac238eccbfc32cafc9502ddf6e00994211 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Ross Burton <ross.burton@intel.com> | ||
| 3 | Date: Fri, 9 Oct 2015 17:50:41 +0100 | ||
| 4 | Subject: [PATCH] icu: fix install race | ||
| 5 | |||
| 6 | The generic recursive target calls target-local so also adding it to the | ||
| 7 | dependency list results in races due to install-local being executed twice in | ||
| 8 | parallel. For example, install-manx can fail if the two install processes race | ||
| 9 | and one process tries to chown a file that the other process has just deleted. | ||
| 10 | |||
| 11 | Also install-manx should be a phony target, and for clarity use $^ instead of $? | ||
| 12 | in the install command. | ||
| 13 | |||
| 14 | Upstream-Status: Backport [0f022dca90cfe6bbf6a74f605dcaf1b489d58a9b] | ||
| 15 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
| 16 | --- | ||
| 17 | Makefile.in | 8 ++++---- | ||
| 18 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
| 19 | |||
| 20 | diff --git a/Makefile.in b/Makefile.in | ||
| 21 | index 8366f01..79b91c9 100644 | ||
| 22 | --- a/Makefile.in | ||
| 23 | +++ b/Makefile.in | ||
| 24 | @@ -77,7 +77,7 @@ EXTRA_DATA = | ||
| 25 | |||
| 26 | ## List of phony targets | ||
| 27 | .PHONY : all all-local all-recursive install install-local install-udata install-udata-files install-udata-dlls \ | ||
| 28 | -install-recursive clean clean-local clean-recursive distclean \ | ||
| 29 | +install-recursive install-manx clean clean-local clean-recursive distclean \ | ||
| 30 | distclean-local distclean-recursive doc dist dist-local dist-recursive \ | ||
| 31 | check check-local check-recursive clean-recursive-with-twist install-icu \ | ||
| 32 | doc install-doc tests icu4j-data icu4j-data-install update-windows-makefiles xcheck-local xcheck-recursive xperf xcheck xperf-recursive \ | ||
| 33 | @@ -88,9 +88,9 @@ check-exhaustive check-exhaustive-local check-exhaustive-recursive releaseDist | ||
| 34 | |||
| 35 | ## List of standard targets | ||
| 36 | all: all-local all-recursive | ||
| 37 | -install: install-recursive install-local | ||
| 38 | +install: install-recursive | ||
| 39 | clean: clean-recursive-with-twist clean-local | ||
| 40 | -distclean : distclean-recursive distclean-local | ||
| 41 | +distclean : distclean-recursive | ||
| 42 | dist: dist-recursive | ||
| 43 | check: all check-recursive | ||
| 44 | check-recursive: all | ||
| 45 | @@ -357,7 +357,7 @@ config.status: $(srcdir)/configure $(srcdir)/common/unicode/uvernum.h | ||
| 46 | install-manx: $(MANX_FILES) | ||
| 47 | $(MKINSTALLDIRS) $(DESTDIR)$(mandir)/man$(SECTION) | ||
| 48 | ifneq ($(MANX_FILES),) | ||
| 49 | - $(INSTALL_DATA) $? $(DESTDIR)$(mandir)/man$(SECTION) | ||
| 50 | + $(INSTALL_DATA) $^ $(DESTDIR)$(mandir)/man$(SECTION) | ||
| 51 | endif | ||
| 52 | |||
| 53 | config/%.$(SECTION): $(srcdir)/config/%.$(SECTION).in | ||
diff --git a/meta/recipes-support/icu/icu_75-1.bb b/meta/recipes-support/icu/icu_76-1.bb index 8f7f5e6cc7..08dabde3ae 100644 --- a/meta/recipes-support/icu/icu_75-1.bb +++ b/meta/recipes-support/icu/icu_76-1.bb | |||
| @@ -92,7 +92,7 @@ FILES:libicuio = "${libdir}/libicuio.so.*" | |||
| 92 | 92 | ||
| 93 | BBCLASSEXTEND = "native nativesdk" | 93 | BBCLASSEXTEND = "native nativesdk" |
| 94 | 94 | ||
| 95 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=9cf7c317c3f2a0962437465a9022dbe9" | 95 | LIC_FILES_CHKSUM = "file://../LICENSE;md5=7c364a0debecf16d5a13de2b7f1aaabd" |
| 96 | 96 | ||
| 97 | def icu_download_version(d): | 97 | def icu_download_version(d): |
| 98 | pvsplit = d.getVar('PV').split('-') | 98 | pvsplit = d.getVar('PV').split('-') |
| @@ -118,16 +118,14 @@ DATA_SRC_URI = "${GITHUB_BASE_URI}/download/release-${ICU_FOLDER}/icu4c-${ICU_PV | |||
| 118 | SRC_URI = "${BASE_SRC_URI};name=code \ | 118 | SRC_URI = "${BASE_SRC_URI};name=code \ |
| 119 | ${DATA_SRC_URI};name=data \ | 119 | ${DATA_SRC_URI};name=data \ |
| 120 | file://filter.json \ | 120 | file://filter.json \ |
| 121 | file://fix-install-manx.patch \ | ||
| 122 | file://0001-icu-Added-armeb-support.patch \ | 121 | file://0001-icu-Added-armeb-support.patch \ |
| 123 | file://ICU-22813_rise_buffer_sizes_pkgdata_PR3058.patch \ | ||
| 124 | " | 122 | " |
| 125 | 123 | ||
| 126 | SRC_URI:append:class-target = "\ | 124 | SRC_URI:append:class-target = "\ |
| 127 | file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ | 125 | file://0001-Disable-LDFLAGSICUDT-for-Linux.patch \ |
| 128 | " | 126 | " |
| 129 | SRC_URI[code.sha256sum] = "cb968df3e4d2e87e8b11c49a5d01c787bd13b9545280fc6642f826527618caef" | 127 | SRC_URI[code.sha256sum] = "dfacb46bfe4747410472ce3e1144bf28a102feeaa4e3875bac9b4c6cf30f4f3e" |
| 130 | SRC_URI[data.sha256sum] = "a5104212dc317a64f9b035723ea706f2f4fd5a0f37b7923fae7aeb9d1d0061b1" | 128 | SRC_URI[data.sha256sum] = "133ae58a67d68b46f7296822904cd3c30126a0b4b2f65f0f905e7f47c0ef9e47" |
| 131 | 129 | ||
| 132 | UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)" | 130 | UPSTREAM_CHECK_REGEX = "releases/tag/release-(?P<pver>(?!.+rc).+)" |
| 133 | GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases" | 131 | GITHUB_BASE_URI = "https://github.com/unicode-org/icu/releases" |
