
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 パッケージによって提供されます。