[devel] Russian man-pages
Alexey Voinov
=?iso-8859-1?q?voins_=CE=C1_voins=2Eprogram=2Eru?=
Вс Ноя 26 14:26:42 MSK 2000
On Sun, 26 Nov 2000, Dmitry V. Levin wrote:
> On Sun, Nov 26, 2000 at 01:52:52AM +0300, Aleksey Novodvorsky wrote:
> > В связи с планируемой полной поддержкой CP1251, русские man-pages
> > придется держать в двух экземплярах. К сожалению, патч man для
> > перекодировки на лету мало что даст, так как независимые парсеры man
> > встроены в kde, gnome и не только.
> Это _очень_ жаль, если придется хранить одну и ту же документацию в разных
> кодировках. Неужели нельзя поправить всех, кто с man-страницами работает?
>
> > Для сосуществования man pages в обоих кодировках нужно иметь каталоги
> > man/manN/ru_RU.KOi8-R и ru_RU.CP1251, а не просто ru, как сейчас.
> > Возможны два варианта:
> > -- учитывать это обстоятельство при создании пакетов с русскими
> > man-pages.
> Это муторно.
а почему бы не скорректировать %doc так чтобы оно автоматом перекодировало
manы? Или ввести новый макрос %rusman, который и перекодирует и разложит
все куда надо?
> > -- помещать все русские man-pages в manpages-ru.
> На худой конец лучше так.
А если добавится новый пакет? Т.е. если мы хотим хорошо - проблему надо
решать на уровне каждого пакета.
А чтобы избежать дублирования (экономим место на hdd) можно предложить
следующие варианты:
0. поместить русские manы в отдельные субпакеты, скажем
<package>-man_ru_koi8r и <package>-man_ru_cp1251. Как было правильно
замечено, такие пакеты муторно создавать.
1. "Условная инсталляция". сопоставить каждому файлу, который может быть
пропущен при инсталляции некоторое кодовое слово. добавить к RPM опцию
типа --installoptions, в которой указывать что именно из пакета требуется.
Если --installoptions отсутствует - устанавливается все. Если что-то
все-таки указано, то инсталлируются файлы без кода, и файлф с тем кодами,
которые перечислены в параметре. К экрану выдаваемому по rpm -qi добавить
список возможных installoptions.
Возможно два достаточно простых решения задачи "условной инсталляции":
1а. модифицировать собственно RPM. соответствие кодов и файлов создавать
в каком нибудь обычно файле, с суффиксом, скажем, rpm-options. При обычной
инсталляции (или при работе не с нашей версией rpm) такой файл ставится
куда-нибудь типа /usr/lib/rpm/options/ и не мешает остальной работе.
При указании опции --installoptions файл с таким суффиксом обрабатывается
особо.
1б. Возможно имеет смысл сделать пакет позволяющий произвольно добавлять
информацию о файлах и пакетах в базу данных RPM. В таком случае вопросы
перекодировки manов ложатся на %post, который их установит и добавит
о них информацию куда надо. Опять же в скрипте %post можно проверять
какую-нибудь переменную среды, скажем $RPM_INSTALL_OPTIONS, на предмет
того надо что-то перекодировать или оставить как есть. ТАкое решение не
требует модификации rpm.
В принципе можно обойтись и без добавления информации о файлах в БД RPM,
и просто прописать в %postun или %preun удаление созданных файлов.
Так наверное будет проще.
Best Regards!
Alexey Voinov
voins на voins.program.ru
voins на caravan.ru
voins на online.ru
_______________________________________________
Devel mailing list
Devel на linux.iplabs.ru
http://www.logic.ru/mailman/listinfo/devel
Подробная информация о списке рассылки Devel