良好的旧 rpm 在步骤中构建包时只是保留了 BuildRoot 的内容 - 这对我来说非常有用,因为如果某些软件难以创建,我可以检查 BuildRoot 是否一切正常。
现在,随着所有“改进”的 rpm - BuildRoot 的内容被自动删除,所以我无法真正深入研究它(安装步骤并不那么长)。
我知道的一个 hack 是在安装阶段结束时向 rpm 规范添加某种睡眠。但这很丑陋。
所以 - 问题-- 如何以良好的方式保留 BuildRoot 的内容 -- 换句话说,如何一次性禁用自动删除?
答案1
您是否尝试过rpmbuild -bi
在测试中使用,以便在该阶段中建立所有内容%install
?这应该会告诉你发生了什么,而无需事后自动清理。
然后,当您满意时,就可以正常构建。
答案2
只需添加
%define __spec_install_pre /bin/true
.spec
在文件顶部
答案3
尝试%clean
向规范文件中添加一个虚拟对象。就像是:
%clean
echo NOOP
答案4
这是烦人,我同意。如果您不介意修改 rpm,我建议您进入 rpm 源并找出 BuildRoot 被删除的位置,禁用该行(可能只有一行),然后重新编译。我建议的另一件事是提交一个愿望清单错误以恢复旧的行为,我认为这是可配置的。
问题:在哪个版本的 rpm 中此行为发生了变化?