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