我的包 .spec 文件中有以下条目:
Requires: jdk >= 1.7
即使安装了 jdk-1.6.0_45-fcs.x86_64,我的软件包安装也没有问题(甚至没有警告)。如何强制停止安装我的软件包,直到安装所需的 Java 版本?
谢谢!
答案1
我自己尝试解决这个问题时偶然发现了这篇文章。最后我找到了解决方案。
jdk >= 2000:1.7.0_15
这是通过尝试命令“yum list installed | grep jdk”并发现我当前的版本是 2000:1.6.0_45 而产生的。这导致我使用 2000:1.7.0_15,它删除了 1.6 并安装了 1.7。
我搜索了有关软件包版本控制的一些详细信息,并找到了此链接, http://www.rpm.org/max-rpm-snapshot/s1-rpm-depend-manual-dependencies.html
它看起来像是 Epoch。“当 RPM 无法解读软件包的版本号时,就该提取 Epoch 标签了。此标签用于帮助 RPM 确定版本号顺序。”
“为了指示 RPM 在进行依赖性检查时查看纪元号而不是版本号,必须在 Requires 标记行中的版本前使用“:”。