Skip Menu |

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

Report information
The Basics
Id: 43827
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: payneinthe [...] gmail.com
Cc:
AdminCc:

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



Subject: Compat config handling for vendorlib broken (PATCH)
When you specify INSTALLVENDORLIB and others on a passthrough Makefile.PL, Build.PL gets called with --config HASH(...). The attached patch fixes this issue. However, the install location for Module::Build itself when using the Makefile.PL approach is incorrect. /usr/bin/perl Build --makefile_env_macros 1 install Installing /home/tpayne/code/fitplanet/ext/share/man/man1/config_data.1 Installing /home/tpayne/code/fitplanet/ext/"/home/tpayne/code/fitplanet/ext/lib/perl5"/Module/Build.pm Notice how my prefix is getting included in the destination directory twice. This is pretty much a show stopper for me as my package manager only knows about Makefile.PL and always passes all of the various directories to it
Subject: fix-config-gen-for-vendor.patch
--- Module-Build-0.32/lib/Module/Build/Compat.pm 2009-02-25 17:43:07.000000000 -0800 +++ perl-Module-Build-0.32-1/lib/Module/Build/Compat.pm 2009-03-03 19:05:36.000000000 -0800 @@ -40,7 +40,7 @@ map { my $name = "INSTALL".$_."LIB"; $name => sub { - my @ret = (config => { lc $name => shift }); + my @ret = (config => "@{[lc $name]}=@{[shift]}" ); print STDERR "# Converted to @ret\n"; return @ret;
Here's some additional information. This is the command that the package management system invokes that eventually causes the files to be installed in the wrong location: perl Makefile.PL PREFIX="/home/tpayne/code/fitplanet/ext" INSTALLSITELIB="/home/tpayne/code/fitplanet/ext/lib/perl 5" INSTALLSITEARCH="/home/tpayne/code/fitplanet/ext/lib/perl5" INSTALLMAN1DIR="/home/tpayne/c ode/fitplanet/ext/man/man1" INSTALLMAN3DIR="/home/tpayne/code/fitplanet/ext/man/man3" INSTALLPRIVLIB="/home/tpayne/code/fitplanet/ext/lib/perl5" INSTALLARCHLIB="/home/tpayne/code/fitplanet/ext/lib/perl5" INC="-I/home/tpayne/code/fitplanet/ext/include"
Fixed in trunk