6.2.2. ブール値の演算子
RPM 4.13 では、以下のブール値演算子が導入されました。
| ブール値演算子 | 説明 | 使用例 |
|---|---|---|
|
| 用語が真となるには、すべてのオペランドを満たす必要があります。 | Conflicts: (pkgA and pkgB) |
|
| 用語が真となるには、いずれかのオペランドを満たす必要があります。 | Requires: (pkgA >= 3.2 or pkgB) |
|
| 第 2 のオペランドが満たされる場合、第 1 オペランドも満たされる必要があります (リバースインプリケーション) | Recommends: (myPkg-langCZ if langsupportCZ) |
|
|
| Requires: myPkg-backend-mariaDB if mariaDB else sqlite |
RPM 4.14 では、以下のブール値演算子がさらに導入されています。
| ブール値演算子 | 説明 | 使用例 |
|---|---|---|
|
| 用語が真となるには、すべてのオペランドが同じパッケージで満たされる必要があります。 | Requires: (pkgA-foo with pkgA-bar) |
|
| 最初のオペランドを満たすが、2 番目のオペランドを満たさない単一のパッケージが必要 | Requires: (pkgA-foo without pkgA-bar) |
|
| 2 番目のオペランドが満たされない場合、最初のオペランドを満たす必要があります (リバースネガティブインプリケーション)。 | Conflicts: (myPkg-driverA unless driverB) |
|
|
| Conflicts: (myPkg-backend-SDL1 unless myPkg-backend-SDL2 else SDL2) |
if 演算子と or 演算子は同じコンテキストで使用できず、unless 演算子は and と同じコンテキストで使用できません。