[devel] [sisyphus -> devel] Стабильный Сизиф

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пн Июн 19 19:18:02 MSD 2006


On Mon, Jun 19, 2006 at 04:44:35PM +0300, Led wrote:
> Ок, попробую объяснить по другому (вариант libfoo_X для упрощения пока не 
> учитываю - он был приведён как временное решение, "костыль" для быстрейшего 
> (надеюсь, только в некоторых случаях) завершения транзакции в 
> случае "ленивости" мэйнтейнеров зависимых пакетов):
> 1) Термин "отстойник" и то, что вы в него вкладываете не совсем подходит
> 2) Предлагается термины "очередь" и "триггер".
> 3) libfoo с новым soname, поступающая в incoming (и, естественно, прошедшая 
> сборку в хешере), устанавливает триггер, по которому все собранные уже с ней 
> пакеты ставятся в очередь, триггер снимается и эти пакеты проходят в основной 
> репозитарий только после прохождения в этот репозитрарий самой libfoo.
> 4) Если какой-либо пакет зависит (в момент поступления в incoming) от двух или 
> нескольких библиотек, находящихся в "режиме ожидания", то в очереди он будет 
> нходиться, естественно, до тех пор, пока остаётся хотя бы один относящийся к 
> нему триггер.

Зачем тогда нужен триггер?  Если отстойник всего один, тогда задача
сводится вот к чему: все входящие пакеты собираются в отстойнике (если
сборка не удается, пакет получает reject).  Из всех пакетов в отстойнике
нужно выделить максимальное подмножество этих пакетов, которое, будучи
перемещенных из отстойника в основной сизиф, не увеличивает в основном
сизифе количество анметов (и/или не ухудшает других характеристик).

Тогда возникает только вычислительная проблема.  Придется анализировать
т.н. power set отстойника (т.е. всевозможные подмножества, которые можно
составить из пакетов в отстойнике).  Т.е. если в отстойнике находится 10
пакетов, то в поисках максимального "хорошего" подмножества пакетов
придется анализировать 2^{10} = 1024 подмножества (включая полное и
пустое).  Если же в отстойнике 100 пакетов, то имеем порядка 10^{30}
вариантов, и задачу в строгом смысле вряд ли удастся решить.  Есть
конечно градиентные методы и всякая прочая хрень...

Есть ещё более тонкая проблема косвенной интерференции пакетов между
сизифом и отстойником.  Пакет собирается в среде отстойника, а
перемещается в сизиф, где может уже не собраться (или собраться с
отличным результатом).  Более сильным критерием может стать
дополнительный запрет на перемещение пакета в сизиф, если при сборке
он зацепил хотя бы один пакет из отстойника.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20060619/2a1b5da7/attachment-0001.bin>


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