Skip Menu |

This queue is for tickets about the Module-Pluggable CPAN distribution.

Report information
The Basics
Id: 34048
Status: resolved
Priority: 0/
Queue: Module-Pluggable

People
Owner: simonw [...] cpan.org
Requestors: jdhedden [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 3.7
Fixed in: (no value)



Subject: Must install in 'perl' dirs
Module-Pluggable is now a core Perl module. However, the CPAN distribution updates into the 'site' dirs. Because the core dirs come before the site dirs in @INC, the newer version is not used. The following patch corrects this: --- Module-Pluggable-3.7/Makefile.PL +++ Module-Pluggable-3.7/Makefile.PL @@ -34,7 +34,7 @@ 'File::Spec' => '3.00', 'Test::More' => '0.62' }, - 'INSTALLDIRS' => 'site', + 'INSTALLDIRS' => 'perl', 'EXE_FILES' => [], 'PL_FILES' => {} )
Thanks for this. It's actually already patched in svn although the word from p5p was that the correct magic to use was 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", I should be rolling a new release either today or tomorrow (I just want to wait a bit to see if any other issues crop up).
Show quoted text
> 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site",
Turns out this is not correct either. Because Module::Pluggable has now been moved under 'ext' in core, Pluggable.pm gets installed into $Config{installarchlib}. However, the above causes an update from CPAN to install Pluggable.pm into $Config{installprivlib}. Since installarchlib comes before installprivlib in @INC, the CPAN upgrade gets masked.
Show quoted text
> > 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site",
> > Turns out this is not correct either. Because Module::Pluggable has now > been moved under 'ext' in core, Pluggable.pm gets installed into > $Config{installarchlib}. However, the above causes an update from CPAN > to install Pluggable.pm into $Config{installprivlib}. Since > installarchlib comes before installprivlib in @INC, the CPAN upgrade > gets masked.
I have tested the following (also attached), and it seems to fix the problem: --- Module-Pluggable-3.8/Makefile.PL.orig +++ Module-Pluggable-3.8/Makefile.PL @@ -41,6 +41,7 @@ }, 'EXE_FILES' => [], 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", + 'INST_LIB' => 'blib/arch', 'PL_FILES' => {}, 'realclean' => {FILES=> join ' ', @files}, # In the core pods will be built by installman.
--- Module-Pluggable-3.8/Makefile.PL.orig 2008-03-17 11:03:17.848284100 -0400 +++ Module-Pluggable-3.8/Makefile.PL 2008-03-17 11:05:02.034826500 -0400 @@ -41,6 +41,7 @@ }, 'EXE_FILES' => [], 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", + 'INST_LIB' => 'blib/arch', 'PL_FILES' => {}, 'realclean' => {FILES=> join ' ', @files}, # In the core pods will be built by installman.
On Mon Mar 17 11:07:01 2008, JDHEDDEN wrote: Show quoted text
> > > 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site",
> > > > Turns out this is not correct either. Because Module::Pluggable has now > > been moved under 'ext' in core, Pluggable.pm gets installed into > > $Config{installarchlib}. However, the above causes an update from CPAN > > to install Pluggable.pm into $Config{installprivlib}. Since > > installarchlib comes before installprivlib in @INC, the CPAN upgrade > > gets masked.
> > I have tested the following (also attached), and it seems to fix the > problem: > > --- Module-Pluggable-3.8/Makefile.PL.orig > +++ Module-Pluggable-3.8/Makefile.PL > @@ -41,6 +41,7 @@ > }, > 'EXE_FILES' => [], > 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", > + 'INST_LIB' => 'blib/arch', > 'PL_FILES' => {}, > 'realclean' => {FILES=> join ' ', @files}, > # In the core pods will be built by installman.
Sorry about that. I realized that the added line needs to be conditionalized, too: --- Module-Pluggable-3.8/Makefile.PL.orig +++ Module-Pluggable-3.8/Makefile.PL @@ -41,6 +41,7 @@ }, 'EXE_FILES' => [], 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", + 'INST_LIB' => ($] >= 5.008009) ? 'blib/arch' ? 'blib/lib', 'PL_FILES' => {}, 'realclean' => {FILES=> join ' ', @files}, # In the core pods will be built by installman.
--- Module-Pluggable-3.8/Makefile.PL.orig 2008-03-17 11:03:17.848284100 -0400 +++ Module-Pluggable-3.8/Makefile.PL 2008-03-17 11:05:02.034826500 -0400 @@ -41,6 +41,7 @@ }, 'EXE_FILES' => [], 'INSTALLDIRS' => ($] >= 5.008009) ? "perl" : "site", + 'INST_LIB' => ($] >= 5.008009) ? 'blib/arch' ? 'blib/lib', 'PL_FILES' => {}, 'realclean' => {FILES=> join ' ', @files}, # In the core pods will be built by installman.
Fixed in SVN.