检测%install部分内的安装或更新

时间:2015-01-23 16:57:57

标签: rpmbuild rpm-spec

我如何区别于%install部分内的全新安装更新? 我可以在%pre部分中使用以下代码,但它在%install部分中不起作用:

if [ $1 -eq 1 ]; then
    #install
else
    #update
fi

主要问题是在%install部分内部我想复制一些文件(通过cp命令)仅在全新安装的情况下。

1 个答案:

答案 0 :(得分:2)

{rpm}创建期间%install部分运行。它在rpm安装期间不运行。这是为了安装"打包文件,以便rpm创建过程可以找到它们。

tl; dr你不能这样做。

您要么总是将它们临时安装到某个地方,只在全新安装模式下将它们复制到最终位置,或者在升级时不需要修改的文件上使用%config(noreplace)标记(当它们已经被修改时)已在本地修改过。)