グループの誰もが要求を満たすことができる依存関係を指定する方法はありますか?

グループの誰もが要求を満たすことができる依存関係を指定する方法はありますか?

RPMをパッケージ化する場合、1つ以下の、

Foo
Bar
Baz

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

答え1

私は Larsen のコメントを回答に変換します:

rpm 4.13.0 以降、rpm はすべての依存関係でブール式をサポートします。https://rpm.org/user_doc/more_dependencies.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 パッケージによって提供されます。

関連情報