Improve required version matching

Registered by Juan RP

Currently XBPS only supports matching for minimal required versions. That means that always a package that is greater or equal than required version is enough to satisfy the dependency.

I'd like to extend version matching to be able to specify shell patterns as well as additional
tests for equal, greater, less, greater or equal and less or equal requirements.

The following is a list of the examples I plan to support with this blueprint:

foo-2.[1-3] -> Accepts any 'foo' package equal than 2.[123]
foo<=2.0 -> Accepts any 'foo' package less than 2.0
foo>=2.1 -> Accepts any 'foo' package greater or equal than 2.1
foo<1.99 -> Accepts any 'foo' package less than 1.99
foo>3.0 -> Accepts any 'foo' package greater than 3.0
foo>=2.0<3.0 -> Accepts any 'foo' package greater or equal than 2.0 and less than 3.0
foo-{3.0,3.1} -> Accepts any 'foo' package equal than 3.0 or 3.1
foo>=4.99.[0-9]<5.[0-2] -> Accepts any 'foo' package greater or equal than 4.99.[0-9]* and less than 5.[0-2]

Blueprint information

Status:
Complete
Approver:
Juan RP
Priority:
Essential
Drafter:
Juan RP
Direction:
Approved
Assignee:
Juan RP
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
milestone icon 0.3
Started by
Juan RP
Completed by
Juan RP

Related branches

Sprints

Whiteboard

I'm currently working on it.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.