[devel] Угрозы развитию дистрибутива. Пути решения.

Денис Смирнов mithraen на freesource.info
Пн Окт 3 11:55:17 UTC 2011


On Mon, Oct 03, 2011 at 01:11:32PM +0400, Paul Wolneykien wrote:

PW>    Вообще говоря, мне кажется, что это проблема не отдельных пакетов, не 
PW> cronbuild, а всего Сизифа в целом. То, что нет пересборки по 
PW> зависимостям. 

А она далеко не всегда нужна. После обновления, скажем, gcc нет
необходимости пересобирать _все_, от чего зависит gcc.

В случае же с модульными приложениями часто есть необходимость
пересобирать все модули. Иначе в лучшем случае транзакция не пройдет (если
зависимости везде проставлены правильно), а в худшем -- пройдет, но
работать ничего не будет.

PW> Точнее, это не проблема даже, а просто особенность  поведения.

Я не представляю себе как эту проблему можно решить.

PW> Частично неблагоприятные последствия компенсируются тем, что 
PW> Сизиф регулярно пересобирается весь целиком. 

Это не так. Это исключительно тестовые пересборки, их результат не
попадает в Сизиф. У нас до сих пор есть пакеты без debuginfo, например.

PW> Но пересборка проходит 
PW> гладко не во всех случаях и многие транзакции приходится выстраивать 
PW> вручную, чтобы собрать пакеты в правильном порядке.

Для этого тоже есть робот от viy@, который я и использую для выстраивания
порядка сборки модулей ghc.

PW>    Посему предлагаю поднять вопрос о добавлении в Сизиф/girar 
PW> возможности создавать некоторые «правила пересборки подсистем». Так, 
PW> чтобы пользователь мог указать, в каком порядке должно пересобираться 
PW> некоторое подмножество пакетов в рамках процедуры регулярной пересборки 
PW> Сизифа. Тогда не придётся ничего прикручивать к cronbuild.

Увы, это не так.

Поясняю -- вот cronbuild пытается пересобрать asterisk. Необходимо
обязательно _в той же транзакции_ пересобрать модули. С чего это girar
должен чего-то додумывать, и добавлять в транзакцию пакеты, которые его не
просили?

Это совершенно недопустимо. Низкоуровневые решения должны выполнять четко
команды, а не пытаться добавлять к ним свой интеллект. А имитировать
мышление, это уже дело для роботов, которые работают поверх girar. Таких
как cronbuild.

А уж с ghc все еще грустнее -- надо учитывать тот факт, что обновление
одного модуля может потребовать обновить другой. А может и не потребовать.
И это надо иногда даже тестировать -- делая пробные сборки. И робот,
который сможет сам мантейнить ghc должен быть весьма умный. Я бы очень
хотел чтобы такой был, но не думаю что столь умного робота кто-нибудь
станет писать :)

А вот с перловыми модулями все куда легче. Робот там справится, хотя его
деятельность может привести к временному нарушению пересобираемости других
пакетов (обновился модуль -- пакет несовместимый с новой версией больше не
собирается и не работает).

Так что поддержку перловых модулей можно хоть сейчас передать на
растерзание роботам.

-- 
С уважением, Денис

http://mithraen.ru/
----------------------------------------------------------------------------

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20111003/35ecb743/attachment-0001.bin>


Подробная информация о списке рассылки Devel