On Wed, May 17, 2006 at 05:09:07PM +0400, Alexey I. Froloff wrote: > * Anton Farygin [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 вполне реально), однако это выглядит весьма странно. Подозреваю, что подобные трюки надо просто запретить.