ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] QI: POSIX/SUS locale violation?
@ 2004-06-26 14:19 Alexey I. Froloff
  2004-06-26 14:45 ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey I. Froloff @ 2004-06-26 14:19 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 892 bytes --]

$ LC_MESSAGES=C rpm -q --qf='%{SUMMARY}\n' vim-common
Общие для всех вариантов VIM файлы
$ LANG=C rpm -q --qf='%{SUMMARY}\n' vim-common
Общие для всех вариантов VIM файлы
$ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
Общие для всех вариантов VIM файлы
$ LANGUAGE=C rpm -q --qf='%{SUMMARY}\n' vim-common
The common files needed by any version of the VIM editor

И как это понимать?  Вот за это я и не люблю GNU'шников... :-/

Как мне кажется, у LC_* приоритет должен быть выше.
Соответственно LANGUAGE если используется, то должен это делать
перед LANG, а никак не в первую очередь.  Куда баг вешать?


P.S. Для тех кто за файрволом (помнится, были споры какой
язык/кодировку использовать в spec файлах):
$ LANGUAGE=ru_RU.CP1251 rpm -q --qf='%{SUMMARY}\n' vim-common
нАЫХЕ ДКЪ БЯЕУ БЮПХЮМРНБ VIM ТЮИКШ

В спеке прописан язык ru_RU.KOI8-R.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 14:19 [devel] QI: POSIX/SUS locale violation? Alexey I. Froloff
@ 2004-06-26 14:45 ` Dmitry V. Levin
  2004-06-26 14:48   ` Dmitry V. Levin
  2004-06-26 15:28   ` Sergey Vlasov
  0 siblings, 2 replies; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 14:45 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1169 bytes --]

On Sat, Jun 26, 2004 at 06:19:52PM +0400, Alexey I. Froloff wrote:
> $ LC_MESSAGES=C rpm -q --qf='%{SUMMARY}\n' vim-common
> Общие для всех вариантов VIM файлы
> $ LANG=C rpm -q --qf='%{SUMMARY}\n' vim-common
> Общие для всех вариантов VIM файлы
> $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> Общие для всех вариантов VIM файлы
> $ LANGUAGE=C rpm -q --qf='%{SUMMARY}\n' vim-common
> The common files needed by any version of the VIM editor
> 
> И как это понимать?  Вот за это я и не люблю GNU'шников... :-/
> 
> Как мне кажется, у LC_* приоритет должен быть выше.
> Соответственно LANGUAGE если используется, то должен это делать
> перед LANG, а никак не в первую очередь.  Куда баг вешать?

Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
надобности.

Цитата из gettext(3):

If the LANGUAGE environment variable is set to a  nonempty  value,  and
the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
contain a colon separated list of  locale  names.  The  functions  will
attempt  to  look  up  a translation of msgid in each of the locales in
turn.  This is a GNU extension.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 14:45 ` Dmitry V. Levin
@ 2004-06-26 14:48   ` Dmitry V. Levin
  2004-06-26 15:21     ` Alexey I. Froloff
  2004-06-26 15:28   ` Sergey Vlasov
  1 sibling, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 14:48 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 590 bytes --]

On Sat, Jun 26, 2004 at 06:45:43PM +0400, Dmitry V. Levin wrote:
> On Sat, Jun 26, 2004 at 06:19:52PM +0400, Alexey I. Froloff wrote:
[...]
> > И как это понимать?  Вот за это я и не люблю GNU'шников... :-/
> > 
> > Как мне кажется, у LC_* приоритет должен быть выше.
> > Соответственно LANGUAGE если используется, то должен это делать
> > перед LANG, а никак не в первую очередь.  Куда баг вешать?
> 
> Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
> надобности.

Точнее говоря, прежде чем вешать баги, следует прочесть документацию.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 14:48   ` Dmitry V. Levin
@ 2004-06-26 15:21     ` Alexey I. Froloff
  2004-06-26 15:35       ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Alexey I. Froloff @ 2004-06-26 15:21 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 778 bytes --]

* Dmitry V. Levin <ldv@> [040626 18:50]:
> > > Как мне кажется, у LC_* приоритет должен быть выше.
> > > Соответственно LANGUAGE если используется, то должен это делать
> > > перед LANG, а никак не в первую очередь.  Куда баг вешать?
> > Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
> > надобности.
> Точнее говоря, прежде чем вешать баги, следует прочесть документацию.
Тогда кто прописывает LANGUAGE в /etc/sysconfig/i18n ?

$ cat /etc/sysconfig/i18n 
SYSFONTACM=koi8-r
LANGUAGE=ru_RU.KOI8-R
SYSFONT=UniCyr_8x16
LANG=ru_RU.KOI8-R

Это - свежеустановленый kompact.  Во всех мастерах/жуниорах то же
самое.  Вот мой ~/.i18n:

. /etc/sysconfig/i18n

LC_NUMERIC=POSIX
LC_TIME=POSIX
LC_MESSAGES=POSIX

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 14:45 ` Dmitry V. Levin
  2004-06-26 14:48   ` Dmitry V. Levin
@ 2004-06-26 15:28   ` Sergey Vlasov
  2004-06-26 15:40     ` Dmitry V. Levin
  2004-06-26 17:01     ` Dmitry V. Levin
  1 sibling, 2 replies; 10+ messages in thread
From: Sergey Vlasov @ 2004-06-26 15:28 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1646 bytes --]

On Sat, Jun 26, 2004 at 06:45:43PM +0400, Dmitry V. Levin wrote:
> On Sat, Jun 26, 2004 at 06:19:52PM +0400, Alexey I. Froloff wrote:
> > $ LC_MESSAGES=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > Общие для всех вариантов VIM файлы
> > $ LANG=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > Общие для всех вариантов VIM файлы
> > $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > Общие для всех вариантов VIM файлы
> > $ LANGUAGE=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > The common files needed by any version of the VIM editor
> > 
> > И как это понимать?  Вот за это я и не люблю GNU'шников... :-/
> > 
> > Как мне кажется, у LC_* приоритет должен быть выше.
> > Соответственно LANGUAGE если используется, то должен это делать
> > перед LANG, а никак не в первую очередь.  Куда баг вешать?
> 
> Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
> надобности.

Так ведь несоответствие налицо:

> > $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > Общие для всех вариантов VIM файлы

Почему в locale "C" продолжает работать LANGUAGE?

> Цитата из gettext(3):
> 
> If the LANGUAGE environment variable is set to a  nonempty  value,  and
> the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
> contain a colon separated list of  locale  names.  The  functions  will
> attempt  to  look  up  a translation of msgid in each of the locales in
> turn.  This is a GNU extension.

gettext как раз ведёт себя в соответствии с этим описанием.  А rpm для
выбора языка описания пакета использует собственные функции, поведение
которых не соответствует поведению gettext.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 15:21     ` Alexey I. Froloff
@ 2004-06-26 15:35       ` Dmitry V. Levin
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 15:35 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1338 bytes --]

On Sat, Jun 26, 2004 at 07:21:09PM +0400, Alexey I. Froloff wrote:
> * Dmitry V. Levin <ldv@> [040626 18:50]:
> > > > Как мне кажется, у LC_* приоритет должен быть выше.
> > > > Соответственно LANGUAGE если используется, то должен это делать
> > > > перед LANG, а никак не в первую очередь.  Куда баг вешать?
> > > Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
> > > надобности.
> > Точнее говоря, прежде чем вешать баги, следует прочесть документацию.
> Тогда кто прописывает LANGUAGE в /etc/sysconfig/i18n ?

Наверное, есть нехороший человек, который вносит баги в хорошие программы.
Вот он и прописывает этот LANGUAGE.

Насколько я понимаю, LANGUAGE в конфигурации по умолчанию имеет смысл
только при необходимости поддержки одновременного перевода на несколько
языков (при этом LANGUAGE определяет порядок поиска перевода).

> $ cat /etc/sysconfig/i18n 
> SYSFONTACM=koi8-r
> LANGUAGE=ru_RU.KOI8-R
> SYSFONT=UniCyr_8x16
> LANG=ru_RU.KOI8-R
> 
> Это - свежеустановленый kompact.  Во всех мастерах/жуниорах то же
> самое.  Вот мой ~/.i18n:
> 
> . /etc/sysconfig/i18n
> 
> LC_NUMERIC=POSIX
> LC_TIME=POSIX
> LC_MESSAGES=POSIX

Это безобразие, и чем больше пользователей будет знать об этом, тем
вероятнее, что оно (безобразие) не попадёт в другие дистрибутивы.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 15:28   ` Sergey Vlasov
@ 2004-06-26 15:40     ` Dmitry V. Levin
  2004-06-26 17:01     ` Dmitry V. Levin
  1 sibling, 0 replies; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 15:40 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 944 bytes --]

On Sat, Jun 26, 2004 at 07:28:50PM +0400, Sergey Vlasov wrote:
> Так ведь несоответствие налицо:
> 
> > > $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > Общие для всех вариантов VIM файлы
> 
> Почему в locale "C" продолжает работать LANGUAGE?

Вследствие того, что ...

> > Цитата из gettext(3):
> > 
> > If the LANGUAGE environment variable is set to a  nonempty  value,  and
> > the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
> > contain a colon separated list of  locale  names.  The  functions  will
> > attempt  to  look  up  a translation of msgid in each of the locales in
> > turn.  This is a GNU extension.
> 
> gettext как раз ведёт себя в соответствии с этим описанием.  А rpm для
> выбора языка описания пакета использует собственные функции, поведение
> которых не соответствует поведению gettext.

... это имеет место быть.  Допишите к/переформулируйте #1379.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 15:28   ` Sergey Vlasov
  2004-06-26 15:40     ` Dmitry V. Levin
@ 2004-06-26 17:01     ` Dmitry V. Levin
  2004-06-26 17:51       ` Sergey Vlasov
  1 sibling, 1 reply; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 17:01 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1892 bytes --]

On Sat, Jun 26, 2004 at 07:28:50PM +0400, Sergey Vlasov wrote:
> On Sat, Jun 26, 2004 at 06:45:43PM +0400, Dmitry V. Levin wrote:
> > On Sat, Jun 26, 2004 at 06:19:52PM +0400, Alexey I. Froloff wrote:
> > > $ LC_MESSAGES=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > Общие для всех вариантов VIM файлы
> > > $ LANG=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > Общие для всех вариантов VIM файлы
> > > $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > Общие для всех вариантов VIM файлы
> > > $ LANGUAGE=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > The common files needed by any version of the VIM editor
> > > 
> > > И как это понимать?  Вот за это я и не люблю GNU'шников... :-/
> > > 
> > > Как мне кажется, у LC_* приоритет должен быть выше.
> > > Соответственно LANGUAGE если используется, то должен это делать
> > > перед LANG, а никак не в первую очередь.  Куда баг вешать?
> > 
> > Надо не баги вешать, а документацию читать и не использовать LANGUAGE без
> > надобности.
> 
> Так ведь несоответствие налицо:
> 
> > > $ LC_ALL=C rpm -q --qf='%{SUMMARY}\n' vim-common
> > > Общие для всех вариантов VIM файлы
> 
> Почему в locale "C" продолжает работать LANGUAGE?
> 
> > Цитата из gettext(3):
> > 
> > If the LANGUAGE environment variable is set to a  nonempty  value,  and
> > the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
> > contain a colon separated list of  locale  names.  The  functions  will
> > attempt  to  look  up  a translation of msgid in each of the locales in
> > turn.  This is a GNU extension.
> 
> gettext как раз ведёт себя в соответствии с этим описанием.  А rpm для
> выбора языка описания пакета использует собственные функции, поведение
> которых не соответствует поведению gettext.

Ok, поведение очередной сборки librpm в этом вопросе будет идентично
поведению gettext.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 17:01     ` Dmitry V. Levin
@ 2004-06-26 17:51       ` Sergey Vlasov
  2004-06-26 19:49         ` Dmitry V. Levin
  0 siblings, 1 reply; 10+ messages in thread
From: Sergey Vlasov @ 2004-06-26 17:51 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1391 bytes --]

On Sat, Jun 26, 2004 at 09:01:33PM +0400, Dmitry V. Levin wrote:
> > > If the LANGUAGE environment variable is set to a  nonempty  value,  and
> > > the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
> > > contain a colon separated list of  locale  names.  The  functions  will
> > > attempt  to  look  up  a translation of msgid in each of the locales in
> > > turn.  This is a GNU extension.
> > 
> > gettext как раз ведёт себя в соответствии с этим описанием.  А rpm для
> > выбора языка описания пакета использует собственные функции, поведение
> > которых не соответствует поведению gettext.
> 
> Ok, поведение очередной сборки librpm в этом вопросе будет идентично
> поведению gettext.

Вот, кстати, ещё одно потенциальное несоответствие:

$ env - LC_CTYPE=en_US.UTF-8 LC_MESSAGES=ru_RU.CP1251 rpm -q --qf='%{SUMMARY}\n' vim-common | iconv -f cp1251
Общие для всех вариантов VIM файлы

$ env - LC_CTYPE=en_US.UTF-8 LC_MESSAGES=ru_RU.CP1251 rpm -q --qf='%{GROUP}\n' vim-common | iconv -f utf-8
Редакторы

Т.е., gettext (используемый для вывода поля GROUP) при перекодировке
использует ту кодировку, которая установлена через LC_CTYPE, не
обращая внимания на кодировку в LC_MESSAGES.  rpm же в подобной
ситуации сейчас берёт кодировку из LC_MESSAGES.  Это тоже необходимо
исправлять, иначе в выводе rpm -qi возможна мешанина из кодировок.

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [devel] QI: POSIX/SUS locale violation?
  2004-06-26 17:51       ` Sergey Vlasov
@ 2004-06-26 19:49         ` Dmitry V. Levin
  0 siblings, 0 replies; 10+ messages in thread
From: Dmitry V. Levin @ 2004-06-26 19:49 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1690 bytes --]

On Sat, Jun 26, 2004 at 09:51:27PM +0400, Sergey Vlasov wrote:
> On Sat, Jun 26, 2004 at 09:01:33PM +0400, Dmitry V. Levin wrote:
> > > > If the LANGUAGE environment variable is set to a  nonempty  value,  and
> > > > the  locale  is not the "C" locale, the value of LANGUAGE is assumed to
> > > > contain a colon separated list of  locale  names.  The  functions  will
> > > > attempt  to  look  up  a translation of msgid in each of the locales in
> > > > turn.  This is a GNU extension.
> > > 
> > > gettext как раз ведёт себя в соответствии с этим описанием.  А rpm для
> > > выбора языка описания пакета использует собственные функции, поведение
> > > которых не соответствует поведению gettext.
> > 
> > Ok, поведение очередной сборки librpm в этом вопросе будет идентично
> > поведению gettext.
> 
> Вот, кстати, ещё одно потенциальное несоответствие:
> 
> $ env - LC_CTYPE=en_US.UTF-8 LC_MESSAGES=ru_RU.CP1251 rpm -q --qf='%{SUMMARY}\n' vim-common | iconv -f cp1251
> Общие для всех вариантов VIM файлы
> 
> $ env - LC_CTYPE=en_US.UTF-8 LC_MESSAGES=ru_RU.CP1251 rpm -q --qf='%{GROUP}\n' vim-common | iconv -f utf-8
> Редакторы
> 
> Т.е., gettext (используемый для вывода поля GROUP) при перекодировке
> использует ту кодировку, которая установлена через LC_CTYPE, не
> обращая внимания на кодировку в LC_MESSAGES.  rpm же в подобной
> ситуации сейчас берёт кодировку из LC_MESSAGES.  Это тоже необходимо
> исправлять, иначе в выводе rpm -qi возможна мешанина из кодировок.

Это тоже исправлено, т.е. вывод headerFindI18NString (таких как
%{SUMMARY}) теперь будет происходить по тем же правилам, что и у
gettext(3) (таких как %{GROUP}).


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2004-06-26 19:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-06-26 14:19 [devel] QI: POSIX/SUS locale violation? Alexey I. Froloff
2004-06-26 14:45 ` Dmitry V. Levin
2004-06-26 14:48   ` Dmitry V. Levin
2004-06-26 15:21     ` Alexey I. Froloff
2004-06-26 15:35       ` Dmitry V. Levin
2004-06-26 15:28   ` Sergey Vlasov
2004-06-26 15:40     ` Dmitry V. Levin
2004-06-26 17:01     ` Dmitry V. Levin
2004-06-26 17:51       ` Sergey Vlasov
2004-06-26 19:49         ` Dmitry V. Levin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git