On Tue., 28 Jan. 2020, 3:52 pm Gordon Messmer, <gordon.messmer@gmail.com> wrote:
I'm working on tools to convert python packaging data to rpm spec files. Most of the conversions are relatively straightforward, but there's an odd corner case with ">" and versions ending in ".*". That combination is parsed as a valid specification, but oddly, it seems to behave the same as ">= version", as demonstrated below. Is this intentional, or is it a byproduct of parsing ">1.0.*" as a LegacySpecifier?
It's definitely not intentional, as PEP 440 only defines semantics for prefix matching in the context of "==" and "!=".
Should I convert ">1.0.*" into ">=1.0" and mimic the current behavior, or into something else, like "> 1.0", or ">= 1.1"?
Converting into "> 1.0" would make sense, as there's an implied "!= 1.0.*" in the use of the exclusive operator. I'd also recommend filing an issue with the projects publishing the ambiguous requirements. Cheers, Nick.