diff options
author | Alexander Kanavin <alex.kanavin@gmail.com> | 2020-06-23 23:08:37 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-06-25 10:23:37 +0100 |
commit | 754866f32bfc1e3986199b353f037536f326ae77 (patch) | |
tree | 341e5d2c0e18880e95b90960cb7a6e65f7ff95a2 /meta/recipes-support | |
parent | c1ded5d898cec13afee3aacce3e25b4926b281b6 (diff) | |
download | poky-754866f32bfc1e3986199b353f037536f326ae77.tar.gz |
icu: make filtered data generation optional, serial and off by default
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.
(From OE-Core rev: df89e8d1136fd406ba35ae573e2cb0cfc88c6aad)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support')
-rw-r--r-- | meta/recipes-support/icu/icu_67.1.bb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/meta/recipes-support/icu/icu_67.1.bb b/meta/recipes-support/icu/icu_67.1.bb index 5814fa41bd..9e8091ba01 100644 --- a/meta/recipes-support/icu/icu_67.1.bb +++ b/meta/recipes-support/icu/icu_67.1.bb | |||
@@ -120,7 +120,11 @@ UPSTREAM_CHECK_URI = "https://github.com/unicode-org/icu/releases" | |||
120 | 120 | ||
121 | EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no" | 121 | EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no" |
122 | 122 | ||
123 | PACKAGECONFIG ?= "" | ||
124 | PACKAGECONFIG[make-icudata] = ",,," | ||
125 | |||
123 | do_make_icudata_class-target () { | 126 | do_make_icudata_class-target () { |
127 | ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)} | ||
124 | cd ${S} | 128 | cd ${S} |
125 | rm -rf data | 129 | rm -rf data |
126 | cp -a ${WORKDIR}/data . | 130 | cp -a ${WORKDIR}/data . |
@@ -135,7 +139,7 @@ do_make_icudata_class-target () { | |||
135 | LDFLAGS='${BUILD_LDFLAGS}' \ | 139 | LDFLAGS='${BUILD_LDFLAGS}' \ |
136 | ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \ | 140 | ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \ |
137 | ./runConfigureICU Linux --with-data-packaging=archive | 141 | ./runConfigureICU Linux --with-data-packaging=archive |
138 | oe_runmake ${PARALLEL_MAKE} | 142 | oe_runmake |
139 | install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat | 143 | install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat ${S}/data/in/icudt${ICU_MAJOR_VER}l.dat |
140 | } | 144 | } |
141 | 145 | ||