RPM различает два каталога, имеющих отношение к сборке: build и buildroot. Build - каталог, в котором происходит запуск скриптов конфигурации, компиляция ПО и прочие операции по сборке приложения или библиотеки, как если бы в этот каталог был распакован архив с исходным кодом вручную и выполнены команды ./configure и make. В обычном случае разработчику не приходится беспокоится об этом каталоге, так как при необходимости RPM его переопределит самостоятельно. С другой стороны, buildroot выступает в роли директории окончательной установки ПО. Имя buildroot учитывает тот факт, что обычно корневым каталогом установки является /, root-каталог. Install-секция spec-файла устанавливает ПО в buildroot так, как будто это корневой каталог целевой системы, в соответствующие подкаталоги. Это позволяет buildroot-каталогу хранить все пути установки, начиная с /.
Buildroot устанавливается с помощью определения Buildroot:, например:
Buildroot: %{_tmppath}/%{name}-%{version}-root |
Этот пример определяет buidroot как подкаталог временного каталога, заданного макроопределением %_tmppath. Имя подкаталога складывается из имени пакета и его версии с добавлением -root. Если раскрыть все определения, то полный путь к buildroot будет выглядеть примерно так:
/tmp/ypbind-1.12-root |
Когда buildroot определен, скрипты и команды из spec-файла получают возможность обращаться к нему через переменную окружения RPM_BUILD_ROOT. Обычно это происходит в секции Install.
Далее - Имена файлов архивов с исходным кодом
Назад - Описание пакета
Содержание