对创建 RPM 相当陌生,但我已经掌握了基础知识。我正在编写基础脚本,并且有一个要求,即我不能接受存储新创建的 RPM 的默认位置。
通常,创建的 RPM 存储在 ~/rpmbuild/RPMS 内
我需要将它们保存到 /centralStorage/Some/New/Location。
RPM 构建器正在寻找什么变量来了解新创建的 RPM 的保存位置?我似乎无法在文档中找到如何手动更改此设置。
答案1
这是使用_topdir
宏设置的,例如,
%_topdir /home/ed/mybuild
您可以使用相关宏对此进行微调。在 Fedora 系统上,宏位于 中/usr/lib/rpm/macros
,包括:
# The directory where newly built binary packages will be written.
%_rpmdir %{_topdir}/RPMS
所以你可以只覆盖_rpmdir
.
通常我只使用设置$HOME/.rpmmacros
,其他人使用命令行选项--define
,例如,
rpmbuild --define '_topdir /Location/On/Storage/' -bb myNewServer.spec
进一步阅读:
- 让 RPM 使用不同的构建区域(最大 RPM:将 RPM 包管理器发挥到极限)
- 如何将用户定义的参数传递给rpmbuild来填充变量
- 将条件参数传递到 rpm 构建中(对于转速4)