After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 570003 - Fix fallback code when /usr/lib/locale/locale-archive is not available
Fix fallback code when /usr/lib/locale/locale-archive is not available
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on:
Blocks:
 
 
Reported: 2009-01-31 18:05 UTC by Vincent Untz
Modified: 2009-07-17 18:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Trivial patch (1.10 KB, patch)
2009-01-31 18:06 UTC, Vincent Untz
committed Details | Review

Description Vincent Untz 2009-01-31 18:05:53 UTC
When /usr/lib/locale/locale-archive is not available, we collect the locales from /usr/share/locale. That's, hrm, wrong: it should be /usr/lib/locale :-)

(see the code from locale.c in the glibc if in doubt)
Comment 1 Vincent Untz 2009-01-31 18:06:59 UTC
Created attachment 127643 [details] [review]
Trivial patch
Comment 2 Ray Strode [halfline] 2009-07-17 03:02:19 UTC
So we're waffling here:

commit 34b6de974af9fa245f605c15c2e7a830be28de28
Author: Ray Strode <rstrode@redhat.com>
Date:   Tue Mar 25 19:00:27 2008 +0000

    When looking for locales, look in /usr/share/locale instead of
    
    2008-03-25  Ray Strode  <rstrode@redhat.com>
    
        * gui/simple-greeter/gdm-languages:
        (select_dirs), (collect_locales_from_directory):
        When looking for locales, look in /usr/share/locale
        instead of /usr/lib/locale
    
    svn path=/trunk/; revision=6060

on my system,

$ find /usr/lib/locale
/usr/lib/locale
/usr/lib/locale/locale-archive
/usr/lib/locale/locale-archive.tmpl

What do you have on your system?
Comment 3 Vincent Untz 2009-07-17 08:21:19 UTC
I have stuff like:

/usr/lib/locale
/usr/lib/locale/es_VE.utf8
/usr/lib/locale/es_VE.utf8/LC_NUMERIC
/usr/lib/locale/es_VE.utf8/LC_NAME
/usr/lib/locale/es_VE.utf8/LC_PAPER
/usr/lib/locale/es_VE.utf8/LC_TIME
/usr/lib/locale/es_VE.utf8/LC_MEASUREMENT
/usr/lib/locale/es_VE.utf8/LC_MONETARY
/usr/lib/locale/es_VE.utf8/LC_COLLATE
/usr/lib/locale/es_VE.utf8/LC_IDENTIFICATION
/usr/lib/locale/es_VE.utf8/LC_TELEPHONE
/usr/lib/locale/es_VE.utf8/LC_MESSAGES
/usr/lib/locale/es_VE.utf8/LC_MESSAGES/SYS_LC_MESSAGES
/usr/lib/locale/es_VE.utf8/LC_CTYPE
/usr/lib/locale/es_VE.utf8/LC_ADDRESS
[and then the same for all locales]

Is this data in /usr/share/locale for you?

In openSUSE, we don't ship locale-archive since our glibc maintainer thinks it's bad for some reason.
Comment 4 Ray Strode [halfline] 2009-07-17 18:09:13 UTC
I guess in our case we never hit that code path because we do have the locale-archive file.  I don't think we ship those files at all.

Should be set in master.