如何保留BuildRoot的内容?


11

在逐步构建软件包时,良好的旧rpm只是保留了BuildRoot的内容-对我来说非常有用,因为如果某些软件很难创建,我可以检查BuildRoot是否一切正常。

现在,随着所有“改进”的rpm,BuildRoot的内容会自动删除,因此我无法真正投入使用(安装步骤并不那么长)。

我知道的一个技巧是在安装阶段结束时为rpm规范增加某种睡眠。但这是丑陋的。

所以- 问题 -如何很好地保留BuildRoot的内容-换句话说,如何一劳永逸地禁用自动删除?

Answers:


6

您是否尝试过rpmbuild -bi在测试中使用,以使您在此%install阶段中积累所有东西?那应该可以告诉您发生了什么事而无需随后自动清理。

然后,当您满意时,按常规进行构建。


谢谢。这是侵入性最小的方法,并且有效。
greenoldman 2011年


3

尝试将虚拟对象添加%clean到规格文件。就像是:

%clean
echo NOOP

不起作用,因为在%install的开头删除了BUILDROOT-这是%install初始化的一部分。
smcg 2014年

如果目标是在构建后保留buildroot进行调查,那么它确实起作用。
ederag '18

0

我同意,这烦人。如果您不介意修改rpm,建议您进入rpm源并找出BuildRoot的删除位置,禁用该行(可能只有一行),然后重新编译。我建议的另一件事是提交一个愿望清单错误以恢复旧的行为,我认为这是可配置的。

问题:此行为在什么版本的rpm中发生了变化?


我不知道该版本,但是要更改官方rpm会很困难:lists.rpm.org/pipermail/rpm-list/2008-December/000040.html解释表明,意识形态扮演着重要的角色。不过,可以修补rpm,谢谢您的提示。也许我也将管理还原自动BuildRoot创建。
greenoldman'4

@macias:我查看了Debian(4.9.0-2)上的rpm源,但没有发现有用的东西。但是,即使开发人员不愿意更改它,我也希望他们愿意告诉您如何自己进行更改。
Faheem Mitha

幸运的是,-bi开关适用于这种情况,因此,如果可以的话,我会跳过修补程序-带有回归功能的软件列表反而会越来越长。
greenoldman 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.