[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