Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the autobox CPAN distribution.

Report information
The Basics
Id: 89754
Status: open
Priority: 0/
Queue: autobox

People
Owner: CHOCOLATE [...] cpan.org
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 2.79
Fixed in: (no value)



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&nbsp; , which requires a recent enough version of MakeMaker to work.

https://metacpan.org/changes/distribution/ExtUtils-MakeMaker#L25

 

Thanks for the report. Unfortunately, none of this means anything to me and I don't have time to delve into it or assess the pros/cons of a particular solution. If you have a specific fix/workaround, please let me know. If you have the chance to send a pull request, I'd be happy to apply it: https://github.com/chocolateboy/autobox Thanks, chocolateboy. On Thu Oct 24 12:51:43 2013, KENTNL wrote: Show quoted text
> 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
Show quoted text
> Should read
Thanks. I've applied that fix here: https://github.com/chocolateboy/autobox/commit/78cbadfa2ba79183d68b4ac0fd50d0a509f63465