我有以下情况:
有没有办法在rpm脚本中获取版本号?
该%
脚本从相关版本叫做rpm
文件。因此,如果您从1.0版升级到1.1版,则安装前/安装后脚本将从rpm的1.1版运行,而安装前/安装后卸载脚本则从1.0版运行。
这使脚本很容易正确地处理自己的版本。
例如,这是SPEC文件的摘录
%pre
echo Pre called with version %{version}-%{release}
%post
echo Post called with version %{version}-%{release}
%preun
echo Pre-un called with version %{version}-%{release}
%postun
echo Post-un called with version %{version}-%{release}
它们非常简单,仅用于演示这一点。建立rpm时,这些值将嵌入到rpm中
例如
% rpm -q --scripts -p sweh-test-1.0-0.x86_64.rpm
preinstall scriptlet (using /bin/sh):
echo Pre called with version 1.0-0
postinstall scriptlet (using /bin/sh):
echo Post called with version 1.0-0
preuninstall scriptlet (using /bin/sh):
echo Pre-un called with version 1.0-0
postuninstall scriptlet (using /bin/sh):
echo Post-un called with version 1.0-0
现在,让我们安装此软件包的1.0.0版本:
% sudo rpm -i sweh-test-1.0-0.x86_64.rpm
Pre called with version 1.0-0
Post called with version 1.0-0
到目前为止,还不错。运行前/后安装脚本。
现在,让我们升级到1.1版:
% sudo rpm -U sweh-test-1.1-0.x86_64.rpm
Pre called with version 1.1-0
Post called with version 1.1-0
Pre-un called with version 1.0-0
Post-un called with version 1.0-0
注意调用的顺序和版本号;调用pre / post安装,版本发行版与新版本匹配,然后使用旧版本号调用pre / post卸载。
因此,您的想法是不需要获取此信息,可以通过使用%
宏将其直接包含在rpm规范文件中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句