gear/Справочник
Назначение
gear — инструмент для git-репозиториев с исходным кодом и пакетированием. gear поддерживает полный цикл организации репозиториев:
- Создание репозитория или импорт существующих src.rpm-пакетов,
- Обновление upstream-кода в репозиториях,
- Наложение патчей и пакетирование,
- Экспорт pkg.tar и src.rpm, сборка бинарных RPM-пакетов.
В задачи gear не входит взаимодействие с git.alt, транспортный уровень обеспечивается самим git.
Принцип функционирования
gear-репозиторий — это git-репозиторий, содержащий файл .gear/rules. Этот файл (плюс несколько вспомогательных) описывают правила сборки содержимого git-репозитория в пакет формата pkg.tar или src.rpm.
pkg.tar — это основанный на tar формат для хранения пакета с исходным кодом, аналогичный src.rpm, но не требующий запуска rpmbuild для создания. hasher умеет собирать пакеты в формате pkg.tar.
Содержимое
gear состоит из набора утилит, помогающих осуществлять несколько различных действий:
- Импорт пакетов с исходным кодом в gear-репозиторий:
- gear-srpmimport(1).
- Обновление исходного кода в gear-репозитории:
- gear-update(1),
- gear-merge(1) — утилита для автоматизации merge разных бранчей.
- Управление changelog (как в spec-файле, так и git-ового) в gear-репозитории:
- gear-changelog(1),
- gear-commit(1).
- Поддержание git-тэгов в gear-репозитории:
- gear-create-tag(1) — обёртка вокруг git tag. Создаёт тэг заданного вида (по умолчанию <VERSION>-<RELEASE>) и с заданным сообщением.
- gear-update-tag(1) — утилита для поддержания .gear/tags
- Экспортирование и сборка 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-тэгами
Особенности написания .spec-файлов