[sisyphus] Re: tetex-3.0: файлопомойка разобрана!
Yura Zotov
yz на altlinux.ru
Вс Май 22 12:23:52 MSD 2005
On Sun, May 22, 2005 at 09:53:58AM +0300, Ilia K. wrote:
> Совсем я от жизни отстал. Даже и не знал, что уже tetex 3.0 есть :)
>
> On 5/21/05, Yura Zotov <yz at altlinux.ru> wrote:
> > Итак, мы, хоть и медленно, но неуклонно движемся к Сизифу. На
> > текущий момент все файлы разложены по подпакетам. Вот итог:
> > <skipped>
>
> Продвижение к Сизифу радует. Вот только помнится собирались в Сизифе
> пакеты не зависяшие от платформы выделять в noarch.rpm ветку. Если
> мнения на этот счёт не изменились, то наверно лучше бы бОльшую часть
> i586.rpm пакетов переименовать. И может ещё tetex-core разделить на
> бинарики + всё остальное?
Если уж на то пошло, то задачу надо ставить более абстрактно.
Дистрибутив TeX-а состоит из нескольких частей:
1. Программы типа "tex", которые являются компиляторами своего
собственного языка. Вспомогательные библиотеки. Их
конфигурационные файлы и т.п. Эти программы делают именно ту
полезную работу, ради которой TeX и был придуман.
2. Так называемые "форматы". Это адаптация внутреннего языка
программы tex для пользователя в приложении к задачам
подготовки текстовых документов.
3. Шрифты, необходимые "форматам" для нормального создания
текста. В принципе, можно считать, что они не отделимы от
форматов.
4. Всевозможные "дополнения" к форматам, призванные так или иначе
предоставить более простой доступ к нетривиальным возможностям
форматов. Это файлы типа *.sty. Они могут быть весьма
разнообразными, сопровождаться дополнительными шрифтами,
предоставлять возможности по поддержке разных языков и т.п.
5. Дополнительные утилиты для просмотра, преобразования и т.п.
Варьируя набор конкретный компонентов дистрибутива можно изменять
набор возможностей по созданию тех или иных текстовых документов.
teTeX это один из дистрибутивов TeX-а. Он разделён на две части.
В первой части программы из 1 и 5. Во второй вся мощь
дистрибутива: пункты 2, 3 и 4. Очевидно, что платформозависимая
только первая часть.
Решая задачу по поддержке нескольких платформ, необходимо
дистрибутив teTeX предоставлять пользователям тоже в двух частях.
Учитывая, что обе эти части достаточно большие и включают в
себя много компонент, эти части пришлось бы дробить на более
мелкие функционально монолитные кусочки, чтобы пользователь мог
сам составить себе необходимую функциональность без лишних
файлов. Продвигаясь в этом направлении мы неизбежно столкнёмся с
проблемой согласования этих двух частей, а фактически мелкий
кусков из первой части с мелкими кусками из второй. Образно
говоря, мы возьмём паровоз, разберём его на части, обработает
каждую часть отдельно и попробуем собрать самолёт. В принципе --
возможно, практически -- бессмысленно.
Осмысленным в этой ситуации мне представляется только одно --
создание собственного дистрибутива TeX-а. В этом случае создаётся
общая инфраструктура дистрибутива. Далее, согласно требуемой
функциональности, добавляются независимым образом компоненты:
программы, форматы, стили, утилиты, шрифты... Поскольку
существует единая инфраструктура, компоненты может добавлять любой
желающий. Тем самым мы исключаем стадию разборки паровоза и
концентрируемся непосредственно на сборке самолёта.
Один я это не потяну. Я могу собрать из паровоза
модернизированный паровоз, но собирать с нуля самолёт я пока не
готов.
--
Юрий А. Зотов
Подробная информация о списке рассылки Sisyphus