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 <[email protected]>
---
 meta/recipes-support/icu/icu_67.1.bb | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

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";
 
 EXTRA_OECONF_append_libc-musl = " ac_cv_func_strtod_l=no"
 
+PACKAGECONFIG ?= ""
+PACKAGECONFIG[make-icudata] = ",,,"
+
 do_make_icudata_class-target () {
+    ${@bb.utils.contains('PACKAGECONFIG', 'make-icudata', '', 'exit 0', d)}
     cd ${S}
     rm -rf data
     cp -a ${WORKDIR}/data .
@@ -135,7 +139,7 @@ do_make_icudata_class-target () {
     LDFLAGS='${BUILD_LDFLAGS}' \
     ICU_DATA_FILTER_FILE=${WORKDIR}/filter.json \
     ./runConfigureICU Linux --with-data-packaging=archive
-    oe_runmake ${PARALLEL_MAKE}
+    oe_runmake
     install -Dm644 ${S}/data/out/icudt${ICU_MAJOR_VER}l.dat 
${S}/data/in/icudt${ICU_MAJOR_VER}l.dat
 }
 
-- 
2.27.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139856): 
https://lists.openembedded.org/g/openembedded-core/message/139856
Mute This Topic: https://lists.openembedded.org/mt/75069298/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to