I try to use the latest just to give it a spin, and I have noticed that
locales don't quite work with 'glibc-2.95.2-3mdk', e.g. this 'strace'
output extract from running 'date':

------------------------------------------------------------------------
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
open("/usr/lib/locale/en_GB/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/usr/share/i18n/en_GB/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/usr/lib/locale/en/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or 
directory)
open("/usr/share/i18n/en/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or 
directory)
------------------------------------------------------------------------

There are three problems:

* The locales in the 'locale*-2.3-1mdk' RPMs are installed in the wrong
  directory ("/usr/share/locale"), or else 'glibc-2.95.2-3mdk' has been
  compiled with a different default locale directory  path
  ("/usr/lib/locale:/usr/share/i18n").

* There are locale definition files with 'glibc-2.95.2-3mdk", but they
  are not compiled, in "/usr/share/i18n".

* Even if the locales are looked up in the new path
  "/usr/lib/locale:/usr/share/i18n", the locale alias file is expected
  to be in "/usr/share/locale".

For now this can be fixed by compiling with 'localedef' the locale and
character map definition under "/usr/share/i18n/locales/", which will
end up in "/usr/lib/locale", writing a suitable
"/usr/lib/locale/locale.alias" file and linking it as
"/usr/share/locale/locale.alias".

I have done so for the few locales I might end up actually using (with
the 'ISO-8859-1' character map, which results in a locale suffix of
'iso88591'), and this is the 'locale.alias' file that defines aliases
with the most common variants:

------------------------------------------------------------------------
latin1                                          POSIX
ISO8859_1                                       POSIX
ISO-8859-1                                      POSIX

C                                               POSIX
C_C.C                                           POSIX
C.ISO8859_1                                     POSIX
C.ISO-8859-1                                    POSIX

Cextend                                         en_US.iso88591
English_United-States.437                       en_US.iso88591

cymraeg                                         cy_GB.iso88591
welsh                                           cy_GB.iso88591
cy                                              cy_GB.iso88591
cy_GB                                           cy_GB.iso88591
cy_GB.ISO8859_1                                 cy_GB.iso88591
cy_GB.ISO-8859-1                                cy_GB.iso88591

english                                         en_GB.iso88591
en                                              en_GB.iso88591
en_GB                                           en_GB.iso88591
en_GB.ISO8859_1                                 en_GB.iso88591
en_GB.ISO-8859-1                                en_GB.iso88591

english_us                                      en_US.iso88591
en                                              en_US.iso88591
en_US                                           en_US.iso88591
en_US.ISO8859_1                                 en_US.iso88591
en_US.ISO-8859-1                                en_US.iso88591

french                                          fr_FR.iso88591
français                                        fr_FR.iso88591
fr                                              fr_FR.iso88591
fr_FR                                           fr_FR.iso88591
fr_FR.ISO8859_1                                 fr_FR.iso88591
fr_FR.ISO-8859-1                                fr_FR.iso88591

fr_CA                                           fr_CA.iso88591
fr_CA.ISO8859_1                                 fr_CA.iso88591
fr_CA.ISO-8859-1                                fr_CA.iso88591

italian                                         it_IT.iso88591
italiano                                        it_IT.iso88591
it                                              it_IT.iso88591
it_IT                                           it_IT.iso88591
it_IT.ISO8859_1                                 it_IT.iso88591
it_IT.ISO-8859-1                                it_IT.iso88591
------------------------------------------------------------------------

As a general note, the locale situation is a bit of a mess, because it's
not clear which/where the stuff should default to.


Reply via email to