グループ内のすべての人の要件を満たすことができる依存関係を指定する方法はありますか?

グループ内のすべての人の要件を満たすことができる依存関係を指定する方法はありますか?

RPMをパッケージ化するには、次のものが必要だとします。一つ以下に、

Foo
Bar
Baz

RPMは仕様ファイルに入れる機能をサポートしていますか?

答え1

Larsonのコメントを回答に変換します。

rpm 4.13.0以降、rpmはすべての依存関係でブール式をサポートします。https://rpm.org/user_doc/more_dependent.html

たとえば、

Requires: (pkgA or (pkgB and pkgC))

あなたの場合は次のとおりです。

Requires: Foo or Bar or Baz

rpm-4.13+の可用性は、RHEL 8およびすべての最新のFedoraで利用できることを意味します。

RHEL 7でこれを達成するには、仮想プロビジョニングを使用してこの問題を解決できます。以下を指定できます。

Requires: some-server-capability

次に、Foo、Bar、Bazパッケージに次のものを入れる必要があります。

Provides: some-server-capability

残念ながら、これを行うにはFoo、Bar、およびBazパッケージを変更する必要があります。あなたの管理下になくRHEL 7以下を使用している場合、あなたは破滅です。

一部のパッケージはすでにこの仮想プロビジョニングを使用しています。たとえば、次のことができます。

Requires: smtp-server
Requires: webserver

たとえば、Web サーバーは httpd、nginx、または lightttpd パッケージで提供されます。

関連情報