A C program inherits its locale environment variables when it starts up. This happens automatically. However, these variables do not automatically control the locale used by the library functions, because ISO C says that all programs start by default in the standard ‘C’ locale.
Fixes warnings: Warning when reading ar archive header: Pathname can't be converted from UTF-8 to current locale. (errno=84) Signed-off-by: Piotr Łobacz <p.lob...@welotec.com> --- ...le-from-system-environment-variables.patch | 48 +++++++++++++++++++ meta/recipes-devtools/opkg/opkg_0.6.2.bb | 1 + 2 files changed, 49 insertions(+) create mode 100644 meta/recipes-devtools/opkg/opkg/0003-opkg-set-locale-from-system-environment-variables.patch diff --git a/meta/recipes-devtools/opkg/opkg/0003-opkg-set-locale-from-system-environment-variables.patch b/meta/recipes-devtools/opkg/opkg/0003-opkg-set-locale-from-system-environment-variables.patch new file mode 100644 index 0000000000..7bf191beab --- /dev/null +++ b/meta/recipes-devtools/opkg/opkg/0003-opkg-set-locale-from-system-environment-variables.patch @@ -0,0 +1,48 @@ +From 712895b1914bf63ee4d669863bfd106814329076 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Piotr=20=C5=81obacz?= <p.lob...@welotec.com> +Date: Wed, 19 Jul 2023 21:26:09 +0200 +Subject: [PATCH] opkg: set locale from system environment variables +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +A C program inherits its locale environment variables when it starts up. +This happens automatically. However, these variables do not automatically +control the locale used by the library functions, because ISO C says that +all programs start by default in the standard ‘C’ locale. + +Fixes warnings: +Warning when reading ar archive header: Pathname can't be converted from UTF-8 to current locale. (errno=84) + +Upstream-Status: Backport [9e62a38a4a52974007e9ea174504c42069da1a02] + +[1] https://www.gnu.org/software/libc/manual/html_node/Setting-the-Locale.html + +Signed-off-by: Piotr Łobacz <p.lob...@welotec.com> +--- + src/opkg.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/opkg.c b/src/opkg.c +index 544c58a..0c729ff 100644 +--- a/src/opkg.c ++++ b/src/opkg.c +@@ -27,6 +27,7 @@ + #include <stdio.h> + #include <getopt.h> + #include <stdlib.h> ++#include <locale.h> + + #include "opkg_conf.h" + #include "opkg_cmd.h" +@@ -408,6 +409,7 @@ int main(int argc, char *argv[]) + if (opkg_conf_init()) + goto err0; + ++ setlocale(LC_ALL, ""); + opkg_config->verbosity = NOTICE; + + opts = args_parse(argc, argv); +-- +2.34.1 + diff --git a/meta/recipes-devtools/opkg/opkg_0.6.2.bb b/meta/recipes-devtools/opkg/opkg_0.6.2.bb index d7dc6ab715..3b5d51d74a 100644 --- a/meta/recipes-devtools/opkg/opkg_0.6.2.bb +++ b/meta/recipes-devtools/opkg/opkg_0.6.2.bb @@ -16,6 +16,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/${BPN}/${BPN}-${PV}.tar.gz file://opkg.conf \ file://0001-opkg_conf-create-opkg.lock-in-run-instead-of-var-run.patch \ file://0002-Add-options-to-enable-support-for-acl-and-xattr.patch \ + file://0003-opkg-set-locale-from-system-environment-variables.patch \ file://run-ptest \ " -- 2.42.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#105538): https://lists.openembedded.org/g/openembedded-devel/message/105538 Mute This Topic: https://lists.openembedded.org/mt/101977910/21656 Group Owner: openembedded-devel+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-