Создание пакета
Contents
1. Общие правила
1.1. Поле RELEASE
1.1.1. Для своих пакетов
%{?dist}.1 - первая сборка пакета
%{?dist}.2 - вторая сборка пакета
%{?dist}.3 - третья сборка пакета
Данное поле не начинается с цифры для того, чтобы в случае появления пакета, включенного в Репозиторий, в составе обновлений дистрибутива или главных репозиториев, новый пакет автоматически при обновлении заменил одноименный из Репозитория.
1.1.2. Для пакетов из дополнительных репозиториев
Допустим, что тег RELEASE родительского пакета - 10.20%{?dist}
Получаем:
%{?dist}.10.20 - первая сборка пакета
%{?dist}.10.20.1 - вторая сборка пакета
%{?dist}.10.20.2 - третья сборка пакета
1.2. Поле CHANGELOG
Перед каждой пересборкой пакета данное поле должно быть обновлено и отображать внесеные в пакет изменения.
2. Создание пакета на основе существуюшего из дополнительного репозитория
Основная идея: мы не являемся основными разработчиками пакета, нашей задачей является внесение минимальных изменений для портирования пакета.
Пакет должен быть взят из поддерживаемой версии дополнительного репозитория. Если пакет был исключен из дополнительного репозитория, либо его поддержка была завершена - см. Создание нового пакета.
- В пакет должно быть внесено минимальное количество изменений с целью упрощения дальнейшего сопровождения.
3. Создание нового пакета
Основная идея: мы являемся основными разработчиками пакета, нашей задачей является самостоятельное создание пакета и его сопровождение вне зависимости от репозитория, с которого он был взят.
- В spec-файле не должно быть никакой лишней информации, которая была в spec-файле исходного пакета (например changelog).
При создании пакета должны быть выполнены все Правила сборки пакетов Репозитория.
3.1. spec-файл
Создайте spec-файл на основе одного из шаблонов, доступных в каталоге /etc/rpmdevtools (пакет rpmdevtools).
3.2. Проверка пакета
Проверьте пакет на наличие ошибок при помощи rpmlint.
