質問
おい!構成ファイルを必要とする汎用パッケージと、その構成ファイルを提供できる複数のパッケージがあります。
したがって、「myserver」を定義するには、次のようにします。
myserver.spec
必要:私のサーバー構成
(構成パッケージ)myserver-first-config.spec
名前:myserver-first-config
必要:私のサーバー
提供するもの:私のサーバー構成
(別の構成パッケージ) myserver-second-config.spec
名前:myserver-2 番目の構成
必要:私のサーバー
提供するもの:私のサーバー構成
それは素晴らしいことですが、これらの構成パッケージの 1 つだけがインストールされていることを確認したいと思います。そのため、myserver-first-config がすでにインストールされているときに myserver-first-config をインストールしようとすると、エラーが発生します。
「競合:」だけを使用できますか?myserver-config」は両方の myserver-{first,second}-config.spec にありますか?パッケージはそれ自体と競合する可能性がありますか?これを行うには「適切な」方法があるような気がします...
ありがとう!
解決
あなたはおそらくこれを自分で解決したでしょう - その場合、気まぐれなGoogle訪問者を助けるために、ここに答えを投稿すると良いでしょう:) それ以外の場合:
- RPM v5 では、パッケージがインストールできなくなるため、パッケージ自体と競合することはできません。
- あなたが求めているのは、複数のパッケージが同じファイルを提供できる「代替」システムです。これを実装するには、各パッケージを他の代替パッケージと競合させます。
myserver-first-config で:
競合:myserver-2 番目の構成
myserver-second-config で:
競合:myserver-first-config
3 番目の構成を追加すると、次のようになります。
myserver-first-config:
競合:myserver-2 番目の構成 myserver-3 番目の構成
myserver-2 番目の構成:
競合:myserver-first-config myserver-third-config
myserver-three-config:
競合:myserver-first-config myserver-first-config
この構文が必要なのは、パッケージが 部分的に 競合 - 競合については明示的に示す方がよいでしょう。新しい構成ファイルを頻繁に追加しない場合、このソリューションは完全に機能します。