[devel] Q: gear-push-build
Alexey I. Froloff
=?iso-8859-1?q?raorn_=CE=C1_immo=2Eru?=
Пн Ноя 27 00:07:04 MSK 2006
* Alexey Gladkov <legion@> [061121 13:01]:
> Транзакций при обработке очереди не предусматривается. Поэтому все
> пакеты, отправленные в очередь, будут "видеть" друг друга. Таким
> образом порядок выполнения тобой команд gear-push-build будет
> определять порядок сборки.
А можно это как-то поподробней описать? Я при такой формулировке
вижу один вариант:
Мантейнер отправляет пакеты на сборку, на сервере они
складываются в очередь. В один прекрасный момент N пакетов из
очереди (N может быть 1 или sizeof(очередь)) поочерёдно
собираются в одном хашере с уникальным для каждого мантейнера
--repo. В какой-то момент этот repo мержится в сизиф и
обнуляется. Условие сидимости сохраняется
При таком подходе есть несколько недостатков (в засисимости от
реализации):
1. Нельзя сказать когда начинать сборку. Например, я хочу
собрать N пакетов, но сборка стартовала после заливки M пакетов
(не применимо если сборка начинается сразу после "заливки"
пакета). Теоретически, тут ничего не ломается, но придётся ждать
следующего разбора очереди.
2. Нельзя указать когда переносить все собранные пакеты в Сизиф.
Я заливаю пакеты libfoo и пересобранные с ним bar и baz.
Единственный случай несоздания unmet'ов - перенос всех трёх
пересобраных пакетов.
3. Если перенос пакетов в Сизиф наступает только после того как
очередь полностью будет разобрана - есть шанс устроить "запор"
большими пакетами.
Ещё вопрос - будут ли эти личные repo (тот самый персональный
Daedalus) доступны простым смертным? Необходимость этого зависит
от способов разбора очереди и слияния repo с Сизифом.
И главное - как будут обрабатываться ошибки? Например неудачная
сборка libfoo - что будет с bar и baz? Я не хочу писать жёсткие
buildrequires :-/
--
Regards,
Sir Raorn.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: Digital signature
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20061127/cb8af6ae/attachment-0001.bin>
Подробная информация о списке рассылки Devel