groff в Сизифе совершенно не работоспособен в локали utf8. Все другие вендоры используют хак от Debian. Может быть и нам его приложить? Понятно что некрасиво, но что делать - иначе работать в консоли невозможно.
Это исправление нужно для выпуска любого дистрибутива с юникодной локалью, включая livecd
http://www.mail-archive.com/groff@gnu.org/msg00051.html
На то, чтобы заниматься аккуратным прикладыванием этого патча у меня сейчас времени нет. Прикладывать неглядя заведомо кривой патч я не буду. Рабочее решение может получиться, если кто-нибудь пропатчит man, чтобы он добавлял на выходе из groff перекодирующие фильтры.
Боюсь, что на выходе из groff перекодировать уже нечего.
Voins, посмотри на вывод от bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tutf8 -t -mandoc Если ты придумаешь, как это преобразовать во что-то читабельное...
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 невозможно.
Voins, времена прохачивания -Tlatin1 я ещё помню, а "-t utf8" лишний :) Ты думаешь, что вывернуть man наизнанку будет проще, чем зафиксить groff?
Однозначно. Я уже несколько дней наблюдаю, как Вартан именно этим занимается. (прикручивает utf к groffу по-нормальному). groff внутри сломан от рождения. (А -t utf-8 появилось, потому что я сперва пробовал это в koi8r :) )
Да, man перевернуть вверх тормашками немного проще будет.
Ёлки-палки, я и забыл, что man уже давно не мой пакет. :)
Ладно, это изменение я сделаю, а последствия будем расхлёбывать потом.
Fixed in 1.5m2-alt3
Я верю, что изменение, которое я сделал в man-1.5m2-alt3 для того, чтобы решить эту проблему, что-нибудь обязательно испортит. Просьба тем, кто сможет, сегодня в пятницу проверить пакет /raid/ALT/current/Sisyphus/files/i586/RPMS/man-1.5m2-alt3.i586.rpm до того, как он будет выложен - вдруг вреда больше чем пользы?
Может я что-то не так делаю, но вот $ 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 -- ÉÎÓÔÒÕÍÅÎÔ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ É ÃÉÆÒÏ×ÏÊ ÐÏÄÐÉÓÉ SYNOPSIS gpg [--homedir name] [--options file] [options] command [args] ïðéóáîéå gpg ÏÓÎÏ×ÎÁÑ ÐÒÏÇÒÁÍÍÁ ÓÉÓÔÅÍÙ GnuPG. äÁÎÎÏÅ ÒÕËÏ×ÏÄÓÔ×Ï Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ GnuPG. GnuPG ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÎÁ ÕÓÌÏ×ÉÑÈ GNU General Public License, ÏÐÕÂÌÉËÏ×ÁÎÎÏÊ Free Software Foun- dation; ÌÉÂÏ ×ÅÒÓÉÉ 2, ÌÉÂÏ (ÎÁ ÷ÁÛÅ ÕÓÍÏÔÒÅÎÉÅ) ÌÀÂÏÊ ÂÏÌÅÅ ÐÏÚÄÎÅÊ ×ÅÒÓÉÉ. $ rpm -q man man-1.5m2-alt3 Т.е. никакого перекодирования я не вижу
Я проверял в uxterm'е.
А перекодировщик, ссылку на который я постил, не поможет?
Стас, ты у кого спрашиваешь?
У вас обоих. Как я понимаю твоё изменение не прокатывает, судя по сообщению voins. И не надо закрывать багу, пока она не исправлена.
я бы всё-таки эту багу оставил на Лёше.
Насколько я понимаю, мантейнер пакета groff у нас Voins, и он против этого хака. Мой хак на man у меня работает. Проверь сам и напиши, работает ли man-1.5m2-alt3 у тебя.
Ага, подтверждаю, хак работает. Только багу с groff снимать не надо до тех пор пока он не будет исправлен.
Договорились.
ok ;) - я и не заметил как ты багу на man успел перевесить ;))) от groff много кто ещё зависит, и все они ждут исправления на уровне именно groff.
Кто у нас нынче мантейнер пакета groff?
Судя по пакету - legion
В сизиф ушла сборка: groff-1.19.3-alt1.20080822. Она умеет определять и перекодировать man-страницы... в т.ч. из/в utf8.