check-unmets
check-unmets — это пакет программ, призванных облегчить массовое обновление репозитария, содержащегося на базе girar. Такое массовое обновление может возникнуть, например, при портировании репозитария на другую аппаратную архитектуру. Пакет включает в себя средства для автоматического выявления проблем, информировании о выявленных проблемах через web-интерфейс и решения выявленных проблем в автоматическом и полуавтоматическом режимах. В настоящее время пакет check-unmets используется в проекте Ports/arm.
Инструментарий пакета можно разделить на две категории:
- инструменты, облегчающие обслуживание и реформирование репозитария;
- инструменты для анализа пакетных зависимостей и помощи в формировании сборочных заданий.
Обслуживание репозитария
Подсистема обслуживания репозитария состоит из следующих компонентов:
- интерфейс пользователя — программа для вывода информации о заданиях и предлагаемых сценариев продолжения сборки;
- база данных заданий -- хранит информацию о сборочных заданиях, ошибках сборки и предполагаемых путях их устранения;
- анализатор заданий -- программа, актуализирующая информацию о задании на основании анализа его структурных элементов и журнала;
- резолвер -- программа, призванная разрешать проблемы, связанные с неудовлетворёнными межпакетными зависимостями, возникающими при сборке.
Интерфейс пользователя
На страницы пользовательского интерфейса информация о сборочных заданиях выводится в табличной форме. Помимо данных, непосредственно характеризующих задание, выводится информация о выявленных в процессе сборки неудовлетворённых межпакетных зависимостях и найденных пакетах-кандидатах, предоставляющих недостающие компоненты. Эта информация сопровождается ссылками на те сборочные задания, в рамках которых предпринимались попытки собрать пакеты-кандидаты.
На заглавную страницу выводится информация о недавних сборочных заданиях, начиная с самых новых. Вверху страницы выводится заголовок с пояснениями и ссылками на другие страницы интерфейса, на которые выводится информация о заданиях, соответствующих определённым дополнительным критериям и сценарии, рекомендующие к запкску новые задания.
На одну из допллнительных страниц вывоится таблица с заданиями, которые система рекомендует к перезапуску. Отбираются не проедшие сборку задания, для которых на данный момент удовлетворены зависимости на все те компоненты, которых ранее нехватало. Кроме табличной формы, может быть выведен готовый к запуску сценарий оболочки, позволяющий перезапустить задания. Для старых заданий, информация о которых сохранилась только в базе данных, вместо команд перезапуска выводятся команды, добавляющие в очередь новые задания, аналогичные старым.
База данных заданий
Анализатор заданий
Резолвер
Исходный код
Лицензия
- GPL версии 2 и выше.