我在构建日志中收到以下内容:
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.CgE2Qn
+ umask 022
+ cd /export/home/svn_checkouts/*snip*/Output/release/bin/packaging/BUILD
+ /bin/rm -rf /export/home/svn_checkouts/*snip*/Output/release/bin
+ exit 0
Run Code Online (Sandbox Code Playgroud)
我想避免rpmbuild删除构建目录中的所有文件,因为在构建RPM之后我需要将其他文件删除.我可以覆盖此行为吗?
我读到某些版本的RPM支持一个--noclean参数,但不幸的是我们的.
事实证明我只需要%clean在spec文件中提供我自己的指令,并将其留空以覆盖默认值.出于某种原因,我没想到会这样.;)
定义可以条件化%Clean%阶段,以便实现相同的效果--noclean.
%Clean
%if "%{noclean}" == ""
rm -rf $RPM_BUILD_ROOT
%endif
Run Code Online (Sandbox Code Playgroud)
调用rpmbuild --define 'noclean 1'以禁用清洁.