On Wed, Jun 17, 2009 at 03:14:31AM +0400, Dmitry V. Levin wrote: >> Одну реализацию можно сделать уже сейчас. Проиндексировать >> build/*/$arch/{rpms,srpm} (кривоскрипт я сюда постил, репозитарий >> делается хардлинками) и сделать режим сборки "собрать но не >> публиковать". Собираться это будет как и все остальные задачи >> (при этом не нужно делать некоторых проверок), "карман" будет >> жить пока задача не заархивируется, "переложить" "карман" в сизиф >> можно повторной сборкой задачи. Как приятный бонус получим >> репозитарии пакетов от неудачных сборок, чтобы мантейнерам было >> проще чинить свои пакеты (разбираться с новой версией какой-то >> либы в локальном хашере, а не по логам сборки). DVL> Это похоже на развёрнутое описание кармана самой простой формы: DVL> http://lists.altlinux.org/pipermail/devel/2008-July/157594.html Да, и это уже замечательный первый шаг. Следующие шаги: - сделать пометки task'ов как pocket'ов, которые будут обрабатываться несколько другим способом: - после того как task-pocket был запущен, добавление в него пакета означает запуск этого пакета на сборку (а не ожидание перезапуска task'а). - возможность давать имя таким task'ам; - поименованый task не архивируется автоматически; - в такие task'и можно собирать один и тот же пакет несколько раз в рамках одного task'а; - команда task status -- выводит: - timestamp когда был создан pocket, или timestamp последнего task merge (после реализации task merge) - tag'и из которых были собраны пакеты в этот pocket - команда task merge -- попытка пересобрать содержимое task'а на обновленном репозитории, на базе которого был сделан этот task; - публикация "кэширующего git repo" для этого pocket; На любом этапе можно будет добавить параллельную сборку, независимо от общей очереди. Так как у нас нет здесь необходимости в последовательной сборке этих task'ов, то мы не обязаны даже собирать task целиком, и тем самым блокировать других мантейнеров. Таким образом создание pocket'а с KDE не будет блокировать остальные pocket'ы на сутки. -- С уважением, Денис http://freesource.info ----------------------------------------------------------------------------