Hello Ivan, On Sun, Jul 08, 2001 at 07:24:50PM +0400, Ivan Zakharyaschev wrote: > > > Рекомендую обратить внимание на танцы с каталогами dsssl, которые > > производятся в %post/%postun в docbook-dtd30-sgml. > > Скрипты честно взяты у RedHat и, похоже, они там не зря. > > Да, они там не зря -- и проблему, которую они решают, я заметил, когда > пересобирал пакеты, связанные с обработкой SGML. (И попробовал решить ее > по-другому.) Чем мне не нравится подход в этих скриптах: тем, что они > совершенно одинаково работают для разных версий DTD -- разница только в > том, что результат они записывают в файлы с разными именами. И > получаются почти одинаковые каталоги для разных версий DTD. А ведь > stylesheets могут подходить для одной версии и не подходить для другой > (и они могут происходить из совершенно разных источников, про которые > пакету с DTD может быть ничего неизвестно), и хорошо бы, если бы пакеты > со stylesheets заботились о том, чтобы записи о них попадали в нужные > каталоги. (Если идти с этой стороны, то никакой неизвестности не > должно быть: создатель stylesheets должен знать для какого DTD > предназначены его стили, и значит, их всегда можно явно указать в > пакете со stylesheets, а не использовать в пакете с DTD сомнительные > patterns для подключения непонятно каких стилей.) > > Особо глубоко я не копался, и обрабатывать SGML мне приходилось не > часто, поэтому возможно, что я и заблуждаюсь. > > Мое решение было использовать в пакетах со stylesheets triggers на > пакеты с DTDs. (Пример можно посмотреть в уже упомянутом месте: > altair:/user/imz/OUT/GONE/sgml/SRPMS/docbook-style-dsssl*.) Может, это > не лучшее, что тут можно сделать -- особенно в свете вышедшего LSB, где > они вроде бы запрещают использование триггеров. Но мне кажется, что > подходить к решению этой задачи надо со стороны пакетов со stylesheets. Насколько я понимаю, DTDs и stylesheets ортогональны, то есть, имея stylesheet, нельзя сказать, к документам с какими DTD оно будет применяться. К тому же мне непонятно, зачем поиск stylesheet вообще нужно увязывать с конкретными DTD -- не проще ли искать их в глобальном каталоге для DSSSL? > Я намеревался так же, как и docbook-style-dsssl, оформить и другие > пакеты со stylesheets: openjade (он вообще требует серьезного разбиения > на подпакеты -- если это только не запрещено лицензией), Да, openjade в каком-то месте зависит от ghostscript и от libjbig.so, это бы лучше выделить. > sgml-tools (его > я уже разбил, и оформил подпакет со stylesheets, как хотел) и пр. > (Обратите внимание, что все эти возможности происхождения stylesheets > приходится учитывать скрипту из docbook-dtd30-sgml в его нынешнем виде > -- по крайненй мере openjade там учитывается; зависимость от opnejade > вообще плоха: сами DTDs и stylesheets не зависят от конкретного > обработчика, в системе, в принципе, может использоваться другой > SGML+DSSSL processor.) Ну там сделано достаточно разумно: если есть каталог openjade, значит, включим. В RH было гораздо мрачнее: безусловное включение openjade-3.1 (!), "ручной update-alternatives", ... -- Stay tuned, MhZ JID: mookid@jabber.org ___________ Expect the worst, it's the least you can do.