[devel] ACL in branches

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Ср Мар 11 23:45:35 MSK 2009


On Wed, Mar 11, 2009 at 10:53:49PM +0300, Денис Смирнов wrote:
> On Tue, Mar 10, 2009 at 10:47:17PM +0300, Алексей Турбин wrote:
> 
> AT> Изменения могут пройти задним числом, потому что рантайм зависимости
> AT> обновляются помимо нашего желания.  Например, если завтра glibc
> AT> обновится, то все пакеты можно будет тестировать заново (вручную,
> AT> если проверять работоспособность).
> 
> Алексей. Ты с собеседниками в этой ветке не понимаете друг-друга из-за
> разной позициии восприятия -- со стороны системшика и со стороны
> прикладников и админов.

Disclaimer: я не единственный разработчик сборочной системы.  ldv тоже
разработчик сборочной системы, и он реализовал часть используемых сейчас
возможностей (против некоторых из которых я бы возражал, но не настолько
сильно, чтобы ставить всё дело под вопрос).  На самом деле, окончательные
решения принимает именно он.

Но в основе сборочной системы лежат идеи (изложенные в тезисах моего
доклада), которые вряд ли претерпят существенные изменения.
ftp://ftp.altlinux.org/pub/people/at/protva-2008.pdf

А именно, сборочная система работает так:
1) Собирает пакеты, которые её просят собрать.
2) Формирует новый репозитарий (во временном каталоге).
3) Вычисляет характеристики текущего репозитария и нового репозитария.
4) Если характеристики ухудшились, то пакеты отвергаются.
5) Если характеристики не ухудшились, то пакеты проходят (новый временный
репозитарий становится текущим).

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

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

Мне кажется, что эти идеи настолько просты, прозрачны и справедливы, что
лучше что-либо придумать просто нельзя.  Это если мы хотим поддерживать
целостный репозиатрий, а не хранилище файлов с расширением *.rpm.

> Далеко не все ошибки в ПО так или иначе связаны с окружением. Я склонен
> считать что большая часть ошибок в _моем_ коде проявятся вне зависимости
> от версии glibc, ибо являются ошибками в логике самой программы.
> 
> И подобные ошибки можно (и нужно) ловить ручным тестированием, к
> сожалению. Либо покрывать всю программу целиком юнит-тестами. Выполнить
> второе для всех приложений в Сизифе -- невозможно, остается только ручное
> тестирование.

Окей, давайте искать примирения.  Что могут сделать разработчики
сборочной системы, если не решить все проблемы за счет создания
полумифической "инфраструктуры" или "фреймворка"?

Можно сделать следующее:

1) Реализовать manual-режим подтверждения заданий.
Его уже частично реализовал ldv.

2) В самом задании формировать каталог RPMS.hasher, который будет
доступн через напр. git.altlinux.org::tasks/N/hasher/repo/RPMS.hasher.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20090311/51f6fb3a/attachment.bin>


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