[devel] rpm-build-4.0.4-alt78 -- remove rpm-build-tcl?
Sergey Bolshakov
=?iso-8859-1?q?sbolshakov_=CE=C1_altlinux=2Eru?=
Вт Сен 11 13:49:21 MSD 2007
>>>>> "Alexey" == Alexey Tourbin <at на altlinux.ru> writes:
> On Mon, Sep 10, 2007 at 02:46:18PM +0400, Sergey Bolshakov wrote:
>> Вынос rpm-build-tcl из базовой сборочной среды -- это упование
>> на то, что майнтайнер впишет его в buildreq(pre).
> Это не совсем так. См. ниже.
>> Как нетрудно убедиться, это не сработало (в варианте buildreq: tcl)
>> даже с автором rpm-build-tcl и sandman.
>>
>> Последствия выноса -- некоторая деградация технологии сборки для
>> tcl, бонус -- убыстрение процесса сборки, в отдалённом будущем --
>> вычищение базы apt от пары-тройки сотен сущностей.
>> 'Техносноб' (с) во мне внёс бы tcl в rpm-build, конформист --
>> вынес бы умирающее тело на воздух.
> Можно обсудить вариант выноса rpm-build-tcl из базовой сборочной среды.
> Мой старый аргумент ЗА сохранение rpm-build-tcl состоит в следующем:
> Tcl скрипты встречаются тут и там, и для того, чтобы результат поиска
> зависимостей не "плавал" в зависимости от укомплектовки buildroot'а,
> а также в интересах syntax check, нужно иметь всегда работающий tcl.req
> и tcl.prov.
> Теперь следующие обстоятельства отменяют этот аргумент: в Tcl фактически
> нет понятие syntax check; поиск зависимостей сводится чисто к выполнению
> кода; поэтому он годится для модулей, но совершенно не годится для
> скриптов. Следовательно, как зависимости скриптов, так и их syntax
> check, это по сути моя преждевременная идея от недопонимания специфики
> Tcl.
> Если просто оторвать rpm-build-tcl от rpm-build, то, естественно,
> сломается некоторое (довольно большое) число пакетов. Вариант решения
> этой проблемы состоит в том, чтобы подшить rpm-build-tcl в зависимости
> к tcl-devel. Тогда все пакеты, у которых сейчас в билдрут встаёт
> tcl-devel, заведомо не должны сломаться от этой перетасовки. К этому
> классу пакетов относятся как минимум все компилируемые tcl extensions.
> Я грепю логи успешно собравшихся пакетов, чтобы показать, что пакеты
> tcl и tcl-devel на самом деле, в большей половине случаев, соседствуют
> в билдруте.
Такое положение дел объясняется тем обстоятельством,
что стандартные для расширений tcl (необязательно бинарных)
сборочные скрипты (именуемые TEA -- tcl extension architecture)
опираются на информацию из /usr/lib/tclConfig.sh
Тем не менее, нет никаких способов форсировать применение этой
самой TEA, и вполне могут существовать расширения, для
которых наличие tcl-devel в билдруте избыточно.
[skipped]
> Значит, относительно безопасная перетасовка rpm-build-tcl состоит
> в следующем: 1) в любом случае добавить Reqruies: tcl в rpm-built-tcl;
> 2) в любом случае добавить Requires: rpm-build-tcl в tcl-devel;
> 3) возможно, убрать Requires: rpm-build-tcl из rpm-build.
> Чтобы понять, насколько эта перетасовка действительно безопасна,
> желательно выборочно проверить те пакеты из этого списка, у которых
> в билдруте tcl-devel не стоит -- как минимум, на предмет использования
> макросов типа %_tcllibdir.
Если таковые найдутся, их несложно будет починить.
Бишь, обсуждаемый вариант вполне возможен, осталось выяснить, зачем
такая перетасовка нужна -- мне кажется, мы несколько увлеклись
процессом и потеряли из виду желаемый результат (я, по крмере).
1) не может иметь фатальных последствий;
2) и далее -- я не могу сделать выбора, не представляя
шкалы приоритетов.
--
Подробная информация о списке рассылки Devel