For the record, rpm seems to have added support for boolean operations [0].

and - requires all operands to be fulfilled for the term to be True.
  Conflicts: (pkgA and pkgB)
or - requires one of the operands to be fulfilled
  Requires: (pkgA >= 3.2 or pkgB)
if - requires the first operand to be fulfilled if the second is
(reverse implication)
  Recommends: (myPkg-langCZ if langsupportCZ)
if else - same as above but requires the third operand to be fulfilled
if the second is not
  Requires: (myPkg-backend-mariaDB if mariaDB else sqlite)

nesting:

Requires: (pkgA or pkgB or pkgC)
Requires: (pkgA or (pkgB and pkgC))
Supplements: (foo and (lang-support-cz or lang-support-all))

(I'm pasting the content of the site because perhaps in 16 years from
now the URL is unreachable)


[0] http://rpm.org/wiki/PackagerDocs/BooleanDependencies

Reply via email to