glibc-all-langpacks does not install locales

Posted on

With a Docker image of:
FROM registry.access.redhat.com/ubi8/ubi:8.6-855

and package versions of:
glibc-all-langpacks: 2.28-189.5.el8_6
glibc-langpack-fr: 2.28-189.5.el8_6

I am trying to install 15 or so different languages/locales. If installing all of them is the easiest to achieve I am not overly concerned with disk space.
However the 'glibc-all-langpacks' does not appear to work as documented. The glibc-langpack-x method also doesn't create locales consistently.

See the below for an example:

Installing glibc-all-langpacks

# yum install glibc-all-langpacks
# LANG=fr_FR date
Mon Jul  4 00:56:36 UTC 2022
# locale -a
C
C.utf8
POSIX

I would expect the above to allow the fr_FR lang setting to take effect. It only installs a /usr/libc/locale/locale-archive which is seemingly unusable.

Installing just glibc-langpack-fr

# yum install glibc-langpack-fr
# LANG=fr_FR date
lun. juil.  4 00:55:14 UTC 2022
# LANG=fr_FR.iso885915@euro locale -c charmap
LC_CTYPE
ISO-8859-15
# locale -a
C
C.utf8
POSIX
fr_BE
fr_BE.utf8
fr_BE@euro
fr_CA
fr_CA.utf8
fr_CH
fr_CH.utf8
fr_FR
fr_FR.utf8
fr_FR@euro
fr_LU
fr_LU.utf8
fr_LU@euro

This installs all the FR locales as expected, however not all variants are listed by locale -a, e.g "fr_FR.iso885915@euro".

Installing both glibc-all-langpacks and glibc-langpack-fr

# yum install glibc-all-langpacks glibc-langpack-fr
# LANG=fr_FR date
lun. juil.  4 01:14:53 UTC 2022
# locale -a
C
C.utf8
POSIX
fr_BE
fr_BE.iso88591
fr_BE.iso885915@euro
fr_BE.utf8
fr_BE@euro
fr_CA
fr_CA.iso88591
fr_CA.utf8
fr_CH
fr_CH.iso88591
fr_CH.utf8
fr_FR
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
fr_FR@euro
fr_LU
fr_LU.iso88591
fr_LU.iso885915@euro
fr_LU.utf8
fr_LU@euro
french

This installs all the FR locales and 'locale -a' lists them all correctly. However it is also contrary to the documentation which suggests this is redundant and a waste of space, plus the performance impact of installing glibc-langpack-fr instead of glibc-all-langpacks.

  • Shouldn't 'glibc-all-langpacks' install all the langpacks and make them available for use?
  • Why does installing "glibc-all-langpacks glibc-langpack-fr" list more locale variants than just "glibc-langpack-fr" ?
  • Is there a way to install glibc-langpack-x while also getting all the locale aliases listed by 'locale -a' ?