Steps to reproduce two version comparison bugs using an installed copy
of RT's 4.0/version-shenanigans at 4.0.0rc6-13-g325cca6 (with that
version string in RT::Generated) and RT-Extension-LDAPImport as of
56c45664c441043d7d8725903930cdd18ace5caf.
== Broken Module::AutoInstall version checking
1) Change the requires RT line in Makefile.PL to '4.0.0'.
2) Running perl Makefile.PL doesn't fail despite you having rc6 because
the version comparison Module::AutoInstall does is wrong:
- RT ...loaded. (4.0.0_6 >= 4.0.0)
Note that it does work for 4.0.1.
== Broken ExtUtils::MakeMaker (ExtUtils::MM_Unix::parse_version)
1) Leaving the require RT line as '4.0.0' note that MM doesn't issue a
warning about an invalid version either because it also does the
comparison wrong. Note that it's comparing against the full version
string though, not the sanitized one AutoInstall gets.
2) Bump the requires RT version to 4.0.1 and it _still_ fails to detect
an invalid dep. 4.0.2, 4.0.3, etc. are the same.
3) Bump the requires RT version to 4.1.0 or 6.0.0 and, finally, it
realizes it doesn't have it, warning with:
Warning: prerequisite RT 4.1.0 not found. We have 4.0.0rc6-13-g325cca6.
after the AutoInstall check and prompt (which should get it right here too).
Both of these bugs only crop up when installing against development
versions of RT, but we really do want to encourage folks to test our dev
releases. I'm not sure this gets fixed for 4.0.
trs