Alt-tasks-explorer
alt-tasks-explorer — набор приложений и запускающая их консольная программа, использующая приложение alt-tasks для поиска заданий по сборке пакетов ALT Linux, после чего осуществляющая запуск приложений из набора для получения информации об этих заданиях.
Все составляющие написаны на Python. Распространяется по лицензии GPLv3.0.
Принцип работы
alt-tasks-explorer читает список исходных пакетов, после чего запускает приложение alt-tasks для получения информации о заданиях, в которых были собраны перечисленные в данном списке пакеты:
<alt-tasks> --src_name <путь_к_списку_пакетов> --format "%t %s %b %n %v" --no_prev_ver
Где <alt-tasks>
обозначает команду alt-tasks
или иной способ запуска приложения alt-tasks (путь к исполняемому файлу, подробнее см. раздел Использование). Результатом выполнения такой команды является список подзаданий, каждая строка которого включает номер задания, номер подзадания, название ветви Sisyphus, название пакета, версию и релиз пакета. Далее полученный список используется программой alt-tasks-explorer в качестве входных данных запускаемого модуля-обработчика, который назначается исходной командой запуска программы alt-tasks-explorer.
Использование
Для правильной работы программы alt-tasks-explorer, ей должен быть передан способ запуска приложения alt-tasks, т.к. в системе, в частности на сервере ALT Linux Team, оно может быть не установлено, что не должно мешать осуществлять поиск информации по заданиям, информация о которых размещена на данном сервере. По-умолчанию, значение этого параметра равно alt-tasks
, но если в системе приложение alt-tasks не установлено, то следует передать в качестве значения данного параметра полный путь к соответствующему исполняемому файлу (например, скопированному в домашний каталог). Все параметры запуска alt-tasks-explorer приведены в следующей таблице:
Параметр | Описание |
---|---|
-h, --help
|
Вывод справки |
--alt_tasks_util SHELL_CMD_OR_FILE_PATH
|
Способ запуска приложения alt-tasks (значение по-умолчанию — alt-tasks )
|
--src_list SRC_LIST_FILE_PATH
|
Путь к файлу, содержащему список названий исходных пакетов, задания по сборке которых подлежат обработке |
-p MODULE_TO_RUN_OVER_FOUND_TASKS, --process MODULE_TO_RUN_OVER_FOUND_TASKS
|
Краткое наименование модуля-обрабочика, который должен быть вызван для всех найденных подзаданий по сборке пакетов, обозначенных в списке исходных пакетов |
-o DIR_PATH, --out_dir DIR_PATH
|
Полный путь к каталогу, в который будут записаны результаты |
Формат списка исходных пакетов
Cписок исходных пакетов может состоять из записей двух типов:
- Полное наименование пакета, включающее название, версию, релиз и суффикс
.src.rpm
; - Только название пакета (без версии, релиза и суффикса
.src.rpm
).
Наличие суффикса .src.rpm
служит обозначением, что данная запись представляет собой полное наименование пакета. При наличии записи с полным наименованем пакета в результирующую выборку будут добавлены только те задания, в которых был собран пакет с соответствующей версией и релизом. Пример (вторая и третья записи представляют собой полное обозначение пакетов, а первая - только название):
alt-tasks control++-0.21.2-alt1.src.rpm cve-manager-0.82.2-alt1.src.rpm
Пример использования
alt-tasks-explorer создан для работы на сервере ALT Linux Team. Рассмотрим сложный случай, когда и приложение alt-tasks и приложение alt-tasks-explorer не установлены на сервере. Предварительно следует подготовить исполняемый файл приложения alt-tasks, например, клонировав проект и собрав пакет (следует учитывать текущую версию glibc на сервере ALT Linux Team — вероятно, что придётся выполнить сборку не на базе Sisyphus, а, например, на базе какого-то репозитория 9-ой платформы), после чего разместив исполняемый файл (/usr/bin/alt-tasks
) на сервере (тривиальная операция, в примере не приводится):
git clone git://git.altlinux.org/gears/a/alt-tasks.git cd alt-tasks gear --hasher -- hsh
Далее следует клонировать проект alt-tasks-explorer из апстрима, например, в свой домашний каталог на сервере — проект содержит все необходимые исполняемые файлы, осуществление сборки пакета не требуется:
git clone git://git.altlinux.org/gears/a/alt-tasks-explorer.git /home/<user>/alt-tasks-explorer
Теперь приложение alt-tasks-explorer готово к запуску. Далее приведена команда, позволяющая сформировать набор журналов процесса тестирования пакетов (т.е. запускаемым модулем-обработчиком является alt-tasks-checklogs), список которых размещён в домашнем каталоге (/home/<user>/src.list
) и имеет формат, соответствующий формату, описанному в разделе Формат списка исходных пакетов, при этом исполняемый файл приложения alt-tasks также размещён в домашнем каталоге (/home/<user>/alt-tasks
):
/home/<user>/alt-tasks-explorer --alt_tasks_util /home/<user>/alt-tasks --src_list /home/<user>/src.list --process checklogs -o /home/<user>/logs > alt-tasks-explorer.log