[devel] Q: gear-push-build

Alexey I. Froloff raorn на immo.ru
Пн Ноя 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.altlinux.org/pipermail/devel/attachments/20061127/cb8af6ae/attachment-0001.bin 


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