Bug 38404 - glibc-locales: перевод в noarch
Summary: glibc-locales: перевод в noarch
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: glibc-locales (show other bugs)
Version: unstable
Hardware: x86 Linux
: P5 normal
Assignee: placeholder@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-27 13:29 MSK by Andrew Savchenko
Modified: 2020-05-26 21:30 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Savchenko 2020-04-27 13:29:00 MSK
Добрый день!

На данный момент glibc-locales — это arch-пакет. На мой взгляд это плохо, т.к. локали не зависят от архитектуры и занимают основной объём пакета. С другой стороны, сейчас в пакете glibc-locales лежат /usr/bin/locale{,def}, что объясняет статус arch-пакета.

Что предлагается:
1) Перенести /usr/bin/locale{,def} из glibc-locales в glibc-utils.
2) Сделать оставшийся glibc-locales пакет noarch.
Comment 1 Gleb F-Malinovskiy 2020-05-26 19:52:08 MSK
(Ответ для 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, эта программа нужна только для того, чтобы компилировать локали.
Comment 2 Andrew Savchenko 2020-05-26 20:16:17 MSK
(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, эта программа нужна только
> для того, чтобы компилировать локали.

Согласен.
Comment 3 Gleb F-Malinovskiy 2020-05-26 20:27:06 MSK
(Ответ для Andrew Savchenko на комментарий #0)
> На мой взгляд это плохо,
> т.к. локали не зависят от архитектуры ...

А вот тут прокол -- локали судя по всему зависят от endianness, т.е. зависят от архитектуры.
Comment 4 Dmitry V. Levin 2020-05-26 20:38:42 MSK
(In reply to Gleb F-Malinovskiy from comment #3)
> (Ответ для Andrew Savchenko на комментарий #0)
> > На мой взгляд это плохо,
> > т.к. локали не зависят от архитектуры ...
> 
> А вот тут прокол -- локали судя по всему зависят от endianness, т.е. зависят
> от архитектуры.

У localedef есть параметры --big-endian и --little-endian, но я не помню, умеет ли glibc правильно читать локали, сгенерённые в чужой endianness.
Comment 5 Gleb F-Malinovskiy 2020-05-26 21:05:13 MSK
(Ответ для 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
#
Comment 6 Andrew Savchenko 2020-05-26 21:30:15 MSK
Но ведь у нас нет big endian архитектур.