[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