When manually installing (actually updating) Module-Build-0.2804 into my
bleadperl installation (at patchlevel 28556), I found that it got
installed into the site/lib/ tree, rather than the lib/ tree. So, of
course, the version actually being *used* subsequently isn't changed
because lib/ comes before site/lib/ in @INC.
I did the install with the commands:
perl Build.PL
perl Build
perl Build test
perl Build install
I'm running on Windows XP, using VC++ 6.0.
Does the Build.PL need to play some games with installdirs now that
Module-Build is in the core (for bleadperl anyway)? For example,
Devel-PPPort has been in the core since 5.7.3 and contains this in its
Makefile.PL:
if ($ENV{'PERL_CORE'}) {
# Pods will be built by installman.
push @moreopts, MAN3PODS => {};
push @clean, 'PPPort.pm';
}
else {
# Devel::PPPort is in the core since 5.7.3
push @moreopts, INSTALLDIRS => ($] >= 5.007003 ? 'perl' : 'site');
}
The attached patch does something similar for Module-Build, but it still
isn't quite correct. The output below shows what happened:
Installing C:\perl5\man\man1\config_data.1
Installing C:\perl5\html\bin\config_data.html
Installing C:\perl5\lib\Module\Build.pm
Skipping C:\perl5\lib\Module\Build\API.pod (unchanged)
Skipping C:\perl5\lib\Module\Build\Authoring.pod (unchanged)
Installing C:\perl5\lib\Module\Build\Base.pm
Skipping C:\perl5\lib\Module\Build\Compat.pm (unchanged)
Installing C:\perl5\lib\Module\Build\ConfigData.pm
Skipping C:\perl5\lib\Module\Build\Cookbook.pm (unchanged)
Installing C:\perl5\lib\Module\Build\ModuleInfo.pm
Skipping C:\perl5\lib\Module\Build\Notes.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\PodParser.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\PPMMaker.pm (unchanged)
Installing C:\perl5\lib\Module\Build\Version.pm
Skipping C:\perl5\lib\Module\Build\YAML.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\aix.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\Amiga.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\cygwin.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\darwin.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\Default.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\EBCDIC.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\MacOS.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\MPEiX.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\os2.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\RiscOS.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\Unix.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\VMS.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\VOS.pm (unchanged)
Skipping C:\perl5\lib\Module\Build\Platform\Windows.pm (unchanged)
Installing C:\perl5\man\man3\Module.Build.3
Installing C:\perl5\man\man3\Module.Build.API.3
Installing C:\perl5\man\man3\Module.Build.Authoring.3
Installing C:\perl5\man\man3\Module.Build.Base.3
Installing C:\perl5\man\man3\Module.Build.Compat.3
Installing C:\perl5\man\man3\Module.Build.ConfigData.3
Installing C:\perl5\man\man3\Module.Build.Cookbook.3
Installing C:\perl5\man\man3\Module.Build.ModuleInfo.3
Installing C:\perl5\man\man3\Module.Build.Notes.3
Installing C:\perl5\man\man3\Module.Build.Platform.aix.3
Installing C:\perl5\man\man3\Module.Build.Platform.Amiga.3
Installing C:\perl5\man\man3\Module.Build.Platform.cygwin.3
Installing C:\perl5\man\man3\Module.Build.Platform.darwin.3
Installing C:\perl5\man\man3\Module.Build.Platform.Default.3
Installing C:\perl5\man\man3\Module.Build.Platform.EBCDIC.3
Installing C:\perl5\man\man3\Module.Build.Platform.MacOS.3
Installing C:\perl5\man\man3\Module.Build.Platform.MPEiX.3
Installing C:\perl5\man\man3\Module.Build.Platform.os2.3
Installing C:\perl5\man\man3\Module.Build.Platform.RiscOS.3
Installing C:\perl5\man\man3\Module.Build.Platform.Unix.3
Installing C:\perl5\man\man3\Module.Build.Platform.VMS.3
Installing C:\perl5\man\man3\Module.Build.Platform.VOS.3
Installing C:\perl5\man\man3\Module.Build.Platform.Windows.3
Installing C:\perl5\man\man3\Module.Build.PPMMaker.3
Installing C:\perl5\man\man3\Module.Build.YAML.3
Installing C:\perl5\html\lib\Module\Build.html
Installing C:\perl5\html\lib\Module\Build\API.html
Installing C:\perl5\html\lib\Module\Build\Authoring.html
Installing C:\perl5\html\lib\Module\Build\Base.html
Installing C:\perl5\html\lib\Module\Build\Compat.html
Installing C:\perl5\html\lib\Module\Build\ConfigData.html
Installing C:\perl5\html\lib\Module\Build\Cookbook.html
Installing C:\perl5\html\lib\Module\Build\ModuleInfo.html
Installing C:\perl5\html\lib\Module\Build\Notes.html
Installing C:\perl5\html\lib\Module\Build\PPMMaker.html
Installing C:\perl5\html\lib\Module\Build\YAML.html
Installing C:\perl5\html\lib\Module\Build\Platform\aix.html
Installing C:\perl5\html\lib\Module\Build\Platform\Amiga.html
Installing C:\perl5\html\lib\Module\Build\Platform\cygwin.html
Installing C:\perl5\html\lib\Module\Build\Platform\darwin.html
Installing C:\perl5\html\lib\Module\Build\Platform\Default.html
Installing C:\perl5\html\lib\Module\Build\Platform\EBCDIC.html
Installing C:\perl5\html\lib\Module\Build\Platform\MacOS.html
Installing C:\perl5\html\lib\Module\Build\Platform\MPEiX.html
Installing C:\perl5\html\lib\Module\Build\Platform\os2.html
Installing C:\perl5\html\lib\Module\Build\Platform\RiscOS.html
Installing C:\perl5\html\lib\Module\Build\Platform\Unix.html
Installing C:\perl5\html\lib\Module\Build\Platform\VMS.html
Installing C:\perl5\html\lib\Module\Build\Platform\VOS.html
Installing C:\perl5\html\lib\Module\Build\Platform\Windows.html
Installing C:\perl5\html\site\lib\Module\Build.html
Installing C:\perl5\html\site\lib\Module\Build\API.html
Installing C:\perl5\html\site\lib\Module\Build\Authoring.html
Installing C:\perl5\html\site\lib\Module\Build\Base.html
Installing C:\perl5\html\site\lib\Module\Build\Compat.html
Installing C:\perl5\html\site\lib\Module\Build\ConfigData.html
Installing C:\perl5\html\site\lib\Module\Build\Cookbook.html
Installing C:\perl5\html\site\lib\Module\Build\ModuleInfo.html
Installing C:\perl5\html\site\lib\Module\Build\Notes.html
Installing C:\perl5\html\site\lib\Module\Build\PPMMaker.html
Installing C:\perl5\html\site\lib\Module\Build\YAML.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\aix.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\Amiga.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\cygwin.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\darwin.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\Default.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\EBCDIC.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\MacOS.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\MPEiX.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\os2.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\RiscOS.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\Unix.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\VMS.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\VOS.html
Installing C:\perl5\html\site\lib\Module\Build\Platform\Windows.html
Installing C:\perl5\bin\config_data
Installing C:\perl5\bin\config_data.bat
Writing C:\perl5\lib\auto\Module\Build\.packlist
So the installation of the code is OK now, but two sets of HTML are
being installed: one in lib/ and one in site/lib/.
Subject: | patch.txt |
--- Build.PL.orig 2006-07-16 22:50:44.000000000 +0100
+++ Build.PL 2006-07-18 13:40:22.730426400 +0100
@@ -81,6 +81,8 @@
repository => 'http://svn.perl.org/modules/Module-Build/'
}
},
+
+ installdirs => ($] >= 5.009004 ? 'core' : 'site'),
);
$build->create_build_script;