From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Voinov To: devel@linux.iplabs.ru Subject: Re: [devel] Russian man-pages In-Reply-To: <20001126024442.C4211@LDV.fandra.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8BIT Sender: devel-admin@linux.iplabs.ru Errors-To: devel-admin@linux.iplabs.ru X-BeenThere: devel@linux.iplabs.ru X-Mailman-Version: 2.0beta6 Precedence: bulk Reply-To: devel@linux.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: IPLabs Linux Team Developers mailing list List-Unsubscribe: , List-Archive: http://www.logic.ru/pipermail/devel/ X-Original-Date: Sun, 26 Nov 2000 14:26:42 +0300 (MSK) Date: Sun, 26 Nov 2000 14:26:42 +0300 (MSK) Archived-At: List-Archive: List-Post: 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ы в отдельные субпакеты, скажем -man_ru_koi8r и -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