10

これは簡単な質問のように思えますが、ドキュメントにはこの件について何も書いていないようです。のようなことをしたいのですが、それを行うと、実際には、 、およびRequires: vim or emacsに依存します。2 つのパッケージのいずれかに依存するための構文は何ですか?vimoremacs

4

3 に答える 3

18

これを行うための標準的な方法は、仮想提供を介することです。提供RPMは、仮想パッケージを提供することを各状態で示し、依存RPMはその仮想パッケージを必要とします。したがって、あなたの例では、vimとあなたのパッケージのemacs両方が。Provides: text-editorRequires: text-editor

依存しているパッケージが適切な仮想パッケージを提供していない場合は、独自のパッケージを作成することで、これを回避できる可能性があります。ダミーmy-package-vim-modemy-package-emacs-modeRPMを作成Requires: vimRequires: emacs、それぞれ、、、およびProvides: my-package-text-editor、パッケージを作成しますRequires: my-package-text-editor

于 2010-01-26T13:41:39.423 に答える
8

パッケージに共通の Provide がなく、そのパッケージのフォークを再構築して維持したくないが、両方が同じファイルを提供する場合は、ファイルに依存できます。例えば:

Requires: /usr/bin/pear

そうすれば、pear バイナリが php-pear または php53-pear によって提供されているかどうかにかかわらず、パッケージは問題になりません。

于 2012-08-10T14:29:06.840 に答える
2

rpmにはそのような機能はありません。パッケージに共通している場合は、仮想提供を要求します。

于 2010-01-26T13:38:24.240 に答える