[devel] I: git.alt package build acl: ideas
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Июн 17 03:02:12 MSD 2008
On Tue, Jun 17, 2008 at 01:53:10AM +0400, Dmitry V. Levin wrote:
> > Нарушение ACL соответствует ситуации NMU. Мы можем дать разовое NMU
> > без изменения ACL, но для этого нужно точно знать изменения в пакете
> > (то есть пакет должен собраться). Тогда либо maintainer пакета,
> > либо арбитр (если maintainer недоступен) может сказать "SKIP ACL OK".
>
> Мне нравится эта идея. Каким должен быть механизм подтверждений, чтобы
> быть удобным и мантейнеру, и арбитру?
Это зависит от модели данных в сборочнице. Она может быть такой:
struct task {
int id; // ever-increasing номера заданий
struct packages[]; // пакеты, собираемые в задании
}
struct package {
struct task *task; // имеется в виду, что пакеты привязаны к
// заданиями и рассматриваются в пределах
// задания
char *name; // имя пакета, на которое можно ссылаться в
// пределах задания
char *git_repo; // информация про gear-репозитарий
char *tag;
sha1 *comitish;
enum {
V_UNMETS;
V_ACL;
} violations[]; // нарушения пакета
}
Когда мы делаем 'push-build', мы отправляем один или несколько пакетов
на сборку, и создаётся task. Если все пакеты собрались, и в каждом
пакете пустой список violations, то пакеты автоматически проходят в
Сизиф. Если хотя бы один пакет не собрался (по грубой причине), то
task автоматически отменяется. В противном случае пакеты собрались,
но в некоторых из них имеются violations. Тогда об этом отправляется
письмо по почте (тем, кто может воздействовать на violations).
Механизм подтверждения или отвержения нарушений можно сделать через
git.alt.
ssh git.alt violation <task-id> <package-name> <violation> "permit"|"deny"
Если все нарушения удалось снять, то пакеты из task проходят в сизиф.
В противном случае через некоторое время task автоматически отменятся.
В task надо уметь добавлять новые пакеты (если он не проходит
автоматически). Это соответствует ситуации, когда пакет что-то ломает
(напр. V_UNMETS). Тогда в этот task добавляются исправленные пакеты,
и часть violations автоматически снимается (но могут также добавляться
новые violations, напр. V_ACL).
Такая модель позволят наладить транзакционную смену soname'ов (а также
частично её нарушать).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20080617/3289967f/attachment-0002.bin>
Подробная информация о списке рассылки Devel