]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gettext: Force UTF-8 runtime and skip requiring ISO-8859-1
authorKhem Raj <raj.khem@gmail.com>
Fri, 22 Aug 2025 05:17:25 +0000 (22:17 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 25 Aug 2025 16:46:38 +0000 (17:46 +0100)
On musl, there is no real legacy (non-UTF-8) fr_FR locale.
These tests are designed for libcs that ship both fr_FR (ISO-8859-1)
and fr_FR.UTF-8. So the right thing will be to SKIP these tests

Unsetting LOCALE_FR will ensure that it does not enable ISO-8859-1
path, so reset it in run-ptest but thats not enough because it is
being set in the test's own init-env file as well so clear it in that
file as well.

Fixes
Failed ptests:
{'gettext': ['intl-2', 'intl-4', 'intl-thread-3', 'lang-sh', 'lang-bash']}

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
meta/recipes-core/gettext/gettext_0.23.1.bb

index e160d4839dc37d1037d04aad2d7975897c23c4c9..509438c2a7a7766a564ac20116a0eed4668b2aff 100644 (file)
@@ -179,6 +179,16 @@ do_install_ptest() {
         sed -i -e 's|${DEBUG_PREFIX_MAP}||g' ${D}${PTEST_PATH}/tests/init-env
 }
 
+do_install_ptest:append:libc-musl() {
+        # Force UTF-8 runtime and skip legacy fr_FR subcases
+        sed -i '3i export LANG=fr_FR.UTF-8; export LC_ALL=fr_FR.UTF-8' \
+            ${D}${PTEST_PATH}/run-ptest
+        sed -i '3i export LOCALE_FR="none"; export LOCALE_FR_UTF8=fr_FR.UTF-8' \
+            ${D}${PTEST_PATH}/run-ptest
+        sed -i -e 's|^LOCALE_FR="fr_FR.ISO-8859-1"|LOCALE_FR="none"|g' \
+            ${D}${PTEST_PATH}/tests/init-env
+}
+
 RDEPENDS:${PN}-ptest += "coreutils make xz bash gawk autoconf locale-base-de-de locale-base-fr-fr"
 RDEPENDS:${PN}-ptest:append:libc-glibc = "\
     glibc-gconv-big5 \