-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
conflicts metadata should say <= #146
Comments
Sat Mar 15 04:43:51 2014 Karen Etheridge - Correspondence added On 2014-03-14 15:00:37, KENTNL wrote:
No, for 'conflicts' fields, the version indicates the last version at which that module is problematic, so it is usually the case that a bare version number in conflicts is correct. Sat Mar 15 04:43:52 2014 The RT System itself - Status changed from 'new' to 'open' |
Sat Mar 15 06:05:37 2014 Kent Fredric - Correspondence added Can you back that claim with documentation? Also, either CPAN::Meta::Check is wrong, or the specification is wrong. Which one is to be fixed? And inline with this assertion: "the version indicates the last version at which that module is problematic" Is that assertion applicable to , or indepdendent of, version ranges? Obviously " <=5.00 == 6.00" is not indicating the "last version the module is probelmatic at". Nor is ">=5.00", that is a clear indication that the release does not work at version 5.00, or any successive release And in every other dependency atom, "5.00" infers ">= 5.00" And that is how it is implemented in the plumbing that makes CPAN::Meta::Check work. To simplify, the mechanics are two parts: conflicts: FOO defines an arbitrary version range, and the left hand side does not change the semantics of the version range ( at least, if it does, or is supposed to, I can't find any documentation that backs that claim ) In version ranges, a number on its own is shorthand for ">= X.YY" https://metacpan.org/pod/CPAN::Meta::Spec#Version-Ranges There is nothing there about it being special cased to mean "<=" in conflicts. And because the checking logic is simply:
https://metacpan.org/source/LEONT/CPAN-Meta-Check-0.008/lib/CPAN/Meta/Check.pm#L29 Those two compounding effects means: { conflicts: "5.00" } == { conflicts: ">= 5.00" } Just as { requires: "5.00" } == { requires: ">= 5.00" } I know, my instinct was the other way around too. But its not how its implemented.
|
Transcribed verbatim from CPAN RT#93870, warts and all.
Fri Mar 14 18:00:37 2014 Kent Fredric - Ticket created
Subject: conflicts metadata should say <=
https://metacpan.org/source/TIMB/DBI-1.631/META.json#L35
Installed version (1.405) of SQL::Statement is in range '1.33'
Installed version (0.41) of DBD::CSV is in range '0.36'
Because presently, version ranges indicate ">=" if no qualifier is given, regardless of where that version is declared.
Not "<=" as one might expect.
The text was updated successfully, but these errors were encountered: