8.2.4 Сборка пакета с помощью утилиты rpmbuild
Индекс8.2.4 Сборка пакета с помощью утилиты rpmbuild
Базовый синтаксис использования утилиты rpmbuild:
rpmbuild -bСтадия_сборки имя_пакета.spec |
Опция -b указывает на режим сборки. Второй ключ после -b говорит, до какой стадии осуществлять процесс. Возможные стадии процесса рассмотрены в таблице.
Опция |
Значение |
-ba |
Собрать бинарный пакет и пакет с исходным кодом |
-bb |
Собрать бинарный пакет |
-bc |
Скомпилировать программу, но не собирать rpm-пакет, то есть выполнить до секции %build включительно |
-bp |
Выполнить подготовку и остановиться сразу после завершения стадии %prep |
-bi |
Выполнить сборку бинарного пакета и остановиться сразу после завершения стадии %install |
-bl |
Выполнить проверку списка файлов для пакета и вывести резюме ошибок, если корневой каталог сборки не содержит каких-то файлов из списка |
-bs |
Собрать только пакет с исходным кодом |
Следующий пример показывает результат выполнения команды rpmbuild -bp jikes.spec, отданный из каталога /usr/src/redhat/SPECS :
$ rpmbuild -bp jikes.spec Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.72435 + umask 022 + cd /usr/src/redhat/BUILD + LANG=C + export LANG + cd /usr/src/redhat/BUILD + rm -rf jikes-1.17 + /usr/bin/gzip -dc /usr/src/redhat/SOURCES/jikes-1.17.tar.gz + tar -xf - + STATUS=0 + '[' 0 -ne 0 ']' + cd jikes-1.17 ++ /usr/bin/id -u + '[' 500 = 0 ']' ++ /usr/bin/id -u + '[' 500 = 0 ']' + /bin/chmod -Rf a+rX,g-w,o-w . + exit 0 |
После запуска команды на выполнение файлы с исходным кодом распаковываются в каталог /usr/src/redhat/BUILD, в подкаталог jikes-1.17. Подкаталоги используются, чтобы избежать смешивания файлов сборки различных проектов. Если зайти в каталог jikes-1.17, можно увидеть все необходимое для сборки проекта с помощью make.
Помимо стадий сборки, определяемых вторичными ключами, описанными в таблице, утилита rpmbuild принимает некоторые другие опции. Например, команда
rpmbuild --clean specfile.spec |
очистит временный каталог установки файлов пакета и каталог сборки проекта:
$ rpmbuild --clean /usr/src/redhat/SPECS/jikes.spec Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.21908 + umask 022 + cd /usr/src/redhat/BUILD + rm -rf jikes-1.17 + exit 0 |
Далее - Верификация собранных пакетов
Назад - Создание spec-файла
Содержание