Skip Menu |

This queue is for tickets about the MouseX-Types-Path-Class CPAN distribution.

Report information
The Basics
Id: 75534
Status: resolved
Worked: 30 min
Priority: 0/
Queue: MouseX-Types-Path-Class

People
Owner: masaki [...] cpan.org
Requestors: ANDK [...] cpan.org
Cc: sprout [...] cpan.org
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.06
Fixed in: (no value)



CC: sprout [...] cpan.org
Subject: Fails since v5.15.4-401-gf45b078; insufficient Module::Install in inc/
(1) The Makefile.PL contains auto_set_repository. (2) This is defined in Module::Install::Repository (3) Module::Install::Repository is missing in ./inc/ (3a) consequently auto_set_repository cannot be imported and is a bareword. (4) Module::Install sets $^H |= strict::bits(qw(refs subs vars)); (5) Since bleadperl v5.15.4-401-gf45b078 eval doesn't localise %^H at runtime anymore (6) Now the bareword auto_set_repository is recognized as such and the execution of the Makefile.PL fails. The matrix shows N/A since v5.15.4-401-gf45b078: http://matrix.cpantesters.org/?dist=MouseX%3A%3ATypes%3A%3APath%3A%3AClass I suppose the least intrusive fix is to add Module::Install::Repository to ./inc/. CC'ing to the FC with the plea for a comment.
On Sun Mar 04 23:01:19 2012, ANDK wrote: Show quoted text
> (1) The Makefile.PL contains auto_set_repository. > > (2) This is defined in Module::Install::Repository > > (3) Module::Install::Repository is missing in ./inc/ > > (3a) consequently auto_set_repository cannot be imported and is a bareword. > > (4) Module::Install sets $^H |= strict::bits(qw(refs subs vars));
Which it does outside of any routine. So it happens when the module loads, inside the implicit eval that every require implies. Consequently, Module::Install’s attempt to enable strict in the caller has never worked, due to a perl bug that is now fixed. So I have suggested that Module::Install simply remove that line (see ticket <https://rt.cpan.org/Ticket/Display.html?id=76035>). Show quoted text
> > (5) Since bleadperl v5.15.4-401-gf45b078 eval doesn't localise %^H at > runtime anymore > > (6) Now the bareword auto_set_repository is recognized as such and the > execution of the Makefile.PL fails. > > The matrix shows N/A since v5.15.4-401-gf45b078: > > http://matrix.cpantesters.org/?dist=MouseX%3A%3ATypes%3A%3APath%3A%3AClass > > I suppose the least intrusive fix is to add Module::Install::Repository > to ./inc/.
Either that or the Module::Install change I suggested (or both). I think this is a perfect example of why it is a bad idea for modules to try to enable strictures in other people’s code, especially without saying so. (It’s not even documented anywhere in Module::Install. So people who ‘knew’ they didn’t have strictures on are now going to have their installers break under 5.16—and it’s not perl’s fault. Module::Install’s stricture-enabled can’t have been tested, either.)
Thanks. I'm repackaging and uploading module to CPAN, version 0.07. metacpan: https://metacpan.org/release/MASAKI/MouseX-Types-Path-Class-0.07/ * use Module::Install 1.06 * include inc/Module/Install/Repository.pm