Bug 6988

Summary: unable to work in locale with utf8 charmap
Product: Sisyphus Reporter: inger <inger>
Component: groffAssignee: Alexey Voinov <voins>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: abulava, lav, legion, mike, rider, smi, sr, voins
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 10446    

Description inger@altlinux.org 2005-06-02 13:05:42 MSD
groff в Сизифе совершенно не работоспособен в локали utf8. Все другие вендоры
используют хак от Debian. Может быть и нам его приложить?

Понятно что некрасиво, но что делать - иначе работать в консоли невозможно.
Comment 1 Anton Farygin 2005-06-02 13:07:11 MSD
Это исправление нужно для выпуска любого дистрибутива с юникодной локалью,
включая livecd
Comment 2 inger@altlinux.org 2005-06-02 13:20:48 MSD
http://www.mail-archive.com/groff@gnu.org/msg00051.html
Comment 3 Alexey Voinov 2005-06-02 20:18:51 MSD
На то, чтобы заниматься аккуратным прикладыванием этого патча у меня сейчас
времени нет. Прикладывать неглядя заведомо кривой патч я не буду.

Рабочее решение может получиться, если кто-нибудь пропатчит man, чтобы он
добавлял на выходе из groff перекодирующие фильтры.
Comment 4 Dmitry V. Levin 2005-06-02 20:47:27 MSD
Боюсь, что на выходе из groff перекодировать уже нечего.
Comment 5 Dmitry V. Levin 2005-06-02 20:55:11 MSD
Voins, посмотри на вывод от
bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tutf8 -t -mandoc
Если ты придумаешь, как это преобразовать во что-то читабельное...
Comment 6 Alexey Voinov 2005-06-02 21:07:09 MSD
bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tlatin1 -t -mandoc|
iconv -f koi8-r -t utf-8 -c

-Tlatin1 у нас прохачен в groff с незапамятных времён. iconv в конце преобразует
из кодировки, в которой лежит man, в кодировку локали. Так как groff не
переваривает utf на входе, то хранить manы в utf невозможно.
Comment 7 Dmitry V. Levin 2005-06-02 22:10:05 MSD
Voins, времена прохачивания -Tlatin1 я ещё помню, а "-t utf8" лишний :)
Ты думаешь, что вывернуть man наизнанку будет проще, чем зафиксить groff?
Comment 8 Alexey Voinov 2005-06-02 22:16:25 MSD
Однозначно. Я уже несколько дней наблюдаю, как Вартан именно этим занимается.
(прикручивает utf к groffу по-нормальному). groff внутри сломан от рождения.

(А -t utf-8 появилось, потому что я сперва пробовал это в koi8r :) )
Comment 9 Dmitry V. Levin 2005-06-02 22:37:27 MSD
Да, man перевернуть вверх тормашками немного проще будет.
Comment 10 Dmitry V. Levin 2005-06-03 00:14:14 MSD
Ёлки-палки, я и забыл, что man уже давно не мой пакет. :)
Comment 11 Dmitry V. Levin 2005-06-03 00:35:46 MSD
Ладно, это изменение я сделаю, а последствия будем расхлёбывать потом.
Comment 12 Dmitry V. Levin 2005-06-03 00:36:36 MSD
Fixed in 1.5m2-alt3
Comment 13 Dmitry V. Levin 2005-06-03 02:06:13 MSD
Я верю, что изменение, которое я сделал в man-1.5m2-alt3 для того, чтобы решить
эту проблему, что-нибудь обязательно испортит.  Просьба тем, кто сможет, сегодня
в пятницу проверить пакет
/raid/ALT/current/Sisyphus/files/i586/RPMS/man-1.5m2-alt3.i586.rpm
до того, как он будет выложен - вдруг вреда больше чем пользы?
Comment 14 Alexey Voinov 2005-06-03 08:43:59 MSD
Может я что-то не так делаю, но вот
$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
$ man gpg.ru
gpg(1)                                                                  gpg(1)

NAME
       gpg -- &#201;&#206;&#211;&#212;&#210;&#213;&#205;&#197;&#206;&#212; &#196;&#204;&#209; &#219;&#201;&#198;&#210;&#207;&#215;&#193;&#206;&#201;&#209; &#201; &#195;&#201;&#198;&#210;&#207;&#215;&#207;&#202; &#208;&#207;&#196;&#208;&#201;&#211;&#201;

SYNOPSIS
       gpg [--homedir name] [--options file] [options] command [args]

&#239;&#240;&#233;&#243;&#225;&#238;&#233;&#229;
       gpg &#207;&#211;&#206;&#207;&#215;&#206;&#193;&#209; &#208;&#210;&#207;&#199;&#210;&#193;&#205;&#205;&#193; &#211;&#201;&#211;&#212;&#197;&#205;&#217; GnuPG.

       &#228;&#193;&#206;&#206;&#207;&#197;  &#210;&#213;&#203;&#207;&#215;&#207;&#196;&#211;&#212;&#215;&#207;  &#209;&#215;&#204;&#209;&#197;&#212;&#211;&#209;  &#222;&#193;&#211;&#212;&#216;&#192; GnuPG.  GnuPG &#210;&#193;&#211;&#208;&#210;&#207;&#211;&#212;&#210;&#193;&#206;&#209;&#197;&#212;&#211;&#209; &#206;&#193;
       &#213;&#211;&#204;&#207;&#215;&#201;&#209;&#200; GNU General Public License, &#207;&#208;&#213;&#194;&#204;&#201;&#203;&#207;&#215;&#193;&#206;&#206;&#207;&#202; Free Software Foun-
       dation;  &#204;&#201;&#194;&#207;  &#215;&#197;&#210;&#211;&#201;&#201;  2, &#204;&#201;&#194;&#207; (&#206;&#193; ÷&#193;&#219;&#197; &#213;&#211;&#205;&#207;&#212;&#210;&#197;&#206;&#201;&#197;) &#204;&#192;&#194;&#207;&#202; &#194;&#207;&#204;&#197;&#197; &#208;&#207;&#218;&#196;&#206;&#197;&#202;
       &#215;&#197;&#210;&#211;&#201;&#201;.
$ rpm -q man
man-1.5m2-alt3

Т.е. никакого перекодирования я не вижу
Comment 15 Dmitry V. Levin 2005-06-03 13:58:28 MSD
Я проверял в uxterm'е.
Comment 16 inger@altlinux.org 2005-06-03 14:23:50 MSD
А перекодировщик, ссылку на который я постил, не поможет?
Comment 17 Dmitry V. Levin 2005-06-03 14:25:34 MSD
Стас, ты у кого спрашиваешь?
Comment 18 inger@altlinux.org 2005-06-03 14:27:05 MSD
У вас обоих. Как я понимаю твоё изменение не прокатывает, судя по сообщению voins.
И не надо закрывать багу, пока она не исправлена.
Comment 19 inger@altlinux.org 2005-06-03 14:27:55 MSD
я бы всё-таки эту багу оставил на Лёше.
Comment 20 Dmitry V. Levin 2005-06-03 14:31:59 MSD
Насколько я понимаю, мантейнер пакета groff у нас Voins, и он против этого хака.
Мой хак на man у меня работает.
Проверь сам и напиши, работает ли man-1.5m2-alt3 у тебя.
Comment 21 inger@altlinux.org 2005-06-03 14:34:51 MSD
Ага, подтверждаю, хак работает.
Только багу с groff снимать не надо до тех пор пока он не будет исправлен.
Comment 22 Dmitry V. Levin 2005-06-03 14:42:02 MSD
Договорились.
Comment 23 inger@altlinux.org 2005-06-03 14:45:10 MSD
ok ;) - я и не заметил как ты багу на man успел перевесить ;)))
от groff много кто ещё зависит, и все они ждут исправления на уровне именно groff.

Comment 24 Dmitry V. Levin 2007-03-31 23:49:46 MSD
Кто у нас нынче мантейнер пакета groff?
Comment 25 Anton Farygin 2007-04-01 00:06:51 MSD
Судя по пакету - legion
Comment 26 Alexey Gladkov 2008-08-23 03:28:46 MSD
В сизиф ушла сборка: groff-1.19.3-alt1.20080822.
Она умеет определять и перекодировать man-страницы... в т.ч. из/в utf8.