我正在从目录foo
中的规范文件使用rpmbuild构建RPM,但是每当我运行rpmbuild时,它将在我的主目录~/rpmbuild/RPMS
中创建rpm。
如何更改RPM的目的地,并使整个rpmbuild目录位于foo
中?我尝试将Buildroot
设置为foo
,但这只是更改了构建临时文件而不是最终rpm的位置。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:3)
“最大RPM”手册(有时确实是过时的)中的信息仍是最新的。您需要设置_topdir
值才能移动整个目录树:
除了更改~/.rpmmacros
之外,您还可以使用-D _topdir /path/to/alternate/location
来切换目录树的位置。
如果要移动特定的子目录,请参见rpmrc
File Entries并搜索topdir
引用以获取其他RPM宏名称。请注意,由于某些原因,所有这些变量名称中都缺少前导下划线_
。
答案 1 :(得分:0)
作为上述可行答案的替代方法,在spec文件本身中设置输出目录%define _rpmdir /path/to/outputdir
对我有用。