Добрый день! На данный момент glibc-locales — это arch-пакет. На мой взгляд это плохо, т.к. локали не зависят от архитектуры и занимают основной объём пакета. С другой стороны, сейчас в пакете glibc-locales лежат /usr/bin/locale{,def}, что объясняет статус arch-пакета. Что предлагается: 1) Перенести /usr/bin/locale{,def} из glibc-locales в glibc-utils. 2) Сделать оставшийся glibc-locales пакет noarch.
(Ответ для Andrew Savchenko на комментарий #0) > 1) Перенести /usr/bin/locale{,def} из glibc-locales в glibc-utils. В этом случае придётся делать в glibc-locales зависимость на glibc-utils для обратной совместимости, а у него есть зависимость на perl. У меня есть другое предложение -- не менять зависимости, но 1. /usr/bin/locale переложить в glibc-core, эта программа и без glibc-locales имеет смысл -- она и без локалей работает и показывает, что локалей нет если надо. 2. /usr/bin/localedef переложить в glibc-utils, эта программа нужна только для того, чтобы компилировать локали.
(In reply to Gleb F-Malinovskiy from comment #1) > (Ответ для Andrew Savchenko на комментарий #0) > > 1) Перенести /usr/bin/locale{,def} из glibc-locales в glibc-utils. > > В этом случае придётся делать в glibc-locales зависимость на glibc-utils для > обратной совместимости, а у него есть зависимость на perl. > > У меня есть другое предложение -- не менять зависимости, но > 1. /usr/bin/locale переложить в glibc-core, эта программа и без > glibc-locales имеет смысл -- она и без локалей работает и показывает, что > локалей нет если надо. > 2. /usr/bin/localedef переложить в glibc-utils, эта программа нужна только > для того, чтобы компилировать локали. Согласен.
(Ответ для Andrew Savchenko на комментарий #0) > На мой взгляд это плохо, > т.к. локали не зависят от архитектуры ... А вот тут прокол -- локали судя по всему зависят от endianness, т.е. зависят от архитектуры.
(In reply to Gleb F-Malinovskiy from comment #3) > (Ответ для Andrew Savchenko на комментарий #0) > > На мой взгляд это плохо, > > т.к. локали не зависят от архитектуры ... > > А вот тут прокол -- локали судя по всему зависят от endianness, т.е. зависят > от архитектуры. У localedef есть параметры --big-endian и --little-endian, но я не помню, умеет ли glibc правильно читать локали, сгенерённые в чужой endianness.
(Ответ для Dmitry V. Levin на комментарий #4) > но я не помню, > умеет ли glibc правильно читать локали, сгенерённые в чужой endianness. К сожалению, нет: # export LC_ALL=en_US.utf8 # localedef --little-endian -i en_US -c -f UTF-8 en_US.utf8 # locale LC_MEASUREMENT 2 UTF-8 # localedef --big-endian -i en_US -c -f UTF-8 en_US.utf8 # locale LC_MEASUREMENT locale: Cannot set LC_CTYPE to default locale: Invalid argument locale: Cannot set LC_MESSAGES to default locale: Invalid argument locale: Cannot set LC_ALL to default locale: Invalid argument 1 ANSI_X3.4-1968 #
Но ведь у нас нет big endian архитектур.