[devel] git.alt build

Alexey Tourbin at на altlinux.ru
Сб Апр 21 03:09:09 MSD 2007


On Sat, Apr 21, 2007 at 02:25:47AM +0400, Dmitry V. Levin wrote:
> > То есть, как бы философски, это разница между знанием и невежеством.
> > Я отправил в сизиф новую сборку перла и я не знаю, сломает она
> > что-нибудь или нет.  Нужно ждать неделю или две, когда пройдет очередная
> > пересборка, тогда станет ясно.  С другой стороны, если бы я заранее
> > знал, что будут некоторые проблемы, то я, быть может, и не отправил бы
> > такую сборку в сизиф.
> 
> И как ты предлагаешь этот вопрос решать?  Автоматически тестировать
> пересборку всего, чтобы определить, пропускать ли новую сборку перла в
> Сизиф, конечно, было бы здорово, если бы это тестирование не было столь
> ресурсоёмким.

Ресурсы дело наживное.  Для начало нужно научиться быстро определять,
какие пакеты подлежат пересборке.  За вычетом perl-base получится
несколько сотен пакетов.  Среднее время сборки пакета, очень грубо,
около одной минуты.  Без распараллеливания получается несколько часов.
Туговато.

$ grep '^perl-[^b].*-5.8.8-alt10$' -l -r success error |wc -l
1341
$

Даже если управляться с каждым входящим пакетом за час, то получается
пропускная способность около 24 пакетов в сутки.  Нужно бы поточнее
статистику прикинуть.

И, конечно, не понятно, что делать, если обнаружено, что входящий пакет
что-либо ломает.  Очередь встаёт, пока человек не ответит да/нет.

С другой стороны, полная regression пересборка у нас всё равно проходит,
так что затраты по ресурсам сопоставимы.  Просто при полной regeression
пересборке "схлопываются" зависимости, то есть нельзя определить, какой
именно пакет сломал сборку данного пакета (если в билдруте поменялось
более одного пакета).

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

То просто попробовать установить все пакеты сизифа после прохождения
очередного пакета?

Или же просто попробовать установить сами собранные пакеты, и если они
устанавливаются, тогда нет причин думать, что и другие пакеты, которые
их требуют, не будут устанавливаться?

Последнее реализовать довольно просто.  Можно прямо в сборочный
buildroot попробовать поставить свежесобранные пакеты через rpm -Uv.
Мне пока не приходят в голову "легальные" случаи, когда такая установка
может не пройти.  То есть сборочные зависимости пакета я вижу как
надмножество установочных зависимостей.  Ну или аптом ставить, если
выяснится, что в ряде случаев это предположение неверно.  Прямо в hasher
бы такую штуку вделать.

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

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


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