10.4 Создание субпакетов

Spec-файл может определять сборку более чем одного пакета. Этот тип дополнительных пакетов называется "субпакет" (subpackage). Субпакет имеет место для закрытия потребности в тех случаях, когда разработчик не хочет жестко ассоциировать один spec-файл с одним пакетом. Например, вы можете захотеть включить в один набор исходников пакет с исполняемым ПО и пакет с файлами разработки, или клиентское и серверное приложение. Разделение больших наборов документации на несколько субпакетов - также обычное дело.

В концепции субпакетов разработчику доступны:

- один spec-файл;
- один src.rpm;
- один набор команд сборки;
- несколько бинарных rpm.

В большинстве случаев субпакеты используют как средство разделения набора собранных файлов на несколько пакетов. Например, часто встречаются библиотеки разработки и заголовочные файлы, отделенные от главного пакета с приложением. Часто для этого требуется только использование нужной директивы и специальным образом организованная секция %files.

Для определения субпакета применяется директива %package:

%package sub_package_name

%package -n new_sub_package_name

По умолчанию имя субпакета строится следующим образом: имя исходного пакета - дефис - имя субпакета из директивы %package. Например:

%package server

Этот пример называет субпакет "server" и это реальный субпакет в пакете telnet. В данном случае бинарный пакет получит имя telnet-server.

Если есть причины (или нет желания) использовать стандартный синтаксис именования субпакета, доступна опция -n, с помощью которой можно задать полностью новое имя субпакета с использованием следующего:

%package -n new_sub_package_name

Система RPM не станет прибавлять префикс к полностью новому имени субпакета.

Далее - Предоставление информации о субпакетах
Назад - Написание проверочных скриптов
Содержание