Alt-tasks-explorer: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
 
(не показаны 4 промежуточные версии этого же участника)
Строка 5: Строка 5:
== Принцип работы ==
== Принцип работы ==


<i>alt-tasks-explorer</i> читает список исходных файлов, после чего запускает приложение <i>alt-tasks</i>:
<i>alt-tasks-explorer</i> читает список исходных пакетов, после чего запускает приложение <i>alt-tasks</i> для получения информации о заданиях, в которых были собраны перечисленные в данном списке пакеты:


::<source lang="text"><alt-tasks> --src_name <путь_к_списку_исходных_файлов> --format "%t %s %b %n %v" --no_prev_ver</source>
::<source lang="text"><alt-tasks> --src_name <путь_к_списку_пакетов> --format "%t %s %b %n %v" --no_prev_ver</source>


Где <code><alt-tasks></code> обозначает команду <code>alt-tasks</code> или иной способ запуска приложения <i>alt-tasks</i> (путь к исполняемому файлу, подробнее см. раздел <i>Использование</i>). Результатом выполнения такой команды является список подзаданий, каждая строка которого включает номер задания, номер подзадания, название ветви Sisyphus, название пакета, версию и релиз пакета. Далее полученный список используется в качестве входных данных запускаемого модуля-обработчика, который назначается командой запуска <i>alt-tasks-explorer</i>.
Где <code><alt-tasks></code> обозначает команду <code>alt-tasks</code> или иной способ запуска приложения <i>alt-tasks</i> (путь к исполняемому файлу, подробнее см. раздел <i>Использование</i>). Результатом выполнения такой команды является список подзаданий, каждая строка которого включает номер задания, номер подзадания, название ветви Sisyphus, название пакета, версию и релиз пакета. Далее полученный список используется программой <i>alt-tasks-explorer</i> в качестве входных данных запускаемого модуля-обработчика, который назначается исходной командой запуска программы <i>alt-tasks-explorer</i>.


== Использование ==
== Использование ==
Строка 24: Строка 24:
|-
|-
|<code>--alt_tasks_util SHELL_CMD_OR_FILE_PATH</code>
|<code>--alt_tasks_util SHELL_CMD_OR_FILE_PATH</code>
|Способ запуска приложения <i>alt-tasks</i> (значение по-умолчанию - <code>alt-tasks</code>)
|Способ запуска приложения <i>alt-tasks</i> (значение по-умолчанию <code>alt-tasks</code>)
|-
|-
|<code>--src_list SRC_LIST_FILE_PATH</code>
|<code>--src_list SRC_LIST_FILE_PATH</code>
|Пусть к файлу, содержащему список названий исходных пакетов, задания по сборке которых подлежат обработке
|Путь к файлу, содержащему список названий исходных пакетов, задания по сборке которых подлежат обработке
|-
|-
|<code>-p MODULE_TO_RUN_OVER_FOUND_TASKS, --process MODULE_TO_RUN_OVER_FOUND_TASKS</code>
|<code>-p MODULE_TO_RUN_OVER_FOUND_TASKS, --process MODULE_TO_RUN_OVER_FOUND_TASKS</code>
|Краткое наименование модуля-обрабочика, который должен быть вызван для всех найденных подзаданий по сборке пакетов из списка
|Краткое наименование модуля-обрабочика, который должен быть вызван для всех найденных подзаданий по сборке пакетов, обозначенных в списке исходных пакетов
|-
|-
|<code>-o DIR_PATH, --out_dir DIR_PATH</code>
|<code>-o DIR_PATH, --out_dir DIR_PATH</code>
|Полный путь к каталогу, в который будут записаны результы
|Полный путь к каталогу, в который будут записаны результаты
|}
|}
== Формат списка исходных пакетов ==
Cписок исходных пакетов может состоять из записей двух типов:
* Полное наименование пакета, включающее название, версию, релиз и суффикс <code>.src.rpm</code>;
* Только название пакета (без версии, релиза и суффикса <code>.src.rpm</code>).
Наличие суффикса <code>.src.rpm</code> служит обозначением, что данная запись представляет собой полное наименование пакета. При наличии записи с полным наименованем пакета в результирующую выборку будут добавлены только те задания, в которых был собран пакет с соответствующей версией и релизом. Пример (вторая и третья записи представляют собой полное обозначение пакетов, а первая - только название):
::<source lang="text">
alt-tasks
control++-0.21.2-alt1.src.rpm
cve-manager-0.82.2-alt1.src.rpm
</source>
== Пример использования ==
<i>alt-tasks-explorer</i> создан для работы на сервере ALT Linux Team. Рассмотрим сложный случай, когда и приложение <i>alt-tasks</i> и приложение <i>alt-tasks-explorer</i> не установлены на сервере. Предварительно следует подготовить исполняемый файл приложения <i>alt-tasks</i>, например, клонировав проект и собрав пакет (следует учитывать текущую версию <i>glibc</i> на сервере ALT Linux Team — вероятно, что придётся выполнить сборку не на базе Sisyphus, а, например, на базе какого-то репозитория 9-ой платформы), после чего разместив исполняемый файл (<code>/usr/bin/alt-tasks</code>) на сервере (тривиальная операция, в примере не приводится):
::<source lang="text">
git clone git://git.altlinux.org/gears/a/alt-tasks.git
cd alt-tasks
gear --hasher -- hsh
</source>
Далее следует клонировать проект <i>alt-tasks-explorer</i> из апстрима, например, в свой домашний каталог <b>на сервере</b> — проект содержит все необходимые исполняемые файлы, осуществление сборки пакета не требуется:
::<source lang="text">
git clone git://git.altlinux.org/gears/a/alt-tasks-explorer.git /home/<user>/alt-tasks-explorer</source>
Теперь приложение <i>alt-tasks-explorer</i> готово к запуску. Далее приведена команда, позволяющая сформировать набор журналов процесса тестирования пакетов (т.е. запускаемым модулем-обработчиком является <i>alt-tasks-checklogs</i>), список которых размещён в домашнем каталоге (<code>/home/<user>/src.list</code>) и имеет формат, соответствующий формату, описанному в разделе <i>Формат списка исходных пакетов</i>, при этом исполняемый файл приложения <i>alt-tasks</i> также размещён в домашнем каталоге (<code>/home/<user>/alt-tasks</code>):
::<source lang="text">
/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
</source>


== Ссылки ==
== Ссылки ==

Текущая версия от 01:26, 28 ноября 2023

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

Ссылки

Проект на git.altlinux.org