0

我正在构建一个 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 --provides java-1.6.0-openjdk 并列出

libjvm.so()(64bit)
libjvm.so(SUNWprivate_1.1)(64bit)

我做错了虚拟包dep吗?是否有更清晰/更明显的方式来提及 JDK6/7 或 JDK6/7 作为依赖项?

4

1 回答 1

1

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

于 2013-09-02T00:11:35.697 回答