Etersoft-build-utils howto

Материал из ALT Linux Wiki
Версия от 16:54, 8 февраля 2010; VitalyLipatov (обсуждение | вклад) (Новая страница: «= HOWTO по сопровождению пакетов с помощью etersoft-build-utils = Данные ситуации описываются для сбор...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

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 и предлагает командную строку для тестирования пакета. После выхода из тестирования отправляет на сборку в Сизиф.