rpm spec在包名中需要通配符

时间:2016-06-30 15:18:39

标签: wildcard rpm-spec

我正在创建一个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

1 个答案:

答案 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