diff mbox series

[v2] ref-manual: use standardized method accross both ubuntu and debian for locale install

Message ID 20241118104524.25392-1-guenael.muller@smile.fr
State New
Headers show
Series [v2] ref-manual: use standardized method accross both ubuntu and debian for locale install | expand

Commit Message

Guénaël Muller Nov. 18, 2024, 10:45 a.m. UTC
Modify locale installation method to be standard accross all debian-based distributions.
Pre-existing method is available only on Ubuntu, locale-gen tool has no parameter in Debian.

Signed-off-by: Guénaël Muller <guenael.muller@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Tested-by: Antonin Godard <antonin.godard@bootlin.com>
---
 documentation/poky.yaml.in                       | 3 +--
 documentation/ref-manual/system-requirements.rst | 8 ++++++++
 2 files changed, 9 insertions(+), 2 deletions(-)

Comments

Antonin Godard Nov. 18, 2024, 11 a.m. UTC | #1
Hi Guénaël,

On Mon Nov 18, 2024 at 11:45 AM CET, Guénaël Muller wrote:
> Modify locale installation method to be standard accross all debian-based distributions.
> Pre-existing method is available only on Ubuntu, locale-gen tool has no parameter in Debian.
>
> Signed-off-by: Guénaël Muller <guenael.muller@smile.fr>
> Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
> Tested-by: Antonin Godard <antonin.godard@bootlin.com>
> ---
>  documentation/poky.yaml.in                       | 3 +--
>  documentation/ref-manual/system-requirements.rst | 8 ++++++++
>  2 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
> index c770318f2..66f758fe8 100644
> --- a/documentation/poky.yaml.in
> +++ b/documentation/poky.yaml.in
> @@ -13,8 +13,7 @@ YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
>  UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
>       build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
>       xz-utils debianutils iputils-ping python3-git python3-jinja2 \
> -     python3-subunit zstd liblz4-tool file locales libacl1
> -     \n\   $ sudo locale-gen en_US.UTF-8"
> +     python3-subunit zstd liblz4-tool file locales libacl1"
>  FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
>       diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
>       ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
> diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
> index 0fc92550a..b33518c7f 100644
> --- a/documentation/ref-manual/system-requirements.rst
> +++ b/documentation/ref-manual/system-requirements.rst
> @@ -152,6 +152,14 @@ with a supported Ubuntu or Debian Linux distribution::
>  
>     $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
>  
> +You also need to ensure you have the locale ``en_US.UTF-8`` enabled::
> +
> +   $ locale --all-locales | grep en_US.utf8
> +
> +If this is not the case, you can reconfigure the ``locales`` package to add it::
> +
> +   $ sudo dpkg-reconfigure locales
> +
>  .. note::
>  
>     -  If your build system has the ``oss4-dev`` package installed, you

Looks good, thanks!

Reviewed-by: Antonin Godard <antonin.godard@bootlin.com>

Cheers,
Antonin
Quentin Schulz Nov. 19, 2024, 9:28 a.m. UTC | #2
Hi Anotnin, Guénaël,

On 11/18/24 12:00 PM, Antonin Godard via lists.yoctoproject.org wrote:
> Hi Guénaël,
> 
> On Mon Nov 18, 2024 at 11:45 AM CET, Guénaël Muller wrote:
>> Modify locale installation method to be standard accross all debian-based distributions.
>> Pre-existing method is available only on Ubuntu, locale-gen tool has no parameter in Debian.
>>
>> Signed-off-by: Guénaël Muller <guenael.muller@smile.fr>
>> Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
>> Tested-by: Antonin Godard <antonin.godard@bootlin.com>
>> ---
>>   documentation/poky.yaml.in                       | 3 +--
>>   documentation/ref-manual/system-requirements.rst | 8 ++++++++
>>   2 files changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
>> index c770318f2..66f758fe8 100644
>> --- a/documentation/poky.yaml.in
>> +++ b/documentation/poky.yaml.in
>> @@ -13,8 +13,7 @@ YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
>>   UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
>>        build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
>>        xz-utils debianutils iputils-ping python3-git python3-jinja2 \
>> -     python3-subunit zstd liblz4-tool file locales libacl1
>> -     \n\   $ sudo locale-gen en_US.UTF-8"
>> +     python3-subunit zstd liblz4-tool file locales libacl1"
>>   FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
>>        diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
>>        ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
>> diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
>> index 0fc92550a..b33518c7f 100644
>> --- a/documentation/ref-manual/system-requirements.rst
>> +++ b/documentation/ref-manual/system-requirements.rst
>> @@ -152,6 +152,14 @@ with a supported Ubuntu or Debian Linux distribution::
>>   
>>      $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
>>   
>> +You also need to ensure you have the locale ``en_US.UTF-8`` enabled::
>> +

I believe "the ``en_US.UTF-8`` locale" is more proper here.

On a side note, what's the actual cost of reconfiguring the locales 
regardless of the presence of en_US.UTF-8?

My point being we could probably have this command in poky.yaml.in like 
it used to be?

>> +   $ locale --all-locales | grep en_US.utf8
>> +
>> +If this is not the case, you can reconfigure the ``locales`` package to add it::
>> +
>> +   $ sudo dpkg-reconfigure locales
>> +

How does this actually generate en_US.utf8 locale if we don't explicitly 
add it somewhere? Are you sure it's not because your system has LANG or 
LC_ALL set to that locale and then calling reconfigure it regenerate it?

Also on a side note we tell people to check if "en_US.UTF-8" locale is 
enabled by grepping for "en_US.utf8", is that expected? Why aren't they 
the same?

Cheers,
Quentin
Antonin Godard Nov. 20, 2024, 4:43 p.m. UTC | #3
Hi Guénaël, Quentin,

On Tue Nov 19, 2024 at 10:28 AM CET, Quentin Schulz via lists.yoctoproject.org wrote:
[...]
>>> +You also need to ensure you have the locale ``en_US.UTF-8`` enabled::
>>> +
>
> I believe "the ``en_US.UTF-8`` locale" is more proper here.
>
> On a side note, what's the actual cost of reconfiguring the locales 
> regardless of the presence of en_US.UTF-8?
>
> My point being we could probably have this command in poky.yaml.in like 
> it used to be?
>
>>> +   $ locale --all-locales | grep en_US.utf8
>>> +
>>> +If this is not the case, you can reconfigure the ``locales`` package to add it::
>>> +
>>> +   $ sudo dpkg-reconfigure locales
>>> +
>
> How does this actually generate en_US.utf8 locale if we don't explicitly 
> add it somewhere? Are you sure it's not because your system has LANG or 
> LC_ALL set to that locale and then calling reconfigure it regenerate it?
>
> Also on a side note we tell people to check if "en_US.UTF-8" locale is 
> enabled by grepping for "en_US.utf8", is that expected? Why aren't they 
> the same?

Yes, "locale --all-locales" does return "en_US.utf8" while we install the
"en_US.UTF-8" locale (different string, not sure why).

I seem to be able to build with both Debian/Ubuntu with this command:

  LANG="en_US.UTF-8" locale-gen

Maybe this is a more straightforward approach, closer to what we had before.
What do you think? Guénaël would you be able to update your patch with this
command if this works for you too?


Antonin
diff mbox series

Patch

diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in
index c770318f2..66f758fe8 100644
--- a/documentation/poky.yaml.in
+++ b/documentation/poky.yaml.in
@@ -13,8 +13,7 @@  YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;"
 UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \
      build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
      xz-utils debianutils iputils-ping python3-git python3-jinja2 \
-     python3-subunit zstd liblz4-tool file locales libacl1
-     \n\   $ sudo locale-gen en_US.UTF-8"
+     python3-subunit zstd liblz4-tool file locales libacl1"
 FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \
      diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
      ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
diff --git a/documentation/ref-manual/system-requirements.rst b/documentation/ref-manual/system-requirements.rst
index 0fc92550a..b33518c7f 100644
--- a/documentation/ref-manual/system-requirements.rst
+++ b/documentation/ref-manual/system-requirements.rst
@@ -152,6 +152,14 @@  with a supported Ubuntu or Debian Linux distribution::
 
    $ sudo apt install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
 
+You also need to ensure you have the locale ``en_US.UTF-8`` enabled::
+
+   $ locale --all-locales | grep en_US.utf8
+
+If this is not the case, you can reconfigure the ``locales`` package to add it::
+
+   $ sudo dpkg-reconfigure locales
+
 .. note::
 
    -  If your build system has the ``oss4-dev`` package installed, you