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

zoryn gen

Генераторы файлов.

zoryn gen opam2spec

Сгенерировать RPM spec из opam-файла.

zoryn gen opam2spec [options] <file.opam|package-name>

Опции:

  • -o, --output <file> — выходной spec-файл (по умолчанию: stdout).
  • -p, --packager <name> — имя packager'а для changelog.
  • --prefix <prefix> — префикс имени пакета (по умолчанию: ocaml-).
  • --no-check — отключить секцию %check.
  • --no-rules — отключить генерацию .gear/rules.
  • --no-rdb-check — не проверять RDB на существующие пакеты.
  • --tag-prefix <prefix> — префикс upstream-тэга (по умолчанию: v).
  • -V <version> — переопределить версию.
  • --clone — склонировать репозиторий и сгенерировать файлы.
  • --build — собрать после генерации.
  • --verbose — подробный вывод.
zoryn gen opam2spec mypackage.opam              # из локального файла
zoryn gen opam2spec dune -o ocaml-dune.spec     # из opam-репозитория
zoryn gen opam2spec ppx_deriving --clone        # склонировать и сгенерировать

zoryn gen pypi2spec

Сгенерировать spec-файл из пакета PyPI.

zoryn gen pypi2spec [options] <package>

Опции:

  • --url <url> — URL git-репозитория. Переопределяет URL, найденный в метаданных PyPI; используется и для git clone, и для тэга VCS: в spec. Суффикс .git удаляется.
  • --name <name> — переопределить имя RPM-пакета.
  • -V <version> — переопределить версию.
  • --no-check — пропустить генерацию %check.
  • --no-clone — сгенерировать spec в текущем каталоге без клонирования.
  • --packager <name> — packager с именем и email.
  • --verbose — подробный вывод.

Клонирует upstream git-репозиторий, определяет тест-фреймворк (pytest/tox) и создаёт .gear/ артефакты (spec, pyproject_deps.json, rules) готовые к сборке. Spec-файл называется по нормализованному имени PyPI-пакета (например, .gear/hdbscan.spec). Включает AutoReq: yes, nopython3, %pyproject_runtimedeps_metadata и %global _unpackaged_files_terminate_build 1.

zoryn gen pypi2spec hdbscan                     # клонировать и сгенерировать
zoryn gen pypi2spec hdbscan --url https://github.com/scikit-learn-contrib/hdbscan
zoryn gen pypi2spec hdbscan --no-clone          # в текущем каталоге

zoryn gen watch

Сгенерировать watch-файл из Debian, Gentoo или Arch Linux.

zoryn gen watch [options] [package]

Без имени пакета использует имя из spec-файла текущего каталога.

Команда запрашивает несколько источников (Debian, Gentoo, Arch) через Repology API и генерирует watch-файл в стиле Debian. При нескольких источниках показывает таблицу сравнения версий и URL-паттернов.

Опции:

  • --debian-pkg <name> — явно указать имя Debian-пакета (когда имена ALT и Debian различаются, например --debian-pkg fox1.6 для libfox).
  • --gentoo-pkg <name> — явно указать имя Gentoo-пакета.
  • --arch-pkg <name> — явно указать имя Arch-пакета.
  • --no-compare — пропустить сравнение, использовать первый найденный источник.
  • -f, --force — перезаписать существующий watch-файл.
  • -p, --print — вывести watch-файл без сохранения.

Приоритет источников: Debian > Gentoo > Arch. При совпадении паттернов предпочтение отдаётся источнику с более новой версией.

zoryn gen watch                      # для текущего пакета
zoryn gen watch mac                  # для пакета mac
zoryn gen watch --debian-pkg fox1.6  # явное имя Debian
zoryn gen watch --gentoo-pkg mac     # явное имя Gentoo
zoryn gen watch --no-compare         # первый найденный
zoryn gen watch -p                   # предпросмотр без сохранения

zoryn gen environment

Инициализация файлов конфигурации окружения разработки ALT Linux.

zoryn gen environment [options]

Создаёт:

  • ~/.zoryn — конфиг zoryn с секциями [build], [clone], [sources].
  • ~/.ssh/config — SSH-алиасы для gitery и gyle.
  • ~/.hasher/config — workdir и packager для hasher.
  • ~/.rpmmacros — макрос %packager.
  • ~/.gitconfig — git user.name и user.email (если не заданы).

Также создаёт SSH-ключ (ed25519) и GPG-ключ (RSA 4096-bit), если их нет.

Опции

ОпцияОписание
--name NAMEИмя на английском (обязательно для неинтерактивного режима)
--email EMAILEmail для changelog (обязательно для неинтерактивного режима)
--login LOGINЛогин для gitery/gyle (опционально)
--skip-keysПропустить генерацию SSH и GPG ключей
--update-configДополнить существующий ~/.zoryn отсутствующими значениями по умолчанию

--update-config добавляет отсутствующие секции и ключи в существующий конфиг без перезаписи значений или удаления комментариев. Полезно после обновления zoryn для получения новых параметров конфигурации.

Примеры

zoryn gen environment                                        # интерактивный режим
zoryn gen environment --name 'Ivan Ivanov' --email ivan@altlinux.org --login ivan
zoryn gen environment --name 'Ivan Ivanov' --email ivan@example.org  # без gitery/gyle
zoryn gen environment --skip-keys                            # без генерации ключей
zoryn gen environment --update-config                        # обновить существующий конфиг

zoryn gen version-up

Сгенерировать .gear/version-up на основе текущей версии пакета.

zoryn gen version-up [--tag TAG] [--to-version VERSION] [--filter VERSION] [--force]

Находит git-тэг, соответствующий текущей версии spec, и генерирует pattern/template для конвертации. Помогает zoryn up корректно фильтровать тэги и обрабатывать случаи, где формат тэга отличается от формата версии (например, подчёркивания vs точки).

Опции:

  • --tag TAG — git-тэг текущей версии (автоопределение при отсутствии).
  • --to-version VERSION — версия, в которую конвертируется тэг. Используется с --tag, когда формат отличается.
  • --filter VERSION — префикс версии для фильтрации тэгов (например, --filter 4.5 генерирует filter = "major=4, minor=5"). Если .gear/version-up уже существует, добавляет фильтр.
  • --force — перезаписать существующий .gear/version-up.

Примеры

zoryn gen version-up                                        # автоопределение тэга
zoryn gen version-up --tag v1.2.3                           # явный тэг
zoryn gen version-up --tag osec-12_11_22.11 --to-version 12.11.22.11
zoryn gen version-up --force                                # перезаписать
zoryn gen version-up --filter 4.5                           # добавить фильтр
zoryn gen version-up --tag v4.5.5 --to-version 4.5.5 --filter 4.5