[devel] пакеты копировать нельзя
Evgeny Sinelnikov
=?iso-8859-1?q?sin_=CE=C1_altlinux=2Eru?=
Вт Фев 17 11:03:32 MSK 2009
17 февраля 2009 г. 10:35 пользователь Alexey Tourbin <at at altlinux.ru> написал:
> On Mon, Feb 16, 2009 at 11:52:55PM +0300, Dmitriy M. Maslennikov wrote:
>> 16 февраля 2009 г. 12:28 пользователь Alexey Tourbin <at at altlinux.ru> написал:
>> > ...
>> ...
[...]
>> И только после этапа
>> тестирования пакеты попадают в основной репозиторий (если не порождают
>> unmet'ов и проходят прочие проверки). При этом таких тестовых
>> репозиториев можно создавать сколько угодно (для каждой задачи свой
>> отдельный репозиторий - box). В каждый можно собирать пакеты,
>> основываясь на текущем состоянии репозитория и состоянии самого box'а.
>> При этом принятие пакетов из box'а в репозитарий происходит по
>> завершению тестирования сериализованно (атомарно).
>
> В терминах girar-builder получается, что box -- это задание (task).
> В задании может быть несколько пакетов. То есть в принципе можно
> "варить" некоторый набор изменений сколько угодно (то есть дорабатывать
> пакеты, если обнаруживаются ухудшения). Задание применяется
> транзакционно. В girar-builder будет реализована довольно сложная
> стратегия мёржа, которая должна отвечать за окончательную сериализацию
> задания. Стратегия мёржа "применяет" задание к репозитарию. В
> зависимости от некоторых базовых условий, стратегию мержа можно
> реализовать немного по-разному. В частности, мёрж может подразумевать,
> что перед помещением пакетов задания в репозитарий их нужно заново
> пересобрать. Короче, сериализация возможна, хотя это не очень просто.
>
А доступен ли извне task, как временный тестовый репозиторий? Я думаю,
что именно это его сейчас отличает от понятия box. Если нет такого
временного аналога Deadalus, то я не понимаю как протестировать пакет
кроме как локально... А ведь, в ряде случаев, в его тестировании
заинтересован не только сам мейнтейнер...
> [И ещё, к счастью, сериализация заданий -- это головная боль отдельно
> взятого человека.]
>
К сожалению, мы пока не пробовали обновить таким образом, например
boost, и не встречались с задачей починить все пакеты, которые
сломались или протестировать пакеты, которые могли сломаться силами
тех, кто в этом заинтересован. А головная боль, при этом, всё равно
остаётся, если даже проверить нельзя будущую сборку пакета, от
которого зависят другие, пока все они разом не соберутся... Можно все,
конечно, локально собрать, но это ведь не то, что стоит повторять для
проверки...
А вот как протестированные пакеты попадут репозиторий, когда все
проверки пройдут, уже действительно не важно... Собрать их в общем
последовательно потоке, видимо, верный вариант, не противоречащий
целостности истории репозитория.
Возникло предложение. А действительно, можно ли организовать
доступность извне task'ов, как временных тестовых репозиториев?
[..]
--
Sin (Sinelnikov Evgeny)
Подробная информация о списке рассылки Devel