[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