[devel] Q: gear-push-build
Alexey Gladkov
=?iso-8859-1?q?legion_=CE=C1_altlinux=2Eru?=
Пн Ноя 27 11:02:48 MSK 2006
Alexey I. Froloff пишет:
> Мантейнер отправляет пакеты на сборку, на сервере они
> складываются в очередь. В один прекрасный момент N пакетов из
> очереди (N может быть 1 или sizeof(очередь)) поочерёдно
> собираются в одном хашере с уникальным для каждого мантейнера
> --repo. В какой-то момент этот repo мержится в сизиф и
> обнуляется. Условие сидимости сохраняется
Почти так. Пакеты собираются один за другим и после успешной сборки
сразу публикуются. Группировки по пользователю не будет. Следующий
пакет будет собираться на общем результате. Никаких кэшей не будет.
Unmets проверяться не будут.
Мантейнер какого-нибудь пакета системного уровня и так может устроить
любую провокацию и проверка на unmets тут совершенно не поможет.
> 1. Нельзя сказать когда начинать сборку. Например, я хочу
> собрать N пакетов, но сборка стартовала после заливки M пакетов
> (не применимо если сборка начинается сразу после "заливки"
> пакета). Теоретически, тут ничего не ломается, но придётся ждать
> следующего разбора очереди.
Если результат очереди сразу публикуется, то когда начать сборку
совершенно понятно. Пакеты будут собираться по мере их поступления.
> 2. Нельзя указать когда переносить все собранные пакеты в Сизиф.
> Я заливаю пакеты libfoo и пересобранные с ним bar и baz.
> Единственный случай несоздания unmet'ов - перенос всех трёх
> пересобраных пакетов.
Тут тоже понятно. Если все они собирутся, то неудовлетворённостей не
будет. В промежутке между сборками libfoo и bar/baz они конечно будут.
> 3. Если перенос пакетов в Сизиф наступает только после того как
> очередь полностью будет разобрана - есть шанс устроить "запор"
> большими пакетами.
Именно пакеты собираются без буферизации и группировки.
> Ещё вопрос - будут ли эти личные repo (тот самый персональный
> Daedalus) доступны простым смертным? Необходимость этого зависит
> от способов разбора очереди и слияния repo с Сизифом.
Не будет.
> И главное - как будут обрабатываться ошибки? Например неудачная
> сборка libfoo - что будет с bar и baz? Я не хочу писать жёсткие
> buildrequires :-/
Они собируться со старыми версиями если это возможно. Собственно как и
сейчас. Строгость или мягкость сборочных зависимостей это личное
решение каждого мантейнера. Демократия.
--
Rgrds, legion
Подробная информация о списке рассылки Devel