我正在构建一个RPM,它现在将openjdk-6标记为必需的;我还想添加对openjdk-7的支持;但我不确定如何修改规范文件以根据需要查找openjdk6或openjdk7。我读到了虚拟包的概念,并且正在尝试使用它。我正在添加
Requires: libjvm.so在我的规范中;并在我的%pre部分中检查6或7。但是构建的RPM包不能识别libjvm.so。
error: Failed dependencies:
libjvm.so is needed by myapp.x86_64我尝试过rpm -q --提供java-1.6.0-openjdk,它列出了
libjvm.so()(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)我是不是做错了虚拟包的dep?有没有一种更清晰/更明显的方式来提到或JDK6/7作为依赖?
发布于 2013-09-02 08:11:36
如果您已经在pre部分中检查openjdk 6或7,为什么不设置一个变量来根据检查返回的值填充requires呢?如果openjdk的名字不是那么糟糕,把值放在中间,你可以使用Requires: openjdk >= 1.6,但我不认为这会起作用,因为他们决定把版本值放在中间。
https://stackoverflow.com/questions/18378675
复制相似问题