zoryn build¶
Локальная или удалённая сборка hasher'ом. Управляется ~/.zoryn и конфигами билдеров в ~/.config/zoryn/builders.d/.
Использование¶
zoryn build [-v] [-l dir] [-C dir] [-d] [-r|--rebuild] [-b pattern] [-a arch]
[-B branch] [-p] [-s] [--fail-if-busy] [--skip-busy] [--top]
[--skip-check[=LIST]] [--batch-pkgs=PKGS]
[--section=SECTION] [--rpmbuild-args=ARGS]
Читает команду сборки из ~/.zoryn или конфигурации билдера. Поддерживает локальные и удалённые билдеры из ~/.config/zoryn/builders.d/.
Перед сборкой zoryn проверяет, что allowed_mountpoints и allowed_devices билдера (из hasher-priv) включают все mountpoints, указанные в команде сборки (--mountpoint=…). Если записи отсутствуют, сборка останавливается с инструкцией по исправлению.
Если у пакета есть batch-конфигурация в .gear/version-up (specsubst с несколькими значениями), сборка запускается для каждого значения.
По умолчанию вывод идёт только в лог-файл (тихий режим). Используйте -v для вывода на экран.
Опции¶
-v, --verbose— вывод сборки на экран (дополнительно к лог-файлу).-l, --log-dir <dir>— сохранять логи в указанный каталог вместо.gear/.-C <dir>— сменить каталог перед запуском.-d, --debug— отладочный вывод.-b, --builder <pattern>— выбрать билдеры по имени или паттерну (см. Паттерны билдеров).-a, --arch <arch>— выбрать билдер по архитектуре (через запятую для нескольких).-B, --branch <branch>— выбрать билдер по ветке (через запятую).-p, --parallel— параллельная сборка при нескольких билдерах.-s, --sequential— последовательная сборка (переопределяетparallel = on).--fail-if-busy— завершить с ошибкой, если билдер занят (по умолчанию: ждать).--skip-busy— пропускать занятые билдеры без ошибки.-r, --rebuild— использоватьhsh-rebuildвместоhsh.--top— интерактивный TUI для мониторинга (в стиле htop).--skip-check[=LIST]— пропустить проверки (через запятую). Значения:rpmbuild, имена инструментов (sisyphus_check),all.--batch-pkgs=PKGS— собрать только указанные batch-значения.--no-python-auto-deps— отключить автообновлениеpyproject_deps.json.--section <SECTION>— запуск конкретной секции rpmbuild в существующем chroot. Значения:prep,build,install,check,bb(aliaspkgbinary; только упаковка, rpm),ba(aliaspkgall; только упаковка, src.rpm + rpm).--rpmbuild-args <ARGS>— дополнительные аргументы rpmbuild (требует--section).
TUI-режим (--top)¶
Интерактивный интерфейс:
- Таблица статуса билдеров с текущими этапами.
- Панель лога с прокруткой (Up/Down, PgUp/PgDn, Home/End, колесо мыши).
- Поиск по regex (
/,n/N— след./пред.). - Постоянная история поиска: Up/Down или Ctrl+R в строке поиска.
- TAB — переключение билдеров,
c— отмена,r— перезапуск. - Требует
ocaml-lambda-term-devel.
Примеры¶
zoryn build # локальная сборка по ~/.zoryn
zoryn build -v # сборка с выводом на экран
zoryn build --builder=shell64 # на указанном билдере
zoryn build --builder=shell32,shell64 # на нескольких билдерах
zoryn build --arch=aarch64 # на ARM64 билдере
zoryn build --branch=p11 # для p11 (ждёт, если занят)
zoryn build -b @all # на всех билдерах
zoryn build -b @all -p # параллельно на всех
zoryn build -b @all --arch=x86_64 # на всех x86_64
zoryn build -b @all --top # интерактивный TUI
zoryn build -b @all,^local # все, кроме local
zoryn build -b @host:basalt # все билдеры на basalt
zoryn build --section check # %check в существующем chroot
zoryn build --section build -b arm-server # %build на конкретном билдере
zoryn build --section bb # только упаковка (rpm)
zoryn build --section ba # только упаковка (src.rpm + rpm)
Паттерны билдеров¶
Флаг -b поддерживает паттерны для гибкого выбора:
| Паттерн | Значение |
|---|---|
@all | Все настроенные билдеры |
@host:basalt | Все билдеры на хосте basalt |
@host:basalt[2-5] | Билдеры на basalt с номером hasher 2–5 |
local[1-3] | Билдеры local1, local2, local3 |
@all,^local | Все, кроме local |
@all,^@host:basalt | Все, кроме билдеров на basalt |
@host:basalt,^@host:basalt[4-5] | Билдеры на basalt, кроме номеров 4–5 |
Префикс @ — для селекторов, ^ — для исключений. Несколько паттернов через запятую — включения объединяются, затем вычитаются исключения. Работают вместе с --arch / --branch (пересечение).