以下を考慮してください。
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ではそうではないと思いますか?
さらに重要なのは、なぜZypperがこのパッケージをインストールするのかいいえJavaをインストールしますか? ?ここで何が起こっているのでしょうか?
答え1
答えは簡単であることがわかりました。 RPM仕様ファイルでは、このタグはこのセクションの一部としてRequires:
誤って解釈されます。%description
上記の出力は実際には次のようになります。
Description:
...
Requires: java-1_7_0-openjdk
これはそれを作るバラよりZypperが言ったように、パッケージにはJavaが必要ですが、実際に説明フィールドにはテキストのみがあります。グルー!
Requires:
仕様ファイルの正しいセクションに移動し、すべてが正常です。