rpmbuild%清除阶段而不删除文件

dev*_*os1 9 rpm rpmbuild

我在构建日志中收到以下内容:

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参数,但不幸的是我们的.

dev*_*os1 9

事实证明我只需要%clean在spec文件中提供我自己的指令,并将其留空以覆盖默认值.出于某种原因,我没想到会这样.;)

定义可以条件化%Clean%阶段,以便实现相同的效果--noclean.

%Clean
%if "%{noclean}" == ""
   rm -rf $RPM_BUILD_ROOT
%endif
Run Code Online (Sandbox Code Playgroud)

调用rpmbuild --define 'noclean 1'以禁用清洁.