Le samedi 30 mars 2019 à 09:59 +0000, Tom Hughes a écrit :
On 30/03/2019 08:27, Nicolas Mailhot wrote:
> Thanks for the suggestion. That may work indeed, depending on rpm
> operator priority. To be sure, you'd need lots of lispy parenthesis
> (as
> the rpm documentation seems to recommend).
>
> ((((x >= 1.3.0) without x = 1.3.2) without (x = 1.3.4)) without (x
> = 1.5.7)
>
> Unfortunately both solutions (no parenthesis, cross fingers, lots
> of
> parenthesis, sure result) are quite human unfriendly.
The page I saw was explicit that repeated and/or didn't need
parens and I assumed that extended to with/without which were
introduced more recently:
https://rpm.org/user_doc/boolean_dependencies.html#nesting
Alsmost all the examples here are without version qualifiers, it's not
clear what is their precedence WRT the other operators
> So I'm going to try
>
> ((x >= 1.3.0) without ((x = 1.3.2) or (x = 1.3.4) or (x = 1.5.7)))
>
> which is sure to work semantically, and is more regular and human-
> friendly
Does that work, given that or allows different packages to
match different branches of the condition?
If rpm honors the global parenthesis around the or block it should
(famous last words)
--
Nicolas Mailhot