summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/icu
AgeCommit message (Collapse)Author
2021-02-16icu: even more verbosejansa/dunfell-icuMartin Jansa
2021-02-16icu: verbose genrbMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-16icu-bisect-1-440b1cd9d29b33276365ac83f242f8dc137fd35bMartin Jansa
2021-02-16icu: use git fetcher to bisectMartin Jansa
* use dos2unix on 0001-Fix-big-endian-build.patch and 0002-ICU-21175-Add-cnvalias-as-a-dependency-of-misc_res.patch because the data directory in git uses unix endings while data zip file used before uses dos endings Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-16icu: refresh patchesMartin Jansa
2021-02-16icu: backport more patches from upstream to fix rare Segmentation fault in genrbMartin Jansa
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-16icu: backport upstream change instead of pending patchMartin Jansa
* even with previous icu patch backported there were some segmentation faults in genrb with 66.1 version in dunfell and none with 67.1 version in gatesgarth. In dunfell it failed in 4 builds from 1000, in gatesgarth never. The biggest difference in this area seems to be this icu-pkgdata-large-cmd.patch which isn't in gatesgarth because it was fixed differently in upstream after adding the fix from upstream it still didn't completely fix rare segmentation fault from genrb :/, but backport patch is always better than pending one. Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-02-16icu: backport fix for rare random genrb segmentation faultMartin Jansa
* sometimes I've seen it also reporting "Bus error" instead of segmentation fault * upstream bug report: https://unicode-org.atlassian.net/browse/ICU-21175 * on 80 core machine it failed 11 times in 1000 rebuilds of icu in various files: icu.019.stderr.compile:make[1]: *** [out/build/icudt66l/windowsZones.res] Segmentation fault icu.035.stderr.compile:make[1]: *** [out/build/icudt66l/supplementalData.res] Segmentation fault icu.095.stderr.compile:make[1]: *** [out/build/icudt66l/plurals.res] Segmentation fault icu.116.stderr.compile:make[1]: *** [out/build/icudt66l/curr/supplementalData.res] Segmentation fault icu.313.stderr.compile:make[1]: *** [out/build/icudt66l/supplementalData.res] Segmentation fault icu.415.stderr.compile:make[1]: *** [out/build/icudt66l/supplementalData.res] Segmentation fault icu.476.stderr.compile:make[1]: *** [out/build/icudt66l/metadata.res] Segmentation fault icu.495.stderr.compile:make[1]: *** [out/build/icudt66l/supplementalData.res] Segmentation fault icu.496.stderr.compile:make[1]: *** [out/build/icudt66l/supplementalData.res] Segmentation fault icu.505.stderr.compile:make[1]: *** [out/build/icudt66l/pluralRanges.res] Segmentation fault icu.756.stderr.compile:make[1]: *** [out/build/icudt66l/numberingSystems.res] Segmentation fault * apply 0001-Fix-big-endian-build.patch in do_patch like this new patch Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2020-07-10icu: make filtered data generation optional, serial and off by defaultAlexander Kanavin
Backported from master with two differences: 1. Move exit in do_make_icudata_class-target after big endian patch application (not required for master since new upstream icu includes the patch) 2. In do_install_append_class-target test for existence of .dat input file before calling icupkg icu data generation was found to be racy, and causig AB failures; making it serial and leaving it on is not an option as it regresses to several minutes. The specific bug is that rules.mk has: LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH ../bin/gencnval -s . -d ./out/build/icudt66l mappings/convrtrs.txt which creates a file and numerous rules like LD_LIBRARY_PATH=../lib:../stubdata:../tools/ctestfw:$LD_LIBRARY_PATH  ../bin/genrb -s ./misc -d ./out/build/icudt67l -i ./out/build/icudt67l -k -q numberingSystems.txt which quietly read it. There is no prerequisite for the former to complete first. The race is extra complicated to fix as rules.mk is itself generated through a custom in-tree python tool. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit df89e8d1136fd406ba35ae573e2cb0cfc88c6aad) Signed-off-by: Steve Sakoman <steve@sakoman.com>
2020-05-04icu: CVE-2020-10531Wang Mingyu
security Advisory References: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10531 Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Steve Sakoman <steve@sakoman.com>
2020-04-05icu: Mark strtod_l unavailable on muslKhem Raj
Musl version is just a wrapper to strtod and not an exposed API Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-05icu: Add knobs to generate a subset of ICU dataKhem Raj
Recent versions of ICU (64+) provides a tool for configuring ICU locale data file with finer granularity [1] Default generated size for libicudata.so.66.1 is ~27M, which is quite large for embedded systems and all of them may not even need all locale data. This patch calls the icudata buildtool during configure on the icudata and utilizes a filter called 'filter.json` ( empty by default) to create the data, default behavior should remain same but someone can add a filter.json in own layer to configure this data, e.g. { "localeFilter": { "filterType": "language", "whitelist": [ "en", "de", "it" ] } } would only generate the locale data for english/german/italian This would reduce the size of libicudata.so.66.1 to 12M Ensure that icudata is generated using host-tools so it can deal with endianness correctly, when host and target systems have different endianness install the icudtata file back into in/ folder so that main build can now pickup this data file instead of regenerating it and wiping out the filter changes that are expected to take effect Use native compiler tools Update the big-endian support patch to apply to latest Makefile.in from icudata source and mark it as backport defer applying 0001-Fix-big-endian-build.patch after moving new data/ in [1] https://github.com/unicode-org/icu/blob/master/docs/userguide/icu_data/buildtool.md Signed-off-by: Khem Raj <raj.khem@gmail.com> Suggested-by: Wouter Meek <w.meek@metrological.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-21icu: upgrade 65.1 ->66.1Wang Mingyu
-License-Update: Copyright year updated to 2020. Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-15icu: upgrade 64.2 -> 65.1Wang Mingyu
Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-02icu: update SRC_URIAlexander Kanavin
New releases of ICU are published on github. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21icu: Remove workaround for musl issue fixed upstream 2 years agoAdrian Bunk
Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09icu: Added armeb support.Lei Maohui
Make icu support arm32 BE. Upstream-Status: Pending Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-26icu: Upgrade 64.1 -> 64.2Zang Ruochen
Signed-off-by: Zang Ruochen <zangrc.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23icu: update to 64.1Alexander Kanavin
License-update: copyright years changed. Drop upstreamed/backported patches. Add a patch to fix big endian build failure. Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-05icu: fix CVE-2018-18928Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-22icu: update to 63.1Alexander Kanavin
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-21icu: Add ARC supportAlexey Brodkin
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-12multilib: fix install file conflictsKai Kang
Fix install files conflicts between multlib packages by inherit multilib_script: | file /usr/bin/cairo-trace conflicts between attempted installs of lib32-libcairo-perf-utils-1.14.12-r0.x86 and libcairo-perf-utils-1.14.12-r0.core2_64 | file /usr/bin/icu-config conflicts between attempted installs of lib32-icu-dev-62.1-r0.x86 and icu-dev-62.1-r0.core2_64 | file /usr/bin/gpgrt-config conflicts between attempted installs of lib32-libgpg-error-dev-1.32-r0.x86 and libgpg-error-dev-1.32-r0.core2_64 Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-08icu:61.1 -> 62.1Hong Liu
1.Upgrade icu from 61.1 to 62.1. 2.0001-i18n-Drop-include-xlocale.h.patch has been merged. Signed-off-by: Hong Liu <hongl.fnst@cn.fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15icu: move ASNEEDED over-ride into icu.incAndre McCurdy
Move the recipe specific over-ride for ASNEEDED into the recipe to make it more apparent that the over-ride is being applied (and that it should be re-checked on version updates, etc). Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04icu: update to 61.1Alexander Kanavin
License-Update: copyright years updated, added terms for Google double-conversion Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29meta: don't use deprecated functions from utils.bbclassRoss Burton
These functions were moved to meta/lib/oe in 2010 and the base_* functions in utils.bbclass were intended to be a short-term compatibility layer. They're still used in a few places, so update the callers to use the new functions. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-19icu: 60.1 -> 60.2Huang Qiyu
Upgrade icu from 60.1 to 60.2. Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-13icu-dev: improve reproducibilityJuro Bystricky
Remove all build host references from several distributed files: Makefile.inc, icu-config, pkgdata.inc Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-08icu-dbg: improve reproducibilityJuro Bystricky
Make sure build host references do not end up being compiled in the image. This only affects libicutu and icu-dbg. Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18icu: fix libicudata corruption on big endian systemYi Zhao
ICU library libicudata is created with a wrong endianness if the host and target have different endianness. (e.g. build ICU for qemuppc on x86-64 host) See upstream bug report: http://bugs.icu-project.org/trac/ticket/11758 The discussion in oe-core mailing list: https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg65155.html The root cause is the native pkgdata can not generate correct icu data for different endianness. By default, this data is built into the shared library libicudata that would cause it corrupt. But ICU also provides additional options for loading the data. With option --with-data-packaging=archive, ICU outputs a single icudt.dat file which can be loaded by the library. See document: http://userguide.icu-project.org/icudata So for big endian system, we can use the separated data file which re-generates by icupkg and set the correct ICU_DATA environment variable to make sure the library can load the data without problems. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-12-10meta: fix malformed/missing Upstream-Status tagsRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-29icu: update to 60.1Alexander Kanavin
Rebase a couple of patches. LICENSE checksum change due to typo fix. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-21icu: CVE-2017-14952Ovidiu Panait
Double free in i18n/zonemeta.cpp in International Components for Unicode (ICU) for C/C++ through 59.1 allows remote attackers to execute arbitrary code via a crafted string, aka a "redundant UVector entry clean up function call" issue. Reference: https://nvd.nist.gov/vuln/detail/CVE-2017-14952 Upstream patches: http://bugs.icu-project.org/trac/changeset/40324/trunk/icu4c/source/i18n/zonemeta.cpp Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-27icu: update to 59.1Alexander Kanavin
License checksum change due to copyright year update. Latest icu will not compile with anything less than C++11, so drop the enforcement of an earlier C++ version. This should be okay, as there is now a fix in place for the problem of mixing native gcc 4/5 compiled code: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c21cec84886d9c70396e9be0ceb9a8ef300b54be Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-24icu.inc: set CVE_PRODUCT to international_components_for_unicodeMikko Rapeli
NVD uses it for CVE's like: https://nvd.nist.gov/vuln/detail/CVE-2014-8146 Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-06icu: Fix build with glibc 2.26Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-06-16meta: Drop remnants of uclibc supportRichard Purdie
uclibc support was removed a while ago and musl works much better. Start to remove the various overrides and patches related to uclibc which are no longer needed. uclibc support in a layer would still be possible. I have strong reasons to believe nobody is still using uclibc since patches are missing and I doubt the metadata even parses anymore. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-23icu: Use LARGE_BUFFER_MAX_SIZE for cmdJackie Huang
The previous patch used LARGE_BUFFER_MAX_SIZE instead of SMALL_BUFFER_MAX_SIZE for cmd in function pkg_installLibrary, which only fixed some of the cases when the command line is too long, some other cases indicate that the LARGE_BUFFER_MAX_SIZE is also needed in pkg_installCommonMode and pkg_installFileMode to avoid overflow: | *** buffer overflow detected ***: ../bin/pkgdata terminated Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-12-17icu: update to 58.2Alexander Kanavin
(From OE-Core rev: 68eca85201c2e15ab5c197f3cc70d863fb021493) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-11-30icu: update to 58.1Alexander Kanavin
The copyright for the software has been transferred to Unicode Inc from IBM, but the terms are same. libiculx and libicule are no longer produced as they depend on an external package icu-le-hb (previous versions had an option of using an internal implementation which now has been dropped). I have verified that icu dependencies in oe-core and meta-oe still build. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-03icu: update to 57.1Alexander Kanavin
Point to the actual license file in the recipe. Drop icu-release-56-1-flagparser-fix.patch, merged upstream. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-27icu: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2015-12-12icu: Upgrade 55.1 -> 56.1Mike Crowe
Upgrade ICU from v55.1 to v56.1 and backport a later patch that is necessary to avoid errors during the build. Signed-off-by: Mike Crowe <mac@mcrowe.com>
2015-12-01icu: force arm modeMartin Jansa
* otherwise it triggers following ICE: ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570) ERROR: Logfile of failure stored in: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570 Log data follows: | DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common', 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common'] | DEBUG: Executing shell function do_compile | NOTE: make | Note: rebuild with "make VERBOSE=1 " to show all compiler parameters. | make[0]: Making `all' in `stubdata' | make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata' | make[1]: Nothing to be done for 'all'. | make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/stubdata' | make[0]: Making `all' in `common' | make[1]: Entering directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common' | arm-oe-linux-gnueabi-gcc ... /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c: In function 'ubidi_writeReordered_53': | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c:643:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1275 | } | ^ | Please submit a full bug report, | with preprocessed source if appropriate. | See <http://gcc.gnu.org/bugs.html> for instructions. | *** Failed compilation command follows: ---------------------------------------------------------- | arm-oe-linux-gnueabi-gcc -march=armv4t -mthumb -mthumb-interwork -mtune=arm920t --sysroot=/OE/build/shr-core/tmp-eglibc/sysroots/om-gta02 -D_REENTRANT -DU_HAVE_ELF_H=1 -DU_HAVE_ATOMIC=1 -I/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common -DDEFAULT_ICU_PLUGINS="/usr/lib/icu" -DU_ATTRIBUTE_DEPRECATED= -DU_COMMON_IMPLEMENTATION -O2 -pipe -g -feliminate-unused-debug-types -std=c99 -Wall -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o ubidiwrt.o /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/common/ubidiwrt.c | --- ( rebuild with "make VERBOSE=1 all" to show all parameters ) -------- | /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/icu/source/config/mh-linux:44: recipe for target 'ubidiwrt.o' failed | make[1]: *** [ubidiwrt.o] Error 1 | make[1]: Leaving directory '/OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/build/common' | Makefile:141: recipe for target 'all-recursive' failed | make: *** [all-recursive] Error 2 | ERROR: oe_runmake failed | WARNING: /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/run.do_compile.21570:1 exit 1 from | exit 1 | ERROR: Function failed: do_compile (log file is located at /OE/build/shr-core/tmp-eglibc/work/arm920tt-oe-linux-gnueabi/icu/53.1-r0/temp/log.do_compile.21570) NOTE: recipe icu-53.1-r0: task do_compile: Failed ERROR: Task 6803 (/OE/build/shr-core/openembedded-core/meta/recipes-support/icu/icu_53.1.bb, do_compile) failed with exit code '1' Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-10-12icu: fix install raceRoss Burton
ICU was invoking install-local twice in parallel which can lead to install failures as one install deletes files the other is attempting to chown. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-05-20icu-native: fix hard paths in native icuAndré Draszik
The icu recipe installs icu-native twice, once in the usual location, and once for cross builds into the path given by --with-cross-build. This latter path is not included in the list of paths recognised by chrpath.bbclass, hence the binaries in there retain the rpath as used during compilation. This causes the package to not be relocateable from sstate [YOCTO #6851] We use the infrastructure that is in place already, and simply set PREPROCESS_RELOCATE_DIRS as necessary, and things start to work. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-03icu: Upgrade 54.1 -> 55.1Jussi Kukkonen
License checksum changed because of unrelated changes in the html file: actual license texts are unchanged. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14icu: remove obsolete aclocal.m4 workaround (fixed upstream since v52.1)Andre McCurdy
Patch also includes some minor formatting cleanup of icu.inc. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>