[devel] FAILED srpm=exiv2-0.18-alt1.src.rpm

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Фев 20 11:38:27 MSK 2009


On Thu, Feb 19, 2009 at 12:44:30PM +0200, Igor Vlasenko wrote:
> On Thu, Feb 19, 2009 at 10:09:26AM +0300, Alexey Tourbin wrote:
> > Вы хотите оставить репозитарий в разломанном состоянии "на честном
> > слове", что со временем пойдут какие-то многоступенчатые процессы,
> > и низшая углеродная фракция реактивного двигателя со временем отпадёт,
> > как глазьевская партия "Родина", как несмысленные галаты, которые отпали
> > от благодати.
> > 
> > Но в этом же самое время репозитарием пользуются другие люди (а также
> > на нём собираются пакеты).
> > 
> > Задача состоит в том, чтобы не допускать разлома репозитария вообще,
> > то есть допускать только транзакционные обновления пакетов, при которых
> > сохраняется целостность репозитария.

> Хороший репозитарий = мертвый репозитарий :(

Отчасти -- да.  Поэтому некоторые предпочитают сидеть на бранче,
и даже агитируют демагогию про стабильность и нестабильность.  Как бы
избавиться от "стабильности" (хм, то есть от "проблемы стабильности")
и прикрыть пространство для демагогии altogether?

> Я повторю, есть опасность вместе с анметами душить инновации.

Запретив анметы, мы даем взамен механизм заданий и транзакций.
Этого механизма раньше не было, и некоторые анметы были неизбежны.
А теперь всё изменилось.

В задании могут находиться несколько пакетов.  Промежуточные анметы
(напр. между сборкой первого и второго пакета) никого не волнуют.
Играет роль только начальное состояние и конечное состояние.  Задание
применяется транзакционно.  Конечное состояние должно быть не хуже
начального.

По-моему, это решает "проблему стабильности" (по крайней мере,
на уровне формальных характеристик репозитария).
Локальные/промежуточные разломы допустимы, глобальные -- нет.

Про бутстрап отдельный разговор.  Сейчас в задание нельзя добавлять
два одинаковых пакета (по имени, и вообще пересекающихся).  Вообще,
условия добавления пакетов в задание могут быть более или менее
жесткими.  Я изначально планировал довольно жесткие условия (можно
только добавлять новые пакеты), но Дмитрий разрешил удалять пакеты
из задания.  В какой-то степени семантику сборки задания можно ещё
немного ослабить.

Но сематнику заданий нельзя совсем ослабить, не нарушив некоторых
базовых условий.  Базовые условия связаны с явным отслеживанием
взаимного влияния между пакетами.

В общем бутстрап и базовые условия -- это очень головоломная тема.
Если оставить бутстрап в стороне, то всё остальное в принципе решается
с помощью обычных заданий.

> Например, я не готов пока переезжать на gear.
> У меня обьем работы удается сделать только за счет
> тотальной автоматизации всех рутинных процессов.
> Адаптировать инфраструктуру под git 
> (почему это дожна быть приоритетная задача?)
> это полгода а то и полтора.

Заливайте N пакетов поряд.  Это будет задание.  Если задание
обламывается, тогда чините что сломалось, и заливайте N+1 пакет,
N пакетов заново и один новый.  В принципе это будет уже другое задание,
но это эквивалентно добавлению нового gear-репозитария в "нормальное"
задание.  И так пока всё не починится.

> > Робота будет обмануть сложнее, когда тестовая пересборка пакетов
> > станет обязательным условием.
> 
> Гм. IMHO, хотя бы наладить еженедельную пересборку,
> очень уж она ежемесячной выглядит.
> 
> И вот допустим до этого времени возникла потребность
> что-то обновить. Робот уперся.
> И что тогда? Выбрасывать java-пакеты из Сизифа?
> В ручном режиме сопровождать больше 100-200 пакетов я не потяну :(

Зачем надо выбрасывать java-пакеты из Сизифа?  Посмотрите на ситуацию
симметрично: кто-то пытается разломать сборку Джавы.  Из-за этого
его пакеты не прходят, а Джава продолжает нормально собираться.

То есть, когда ситуация наладится, верно будет следующее.  В текущем
состоянии S_k все пакеты устанавливаются и пересобираются.  Каждая
транзакция на основе текущего состояния S_k готовит новое состояние
S_{k+1}.  В новом состоянии все пакеты должны устанавливаться и
пересобираться, иначе транзакция не проходит.

> Альтернативно, "заморозить" репозиторий?
> Так сказать, трупное окоченение.
> 
> Кому нужен стабильный протухший репозитарий?

А кому нужен репозитарий, в котором пакеты не устанавливаются
и не пересобираются?  Это уже не репозитарий, а набор файлов
с расширением *.rpm.

> Кому нужен, тот найдет в загашниках запылившийся 
> Mandrake Russian Edition Spring 2001.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20090220/ea490699/attachment.bin>


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