如何保留BuildRoot的内容?

如何保留BuildRoot的内容?

良好的旧 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 中此行为发生了变化?

相关内容