请考虑以下几点:
root# rpm -qR foobar
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadIsLzma) <= 4.4.6-1
root# zypper info --requires foobar
Loading repository data...
Reading installed packages...
Information for package foobar:
-------------------------------
Respository: @System
Name: foobar
...
Requires: java-1_7_0-openjdk那么,为什么Zypper说Java是必需的,但是RPM认为Java不是必需的呢?
更重要的是,为什么Zypper安装这个包而不安装Java?这里发生了什么事?
发布于 2015-01-22 11:15:28
结果发现答案很简单。在RPM规范文件中,Requires:标记被误解为%description部分的一部分。上面的输出实际上是:
Description:
...
Requires: java-1_7_0-openjdk这使得Zypper说包需要Java,但实际上它只是description字段中的文字文本。格鲁!
将Requires:移到规范文件的正确部分,现在一切都好了。
https://unix.stackexchange.com/questions/180436
复制相似问题