[devel] Сборка пакетов из gear для branch/Sisyphus/песочниц

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Май 17 17:51:27 MSD 2006


On Wed, May 17, 2006 at 05:09:07PM +0400, Alexey I. Froloff wrote:
> * Anton Farygin <rider@> [060517 16:48]:
> > Я думаю так будет оптимально:
> > по умолчанию - собирать, когда тэг поставлен
> > дополнительно - завести отдельный git репозитарий с некоторым наборов 
> > файлов/команд роботу. его структуру надо ещё продумать.
> Звучит логично, но...  Куда собирать по умолчанию?  Я всё ещё не
> хочу видеть название репозитария в теге пакета, потому как двух
> разных сборок одного пакета с одинаковыми SVR быть не должно.

Варианты, пришедшие в голову:

- текст специального вида в описании тега;

- поле в управляющем файле, лежащем в репозитории.

> И куда-то надо делать Serial, git-tag меня послал с двоеточием...

/*
 * Make sure "ref" is something reasonable to have under ".git/refs/";
 * We do not like it if:
 *
 * - any path component of it begins with ".", or
 * - it has double dots "..", or
 * - it has ASCII control character, "~", "^", ":" or SP, anywhere, or
 * - it ends with a "/".
 */

Реализация, как обычно, расходится с комментарием:

static inline int bad_ref_char(int ch)
{
        return (((unsigned) ch) <= ' ' ||
                ch == '~' || ch == '^' || ch == ':' ||
                /* 2.13 Pattern Matching Notation */
                ch == '?' || ch == '*' || ch == '[');
}


Хотя были планы использовать и другие символы для специальных целей -
например, "@" и "%".

А какие точно ограничения на содержимое Name/Serial/Version/Release
накладывает rpm?

> > > Нет, тег это фиксатор состояния пакета.  Кстати, проставляемые
> > > роботами-сборщиками теги успешной сборки должны иметь
> > > фиксированное имя (типа last-built-i586) и перезаписываться при
> > > следующей успешной сборке этого пакета.
> > Я бы предпочитал такой:
> > incominger,ok,i586-%version-%release
> > incominger,failed,i586-%version-%release
> Зачем лишняя информация?  Версию-релиз видно по соседнему тэгу,
> информация о неудачных пересборках в репозитарии пакета не нужна,
> как мне кажется.  И потом, я ведь могу "переставить" тег
> версии-сборки если пакет не собрался.  Это значит что пакет с
> этой версией-сборкой никуда не попал (надо подумать что делать
> если пакет не собрался только для одной из архитектур).

Вот тут нужен какой-то дополнительный канал для пинания пересборщика.

> А вот идентификатор дистрибутива тут не помешает
> ("sisyphus,ok,x86_64", "master-3.1,ok,sparc",
> "kompact-3.0,ok,i586").  Это если два тега на одном revision'е.
> 
> > > Полезно ещё расставлять массовые теги при форке бранчей (когда
> > > форк "замораживается" перед выпуском дистрибутива).
> > Это само собой. Только наверное всё-таки не тэги, а бранчи ?
> Бранч сделает мантейнер, если это будет нужно (отталкиваясь от
> тега, опять же).  Есть пакеты, которые собираются из одного
> src.rpm в разные репозитарии, например apache.

Это как?  Поскольку "двух разных сборок одного пакета с одинаковыми SVR
быть не должно", я могу предположить по этому поводу только то, что при
пересборке в другой среде у пакета меняется Release (что в rpm вполне
реально), однако это выглядит весьма странно.  Подозреваю, что подобные
трюки надо просто запретить.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060517/cb198ced/attachment-0001.bin>


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