Subject: | Should not install to INSTALLDIRS => perl on any version of perl |
INSTALLDIRS => perl is a mechanism reserved for dual life, specifically, dual life before 5.11.0
> INSTALLDIRS => ($] >= 5.014 ? 'site' : 'perl'),
Should read:
> INSTALLDIRS => ($] >= 5.011 ? 'site' : 'perl'),
At the very least, otherwise installing autobox on perl 5.12 installs it to 'perl' instead of 'site', which means you cannot then cleanly purge the 'site' lib without having indirect dependency breakage.
ie: On travis smokers, I do this: https://travis-ci.org/kentfredric/Path-FindDev/jobs/12968524#L64 , in order to revert tree state back to "installed" state, however, due to a few modules doing the wrong thing , this results in : https://travis-ci.org/kentfredric/Path-FindDev/jobs/12968524#L263
Here, an indirect dependency breakage occurred because Scope::Guard was purged from sitelib, while autobox stays around in privlib , when autobox should have never been in privlib.
On Perl's <5.11, to solve the problem where an older version of autobox is installed to privlib, one should first find competing versions of your module in privlib, and remove them.
One technique is here: https://metacpan.org/source/DAGOLDEN/Dist-Zilla-Plugin-MakeMaker-Highlander-0.003/lib/Dist/Zilla/Plugin/MakeMaker/Highlander.pm#L22 , which requires a recent enough version of MakeMaker to work.
https://metacpan.org/changes/distribution/ExtUtils-MakeMaker#L25