[devel] [JT] О кодировке названий файлов при монтировании

Alexey Morozov =?iso-8859-1?q?alex-altlinux_=CE=C1_idisys=2Eiae=2Ensk=2Esu?=
Вт Фев 22 14:08:14 MSK 2005


On Tue, Feb 22, 2005 at 12:49:35PM +0300, Vitaly Lipatov wrote:
> > Те, кто пытаются, по крайней мере, представляют себе
> > _алгоритм_ действий и степень его применимости. Возможно, я
> Ну это заметно, особенно по советам на приведённой вами ссылке :)
Ну, уж, на безрыбье...

> > О _какой_ кодировке? Что, если на машине три разноязыких
> > пользователя, использующих, к тому же, 5-6 кодировок в сумме?
> > Какую кодировку Вы будете использовать в этом случае?
> Я уже ответил Антону рядом.
> По текущей реализации при монтировании, например, будет
> использоваться кодировка, полученная из локали пользователя.
> Если это невозможно, будет использоваться общесистемная 
А где критерий "возможности"? Я уверяю Вас, легким движением
указательных пальцев я сломаю Вашу конструкцию. Причем так,
что ваш алгоритм этого даже и не почувствует.

> кодировка, полученная из системной локали.
> Кого это не устроит?
Это не устроит тех, кто ждет либо _решения_, либо довольствуется
нынешним состоянием, когда все решается на уровне "негласных"
договоренностей и соглашений.

> > emacs), является UTF-8.
> Это давно понятно. Начните с патчей к mc и чего там - zsh? :)
Мне говорят, что уже все есть. В FC, например. Но, подчеркиваю,
это _Вы_ начали танцы с определением кодировки пользователя.

> > > Мне кажется, в _системе_ все файлы должны именоваться в
> > > одной кодировке. Если нужны исключения - объясните и
> > > отдельно укажите.
> >
> > Да. Но такой кодировкой может быть только UTF-8.
> Вы говорите об идеальном варианте. Не согласится нельзя.
Я говорю о _реальном_ варианте. Которого, однако, нет в Альт.
И уж если говорить о приведении системы "в чувство", а не возведении
очередного карточного домика костылей и подпорок, то именно сюда
стоит прикладывать все усилия.

> Но сегодня у меня koi8-r, у других - cp1251, и продлится это ещё 
> долго.
Это продлится до тех пор, пока кто-нибудь не возьмется, да и не
перенесет патчи.

> > > А кодировка пользователя - это что такое? Его локаль?
> > Нет. В этом-то, вообще говоря, еще одна проблема. Мне не
> > удалось с наскока провести в общем случае соответствие между
> > локалью и кодировкой.
> А я считаю, что мне удалось. И без наскока, а проанализировав
> glibc, glib, wine, kernel, gettext, mount в нужных местах.
Круто. Анализ кода wine вообще должен награждаться медалью
за отвагу в мирное время. А вот за его использование, похоже,
стоит расстреливать перед строем :-)

> > То есть, речь о UTF-8? Так и запишем.
> Не записывайте, о чём речь не понял.
О том, что единственной кодировкой, которая достойна называться
"системной" является UTF-8.

> > > Проблемы пользователей, имеющие отличную от системной
> > > локаль, давайте обсудим отдельно:
> > >  - примеры, зачем это нужно
> > Хе-хе... Некоторые из наших друзей сочтут этот вопрос
> > имперским шовинизмом ;-).
> У нас общие друзья?
Ну, вот когда Мыхайло Шыгорин з Киэва отправится в официальный
дружественный визит в сопредельное государство, вы ж его
недругом звать не будете? ;-)

2MS: Миша, прости, у меня терминал в KOI8, я при всем желании
не смог бы воспроизвести все буковки, требуемые для. Пришлось
транскрибировать :-).

> Мои - не сочтут. Как и любые мои вопросы.
Звучало не как вопрос, звучало как приговор :-)

> > Виталий, знаете, не надо никакой магии. Совсем. Юникс - это
> > про простые, даже кондовые решения.
> Вы это расскажите тем кускам кода, которые реализуют 
> локале/чарсетные хаки, вшитые намертво кодировки iso8859-1 и пр.
А не нужно их использовать. Совсем. Потому что ломается в самое
неподходящее время в самом неподходящем месте.

> > Для тех устройств, монтирование которых не отдано на откуп
> > HAL'у, настройка проводится в fstab. Причем, скорее всего,
> > прямо таки инсталлятором, или соответствующей ему "runtime"
> А потом я добавляю новый диск...
Тут-то на него HAL и набросится.

> А потом я меняю системную локаль...
Зачем? ;-) Вы ж написали раньше, что локаль должна быть одна :-).
К тому же, если вы смените "системную локаль", некоторые из файликов
примут, э-э-э, странный вид :-).

> > частью. Для устройств, чьим монтированием заведует HAL,
> > прописывается мале^H^H^H^H ну, не очень большой файлик, XML
> > все-таки, понимать надо, там маленьких файлов не бывает по
> > определению :-), где сказано: если файловая система fat (и
> > производные) использовать koi8-r.
> С какой стати koi8-r?
Я ж написал в отрезанном: решение ДЛЯ МЕНЯ.

> Из добавленного параметра SYSMOUNTCHARSET?
А SYSMOUNTCHARSET - это расширение данной подпорки на "общий случай".

> А если у меня нет HAL,
по нынешним временам это уже пахнет ересью.

> если я не поставил этот параметр, который -
перечитайте еще раз, пожалуйста, отрезанное. Что там откуда берется
и какие fallback'и.

> новая выдумка (с обоснованием?) на тему ALT specific.
Да, выдумка. Без обоснования. Благо на нее было потрачено меньше
времени, чем на любое возможное обоснование.

> > Хуже того, я публиковал уже решение, которое позволит
> > автоматически настраивать HAL на ту кодировку, которая реально
> > использовать в системе.
> Когда увидим, тогда обсудим.
Умеющий читать, натурально...

> > Мы уже там :-).
> Только пока системы нет. Я не про Сизиф.
Ой. Тогда вообще ничего нет... Все лишь призрак...
(/me мучительно борется с приступом солипсизма).

> > Нет. Как я уже говорил, проставить соответствие между
> > кодировкой и локалью в общем случае вот так вот запросто
> А я говорю что можно. И дальше что?
Вы молодец.

> > нельзя. Ну, точнее, я, глядя в info libc, такого способа не
> > увидал.
> Ну так посмотрите вывод
> natspec -i и скажите в чём ощибка :)
В отсутствии [должной] поддержки tatar_cyr, официально заявленной
как поддерживаемой в ALT? ;-)

Вообще, похоже, читать отсюда: http://www.peoples.org.ru/

К тому же, носить в брюхе описание всех возможных кодировок, которые
только могут быть доступны в libc, и прочую дрянь -  э-э-э, чревато.
Не ровен час, проклюнется кто в самый неожиданный момент, потом придется
зачищать территорию нажатием на кнопку самоуничтожения.

> > . /etc/sysconfig/i18n
> >
> > : ${SYSFONTACM:=koi8-r}
> > : ${SYSMOUNTCHARSET:=$SYSFONTACM}
> >
> > echo $SYSMOUNTCHARSET
> А все, кто потянутся, скажут что это проще?
> А как я в программе на C узнаю эту переменную?
Я могу написать библиотечную обвязку над exec?* ;-)

Ну и getenv еще никто не отменял, вообще-то ;-)

> > http://lists.altlinux.ru/pipermail/devel/2005-February/017892.html
> Читал. Не проникся простотой.
Простотой определения кодировки? Сможете проще? ;-)

Или простотой указания кодировки HAL'у? Хе-хе, это новые технологии,
понимать надо, программа без зумля в 2005 году выглядит как динозавр,
проснувшийся при таянии полярных льдов.

В общем, конечно, я не то, чтобы против, в конце-концов, у нас тут джаст
фо фан, чтобы кому-либо что-либо указывать. Но, сдается, мне, что Ваша
библиотека - это не серебряная пуля, а ...танец вприсядку. Я лучше
попробую выковырять из федоры патчи ютээфные.

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20050222/5491d00c/attachment-0001.bin>


Подробная информация о списке рассылки Devel