[devel] git.alt build

Dmitry V. Levin ldv на altlinux.org
Сб Апр 21 02:25:47 MSD 2007


On Sat, Apr 21, 2007 at 02:00:38AM +0400, Alexey Tourbin wrote:
> On Sat, Apr 21, 2007 at 01:44:06AM +0400, Dmitry V. Levin wrote:
> > > Мы обсуждали с AMorozov на канале, как организовать полную regression
> > > пересборку сизифа при прохождении каждого отдельного пакета.
> > 
> > Если целью является сборочная система, функционирующая без участия
> > человека (с минимально возможным участием человека), то к ней лучше
> > приближаться постепенно.
> 
> Без человека это функционировать не может.

Я имею в виду систему, которая в идеале функционирует без
человека-смотрителя, а на практике вмешательство человека-смотрителя
минимально.

> То есть, как бы философски, это разница между знанием и невежеством.
> Я отправил в сизиф новую сборку перла и я не знаю, сломает она
> что-нибудь или нет.  Нужно ждать неделю или две, когда пройдет очередная
> пересборка, тогда станет ясно.  С другой стороны, если бы я заранее
> знал, что будут некоторые проблемы, то я, быть может, и не отправил бы
> такую сборку в сизиф.

И как ты предлагаешь этот вопрос решать?  Автоматически тестировать
пересборку всего, чтобы определить, пропускать ли новую сборку перла в
Сизиф, конечно, было бы здорово, если бы это тестирование не было столь
ресурсоёмким.

> > Мне кажется, что тестирование на предмет build regression более
> > ресурсоёмкое, чем тестирование на предмет install regression.
> 
> По крайней мере новая схема сборки пакетов должна быть достаточно
> гибкой, чтобы при достаточном количестве ресурсов такую regression
> пересборку можно было делать.

Конечно, новая схема сборки пакетов должна быть достаточно гибкой для
этого.  Но я не верю, что она сразу будет уметь всё.

> > Впрочем, и последнее выглядит более ресурсоёмким, чем (в среднем) сборка
> > одного пакета.
> 
> Что ты понимаешь под install regression?  Какие комбинации пакетов надо
> тестировать на установку?

install regression -- это такая ситуация: пакет A раньше устанавливался,
а теперь перестал устанавливаться.  Например, если у пакета A появился
unmet, то это install regression.

> > Единственный метод, который у нас есть, базируется на
> > "apt-cache unmet" и является очень ресурсоёмким в части формирования
> > индексов временного репозитория.
> 
> По поводу unmet'ов тоже есть некоторые мысли.  Не все unmet'ы одинаково
> критичны.  Их нужно взвешивать по количеству пакетов, которые с
> появлением данного анмета становится невозможным установить.

Это значит, что часть unmet'ов можно обрабатывать автоматически, без
привлечения человека-смотрителя.

> Например, если unmet появился в пакете perl-base, то это очень-очень
> плохой unmet; а если unmet появился в пакете perl-devel, то это просто
> очень плохой unmet.  А бывают unmet'ы практически безобидные. :)

Ну да, имеет место своеобразная транзитивность: если пакет A зависит
от пакета B, который получил unmet на пакет C, то пакет A тем самым
получил косвенный unmet на пакет C.

> > Кроме того, добро от "apt-cache unmet" ещё не даёт гарантии того, что
> > устанавливаемость не сломана.
> 
> Конечно.  А устанавливаемость не гарантирует работоспособности.

Конечно.  Но зато устанавливаемость, видимо, поддаётся автоматизированному
тестированию.

> Пересборка в большей степени дает проверку работоспособности.

Есть множество пакетов, для которых пересборочный тест является основной
характеристикой работоспособности.  Но в это множество попадает не так
много пакетов.


-- 
ldv
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: отсутствует
Url     : http://lists.altlinux.org/pipermail/devel/attachments/20070421/20e5ae63/attachment.bin 


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