[sisyphus] Re: tetex-3.0: файлопомойка разобрана!

Yura Zotov =?iso-8859-1?q?yz_=CE=C1_altlinux=2Eru?=
Вс Май 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 на 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