Перейти к содержанию
zoryn/ maintainer-assistant

Batch-конфигурация

Batch-конфиги описывают группы связанных пакетов для совместной сборки — PHP-extensions, OCaml-библиотеки, привязанные к общей версии toolchain, и подобные случаи, где все пакеты делят настройки и должны попасть в одну задачу.

Используется командой zoryn task batch.

Расположение

Файлы конфигурации хранятся в ~/.config/zoryn/batch/ с расширением .conf. Ссылаться по имени (без расширения) или полным путём:

zoryn task batch php-8.4                      # ~/.config/zoryn/batch/php-8.4.conf
zoryn task batch ~/configs/mypackages.conf    # полный путь

Формат

TOML: таблица [batch] для глобальных настроек, отдельная таблица для каждого пакета.

[batch]
name = "PHP 8.4 extensions"
basedir = "~/packages/php8.4"
specsubst = "phpver=8.4"
main = "php"
main_branch = "8.4"

[php]
# Главный пакет, версия/тэг берутся отсюда

[php-memcached]
# Использует настройки по умолчанию

[pecl-imagick]
path = "~/packages/imagick"
# Свой путь, не basedir/pecl-imagick

[php-unit]
mode = "rebuild"
# Пересборка вместо сборки из исходников

[php-xdebug]
skip = true
# Временно отключён

[php-pgsql]
exclude = ["p10", "c10f2"]
# Не собирать для p10 и c10f2

[php-redis]
only = ["sisyphus", "p11"]
# Собирать только для sisyphus и p11

[php-sodium]
specsubst = "none"
# Отключить specsubst для этого пакета

Опции секции [batch]

ОпцияОписание
nameОтображаемое имя batch (по умолчанию: имя файла конфига)
basedirБазовый каталог для пакетов, поддерживает ~
specsubstspecsubst по умолчанию для gear-create-tag (например, phpver=8.4)
mainИмя главного пакета для получения версии/тэга
main_branchGit-ветка для чтения spec главного пакета
tag_formatШаблон имени тэга (по умолчанию: {main_name}-{main_version}-{main_release})
tag_messageШаблон сообщения тэга (по умолчанию: такой же, как tag_format)

Плейсхолдеры tag format

  • {main_name} — имя главного пакета (например, php8.4).
  • {main_version} — версия главного пакета (8.4.17).
  • {main_release} — release главного пакета (alt1).
  • {name} — имя текущего пакета (php8.4-apcu).

Опции секции пакета

ОпцияОписание
pathСвой путь (переопределяет basedir/name), поддерживает ~
modebuild (по умолчанию) или rebuild
excludeTOML-массив или строка через запятую — репозитории, где пакет исключён
onlyTOML-массив или строка через запятую — репозитории, где пакет включён (эксклюзивно)
skiptrue для временного отключения
specsubstПереопределить specsubst, или none для отключения

Генерация из существующей задачи

Bootstrap batch-конфига из уже имеющейся задачи — zoryn task genbatch:

zoryn task genbatch 404784 --main php --output ~/.config/zoryn/batch/php-8.4.conf