Я изменяю автоматическую сборку и хочу сказать rpmbuild
на использовать определенную область сборки при ее вызове .
Это похоже на существующий вопрос , но более конкретно.
Я не хочу запускать какие-либо команды сборки от имени пользователя root; цель состоит только в том, чтобы иметь RPM, а не устанавливать что-либо в систему.
Я не хочу требовать, чтобы пользователь изменил свои точечные файлы (например, $HOME/.rpmrc
); сборка должна быть автономной и не влиять на существующие настройки пользователя.
Я не хочу жестко кодировать местоположение в файл foo.spec
; этот файл должен использоваться как есть, если пользователь хочет создать его в другом месте.
Опция --buildroot
- это не то, что мне нужно; который устанавливает псевдокорневую файловую систему для make
части процесса сборки, но мне нужно указать «область сборки» для всего RPM процесса сборки.
Я ищу гипотетическую --build-area FOODIR
опцию , которую можно передать команде rpmbuild
, или эквивалентную переменную среды. Таким образом, это должно повлиять только на этот единственный вызов команды и заставить ее использовать указанное для записи место для своей области сборки.
Я видел ссылки на макрос _topdir
, о котором я говорю, но он не настраивается для каждого вызова.
Было бы идеально, если бы rpmbuild
мог настраивать свою собственную среду в этом месте, когда это необходимо, но я не против настроить каталоги для каждой сборки, так как это можно автоматизировать как часть сборки. , Цель состоит в том, чтобы имел это доступное для записи местоположение пользователя только на время выполнения сборки , а затем очистил, удалив все это местоположение после создания файла RPM.