2010-01-26 28 views

回答

18

的標準方法做,這是通過虛擬提供:所述提供的RPM每個狀態,它們提供一個虛擬包,和從屬RPM要求虛擬包。所以,在你的榜樣,vimemacsProvides: text-editor,和你的包會Requires: text-editor

如果你所依賴的軟件包沒有提供合適的虛擬軟件包,那麼你可以通過自己編寫軟件來解決這個問題。讓虛擬my-package-vim-modemy-package-emacs-mode的RPM是Requires: vimRequires: emacs,分別與Provides: my-package-text-editor,然後讓你的包Requires: my-package-text-editor

2

在rpm中沒有這種能力。要求虛擬提供包的共同點,如果有的話。

7

如果軟件包沒有共同提供的,你不想重建和維持叉的那包,但他們都做同樣提供文件,你可以依賴於文件。例如:

Requires: /usr/bin/pear 

這樣,如果梨二進制是由PHP梨或php53梨提供你的包都不會有問題。