Subject: | [WISHLIST] Look for older prereqs when one fails... |
It would be nice (at least programmatically using CPANPLUS::Backend if not in CPANPLUS shell normally) to have "smart" prereq handling if a prereq fails. Currently CPANPLUS will attempt to install the latest version of a module, but if it fails, then the entire process fails. It would be nice to be able to catch the failure, and look for an earlier version of the module that passes on the platform, and install that.
There are of course multiple variations of how to handle this:
(1) download test results, and look for the most recent passing version
on your platform (assuming any exist), or
(2) keep going backwards in version numbers until one is found that passes
Another problem is in finding an enumeration of all versions available on CPAN. Unfortunately the indices only have the latest version.
It's best if there were hooks in the backend (read: callbacks) that could catch failures in prerequisites, and try to "reinstall" different versions of them. A smoke testing utility like CPAN::YACSmoke or CPANPLUS::Smoke could make use of this (and possibly munging test reports to say that there were issues).