指定在rpm spec文件中提供版本

时间:2016-01-07 09:24:58

标签: linux rpm specifications

发生了什么:
我现在正在研究linux并行安装问题,因为rpm不再支持同时在机器上安装32位和64位相同名称包。所以我需要将32位软件包的名称从xxx.i386.rpm更改为xxx-32bit.i386.rpm。为了支持此软件包的升级,我应该在spec文件中提供旧的软件包名称:xxx。

问题:
我查看了rpm.org的页面,看看我们是否可以指定我们在spec文件中提供的版本,如:

提供:xxx = 16.0

我做了一些测试,似乎有效。但我无法找到任何正式的解释 如果我在提供中指定了提供包版本,是否有其他人知道正确的行为。

1 个答案:

答案 0 :(得分:3)

我撇开RPM仍支持multilib(我很困惑你为什么这样做)。但是当我专注于那个规范问题时。

你几乎是正确的。只需省略百分号。正确的是:

Provides: xxx = 16.0

请注意" 16.0"应该只是版本。虽然它在技术上可以是版本发布,但这会让你在一段时间后遇到麻烦。

如果你想提供真正干净的升级路径,你也应该把它放在过时。见https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages