Bug 23699

Summary: broken locale in glibc 2.2-9
Product: [Retired] Red Hat Linux Reporter: Maxim F. Ischenko <max>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Aaron Brown <abrown>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: fweimer
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-01-10 13:25:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
output of strace command none

Description Maxim F. Ischenko 2001-01-10 10:11:16 UTC
After I upgraded my Linux box from glibc 2.2-5 to 2.2-9 locale got broken.

I'm using russian locale ru_RU.KOI8-R.    
To check the locale I use 'locale mon' command.    
After upgrade it's output changed from russian back to english.    
Utitlities like 'date' use english timenames instead of russians and so
on.    
    
With glibc 2.2-5 all was fine.    
I tried to recompile the locale with    
localedef -c -i ruRU -f KOI8-R ru_RU.KOI8-R    
but it don't help.

Comment 1 Jakub Jelinek 2001-01-10 12:43:14 UTC
Cannot reproduce this.
$ rpm -q glibc
glibc-2.2-9
$ LANG=ru_RU.KIO8-R locale mon
IYO`o;DOO`Uo;<`b;0_`OUo;<o;,nYo;,nUo;0OOaab;AOYboQ`o;UboQ`o;=oQ`o;OUQ`o
$ LANG=en_US locale mon
January;February;March;April;May;June;July;August;September;October;November;December
$ LANG=cs_CZ locale mon
leden;znor;bxezen;duben;kvlten;herven;hervenec;srpen;zaxm;xmjen;listopad;prosinec
Can you please look if you have /usr/lib/locale/ru_RU.koi8r/ directory
populated, perhaps strace that locale
(ie. LC_ALL=ru_RU.KIO8-R strace -o log locale mon)
to see what's going on?

Comment 2 Maxim F. Ischenko 2001-01-10 13:08:13 UTC
Created attachment 7364 [details]
output of strace command

Comment 3 Maxim F. Ischenko 2001-01-10 13:12:01 UTC
I got this:

# LANG=cs_CZ locale mon
January;February;March;April;May;June;July;August;September;October;November;December
# LC_ALL= LANG=ru_RU.KOI8-R strace -o log locale mon
January;February;March;April;May;June;July;August;September;October;November;December
# LC_ALL=ru_RU.KOI8-R LANG=ru_RU.KOI8-R strace -o log locale mon
<line of russian names which NN refuse to paste>

Seems that it works when LC_ALL is set.
But I don't want to set LC_ALL cause this will ignore all others LC_ categories.
Log file that strace produced is attached to this message.


I've restored original glibc:
# rpm -V glibc
.......T   /usr/lib/locale/ru_RU.koi8r/LC_ADDRESS
.......T   /usr/lib/locale/ru_RU.koi8r/LC_COLLATE
.......T   /usr/lib/locale/ru_RU.koi8r/LC_CTYPE
.......T   /usr/lib/locale/ru_RU.koi8r/LC_IDENTIFICATION
.......T   /usr/lib/locale/ru_RU.koi8r/LC_MEASUREMENT
.......T   /usr/lib/locale/ru_RU.koi8r/LC_MESSAGES/SYS_LC_MESSAGES
.......T   /usr/lib/locale/ru_RU.koi8r/LC_MONETARY
.......T   /usr/lib/locale/ru_RU.koi8r/LC_NAME
.......T   /usr/lib/locale/ru_RU.koi8r/LC_NUMERIC
.......T   /usr/lib/locale/ru_RU.koi8r/LC_PAPER
.......T   /usr/lib/locale/ru_RU.koi8r/LC_TELEPHONE
.......T   /usr/lib/locale/ru_RU.koi8r/LC_TIME
.......T   /usr/share/locale/locale.alias





Comment 4 Jakub Jelinek 2001-01-10 13:18:55 UTC
Are you sure you don't have LC_TIME set in the environment?
$ LC_ALL= LC_TIME= LANG=es_ES locale mon
enero;febrero;marzo;abril;mayo;junio;julio;agosto;septiembre;octubre;noviembre;diciembre
$ LC_ALL= LC_TIME=C LANG=es_ES locale mon
January;February;March;April;May;June;July;August;September;October;November;December

Comment 5 Maxim F. Ischenko 2001-01-10 13:25:14 UTC
Yes, I forget about LC_TIME. ;-)

Sorry for false alarm.