2016-02-12 54 views
2

安装rpm时,我需要找到软件包的先前版本(如果已安装)。我的spec文件如下RPM规格文件查找安装版本

在POST

%post if [ "$1" = "1" ]; then # Perform new install fi elif [ "$1" = "2" ]; then # Perform update # what I need is value for Version if [ $Version = 1.0]; then # do upgrade 1 fi elif [ "$Version" = "2" ]; then #do upgrade 2 fi

fi

在上面的代码,我怎么能得到的版本价值。我试图使用执行rpm-qi | grep <rpm_package>有没有其他方法可用?

+1

'转,因为RPM数据库已被锁定为您的交易-qi'或许根本无法工作。我认为你需要你的升级逻辑足够聪明,以根据文件格式来确定它的版本。恕我直言,升级逻辑在应用程序本身中会更好,而不是RPM特定的。 –

回答