Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 598521 - [Future EAPI] Extend * version syntax to all arith operators
Summary: [Future EAPI] Extend * version syntax to all arith operators
Status: CONFIRMED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: future-eapi 598525
  Show dependency tree
 
Reported: 2016-10-30 12:21 UTC by Michał Górny
Modified: 2016-11-03 21:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 12:21:28 UTC
Currently * is only allowed for = operator. I'd like to have it extended to all <, <=, > and >= operators for improved consistency.

In all cases, the base version against which comparison will be performed will include all matches for =*.

In particular:

1. M(>=x*) = M(=x*) u M(>x),

2. M(<=x*) = M(=x*) u M(<x),

3. M(>x*) = M(>x) \ M(=x*),

4. M(>x*) = M(<x) \ M(=x*).

I think this makes sense since it splits the matching ranges alike regular operators, only that the it is done relatively to all versions matched by x* rather than a single version x.

Use cases mostly involve prerealease-safe variants of <, >= etc. -- i.e. not having <3.9 accidentally match 3.9_rc1.
Comment 1 Ulrich Müller gentoo-dev 2016-10-30 13:38:07 UTC
This would imply 3.9.1 <= 3.9* <= 3.9_rc1, i.e. the <= operator would no longer be transitive. Not sure if this has any negative consequences in practice.
Comment 2 Ciaran McCreesh 2016-10-30 17:45:17 UTC
I'd rather we abolished * entirely. It's highly confusing...
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-10-30 18:30:06 UTC
(In reply to Ciaran McCreesh from comment #2)
> I'd rather we abolished * entirely. It's highly confusing...

I wouldn't mind that if we had a sane version syntax. However, with the highly confusing stacking of _pre, _rc and other weirdos it's hard to say >=3.9* without having to look into PMS every time to guess which suffix is the really-oldest-one.