Etersoft-build-utils howto
HOWTO по сопровождению пакетов с помощью etersoft-build-utils
Данные ситуации описываются для сборки пакетов из git-репозитория, но для сборки старым способом (через ~/RPM/SPECS/спек) они применяются совершенно также.
Описывается версия etersoft-build-utils 1.7.6. Все команды выполняются в каталоге репозитория, как правило в том же каталоге, где лежит спек.
Получение готового к сборке репозитория
С чего начинаем, чтобы получить репозиторий
Подхватываем пакет, уже собранный в Сизиф
rpmgp -g название-пакета
Берём имеющийся src.rpm для ALT
rpmgp -m файл.src.rpm
Берём src.rpm от другого дистрибутива
rpmgp -m файл.src.rpm
Как минимум в пакете нужно почистить спек и привести его надлежащему виду командой
rpmcs спек
Создаём репозиторий с нуля
Сборка пакета
Собрать пакет в системе
$ rpmbb спек
Собрать пакет в hasher
$ rpmbsh спек
Отправка пакета на сборку
Отправить пакет на сборку в Сизиф
$ rpmbs -u спек
Бэкпортировать в 5.1 и отправить
$ rpmbph -n -u -M51 спек
Обновление пакета
Обновление исходников
Если в Source указан URL к файлу с исходниками, команда
$ rpmgs спек новая_версия
скачает их автоматом, перебрав все возможные варианты форматов и сконвертировав в tar (tar.bz2), если в Source указано расширение .tar ( .tar.bz2).
Рассказать про Source-url, Source-svn в случае нестандартных ситуаций.
Для сборки старым способом рекомендуется устанавливать расширение для файлов в Source в tar.bz2.
Для сборки через git рекомендуется указывать .tar (одновременно нужно сменить указание способа архивации и в ~/.gear/rules).
Автоматическое обновление
Если в спеке правильно указан URL в Source, и в новой версии не произошло изменений в структуре файлов, достаточно выполнить команду
$ rpmrb спек новая_версия
Она выполняет достаточно простые действия, выполняя последовательно команды rpmgs, rpmbsh -i, rpmbs: скачивает новые исходники, обновляет спек, собирает пакет в hasher, ставит собранный пакет в тестовый hasher и предлагает командную строку для тестирования пакета. После выхода из тестирования отправляет на сборку в Сизиф.