2010-03-08 59 views
2

嘿!我有一個通用的包,需要一個配置文件和多個可以提供所述配置文件的包。強制衝突的虛擬包裹

因此,界定 「MYSERVER」,我有:

myserver.spec

要求:MYSERVER-配置


(在配置包) MYSERVER-一線config.spec

名稱:myserver-first-config

要求:MYSERVER

提供:MYSERVER-配置


(另一個配置包)MYSERVER-第二config.spec

名稱:MYSERVER-第二配置

需要:MYSERVER

提供:myserver-config


這很好,但我想確保只安裝其中一個配置軟件包。因此,如果我在安裝myserver-first-config時嘗試安裝myserver-second-config,則會出現錯誤。

我可以在myserver- {first,second} -config.spec中使用「Conflicts:myserver-config」嗎?包可以與自身衝突嗎?我覺得有一個「適當」的方式來做到這一點...

謝謝!

回答

3

你可能已經解決了這個你自己 - 在這種情況下,它很高興在這裏發表的答案,幫助任何任性的谷歌遊客:)否則:

  • 作爲RPM V5的,一個包可以不衝突與它本身,因爲這將阻止包被安裝。
  • 你所要求的是一個'替代'系統,其中多個軟件包可以提供相同的文件。要實現這一點,請讓每個包與其他替代方案衝突。

在MYSERVER先配置:
衝突:MYSERVER-第二配置

在MYSERVER-第二配置:
衝突:MYSERVER先配置

如果你要添加第三個配置,這將成爲:

myserver-first-config:
衝突:myserver-second-config myserver-third-config

MYSERVER-第二配置:
衝突:MYSERVER先配置MYSERVER-第三配置

MYSERVER-第三配置:
衝突:MYSERVER先配置MYSERVER-第二配置

這句法是必要的,因爲軟件包可能部分衝突 - 這是更好的更明確一些衝突。如果你不經常添加新的配置文件,該解決方案完全可行。