Gear/Справочник: различия между версиями

Материал из ALT Linux Wiki
м (→‎Правила .gear/rules: по-хорошему бы на вики описать хотя бы основное...)
Строка 46: Строка 46:


== Правила <tt>.gear/rules</tt> ==
== Правила <tt>.gear/rules</tt> ==
См. <tt>gear-rules(5)</tt>.


== Управление <tt>gear</tt>-тэгами ==
== Управление <tt>gear</tt>-тэгами ==

Версия от 14:43, 25 мая 2021

Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Назначение

gear - инструмент для управления git-репозиториями с исходным кодом и пакетированием. gear поддерживает полный цикл управления репозиториями:

  • Создание репозитория или импорт существующих src.rpm-пакетов,
  • Обновление upstream-кода в репозиториях,
  • Наложение патчей и пакетирование,
  • Экспорт pkg.tar и src.rpm, сборка бинарных RPM-пакетов.

Принцип функционирования

gear-репозиторий - это git-репозиторий, содержащий файл .gear/rules. Этот файл (плюс несколько вспомогательных) описывают правила сборки содержимого git-репозитория в пакет формата pkg.tar или src.rpm.

pkg.tar - это основанный на tar формат для хранения пакета с исходным кодом, аналогичный src.rpm, но не требующий запуска rpmbuild для создания. hasher умеет собирать пакеты в формате pkg.tar.

Содержимое

gear состоит из набора утилит, помогающих осуществлять несколько различных действий:

  1. Импорт пакетов с исходным кодом в gear-репозиторий:
    • gear-srpmimport(1).
  2. Обновление исходного кода в gear-репозитории:
    • gear-update(1),
    • gear-merge(1) - утилита для автоматизации merge разных бранчей.
  3. Управление changelog (как в spec-файле, так и git-ового) в gear-репозитории:
  4. Поддержание git-тэгов в gear-репозитории:
    • gear-create-tag(1) - обёртка вокруг git tag. Создаёт тэг заданного вида (по умолчанию <VERSION>-<RELEASE>) и с заданным сообщением.
    • gear-update-tag(1) - утилита для поддержания .gear/tags
  5. Экспортирование и сборка RPM-пакетов из gear-репозитория:
    • gear(1),
    • gear-rpm(1),
    • gear-hsh(1),
    • gear-remote(1),
    • gear-remote-rpm(1),
    • gear-remote-hsh(1).

Дополнительно имеются две утилиты

  • gear-hsh-build(1) — высокоуровневая обёртка вокруг gear(1), собирающая с помощью hasher несколько gear-репозиториев и укладывающая результирующие пакеты в локальный APT-репозиторий,
  • gear-buildreq(1) — утилита для запуска buildreq на содержимом gear-репозитория.

Утилиты экспортирования и сборки пакетов, а также gear-buildreq(1) являются простыми обёртками над низкоуровневой командой gear(1).

Правила .gear/rules

См. gear-rules(5).

Управление gear-тэгами

Основная статья: Gear/tags


Особенности написания .spec-файлов