在RPM规范中要求openjdk6或openjdk7

时间:2013-08-22 11:04:46

标签: dependencies rpm rpm-spec

我正在构建一个RPM,现在标记openjdk-6作为要求;我想添加对openjdk-7的支持;但我不知道如何修改spec文件以寻找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作为依赖?

1 个答案:

答案 0 :(得分:1)

如果你已经在前面部分检查了openjdk 6或7,为什么不设置一个变量来根据支票返回的值填充需求?如果openjdk的命名不是很中等,那么你可以使用Requires: openjdk >= 1.6,但我认为这不会起作用,因为他们决定将版本值放在中间位置。