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-файла
Содержание