我正在创建一个RPM,该RPM要求另一个包的版本号在包名中间。
例如softwarepackage10.1-util-10.1.1.x86_64.rpm
。该名称将随下一版本而更改,例如softwarepackage11.2-util-11.2.1.x86_64.rpm
。
我无法控制其他包裹。
我需要为此软件包指定Requires
行,其中包含任何版本>= 10
。
我可以指定如下吗?:
Requires: softwarepackage*-util >= 10
答案 0 :(得分:2)
不,它不会像你提到的那样使用通配符。当您尝试安装软件包时,将产生如下内容:
<div>
<div class="component">
<div>
<label for="test1" id="short-label">Short label:</label>
</div>
<div>
<input type="text" id="test1" />
</div>
</div>
<div class="component">
<div>
<label for="test2" id="long-label">This is my very very very very very very very very very very very very very very very very very very long label:</label>
</div>
<div>
<input type="text" id="test2" />
</div>
</div>
</div>
]# rpm -ivh mypackage.rpm --test
error: Failed dependencies:
softwarepackage-*-util is needed by mypackage
应该更恰当地命名,但如果它是一个约束,那么在rpm spec文件中,你可以使用define。
softwarepackage-*
或者,你可以使用softwarepackage * -util提供的二进制文件,然后使用它来让包管理器解决版本和冲突。
% define softwarepackage_major_version 10
% define softwarepackage_minor_version 1