[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