Skip Menu |
 

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

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

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

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



Subject: fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Download (untitled) / with headers
text/plain 1.2k
Hi there, It looks like "fakeinstall" doesn't honour the PERL_MM_OPT/INSTALL_BASE environment variable. Indeed: <code> $ echo $PERL_MM_OPT INSTALL_BASE=/data/home/poleggim/myroot/usr/local/lib/perl5 and "install" does fine what it's meant to: $ perl Build.PL && build install --verbose Creating new 'MYMETA.yml' with configuration results ... Writing /data/home/poleggim/myroot/usr/local/lib/perl5/lib/perl5/sun4-solaris/auto/GE/Justice/Editique/.packlist </code> but "fakeinstall" still looks into the system directories: <code> $ perl Build.PL && build fakeinstall --verbose Creating new 'MYMETA.yml' with configuration results ... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING: Can't create '/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/GE/Justice/Editique' Do not have write permissions on '/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/GE/Justice/Editique' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Writing /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/GE/Justice/Editique/.packlist </code> N.B. I use local::lib to set up a perl sandbox, which results in PERL_MM_OPT/INSTALL_BASE, PERL5LIB=and PATH being adjusted accordingly. $ perl -v This is perl, v5.8.7 built for sun4-solaris Cheers, ^m'e
Subject: Re: [rt.cpan.org #57279] fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Date: Fri, 07 May 2010 12:59:50 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Download (untitled) / with headers
text/plain 1.1k
On 2010.5.7 6:02 AM, Marco Emilio Poleggi via RT wrote: Show quoted text
> It looks like "fakeinstall" doesn't honour the PERL_MM_OPT/INSTALL_BASE > environment variable. Indeed: > > <code> > $ echo $PERL_MM_OPT > INSTALL_BASE=/data/home/poleggim/myroot/usr/local/lib/perl5 > > and "install" does fine what it's meant to: > > $ perl Build.PL && build install --verbose > Creating new 'MYMETA.yml' with configuration results > ... > Writing > /data/home/poleggim/myroot/usr/local/lib/perl5/lib/perl5/sun4-solaris/auto/GE/Justice/Editique/.packlist > > </code>
There is a problem, but its not PERL_MM_OPT. PERL_MM_OPT is an environment variable honored by MakeMaker (ie. a Makefile.PL) not by Module::Build. local::lib is writing a ~/.modulebuildrc file to control Module::Build similar to how it sets PERL_MM_OPT. It has set --install_base for only the install target, not fakeinstall. Best way to fix it is to change the target from "install --install_base" to "Build_PL --install_base" (the equivalent of perl Build.PL --install_base) so it will affect all targets. I'll send the local::lib folks a note on how to fix it. -- I do have a cause though. It's obscenity. I'm for it. - Tom Lehrer
Subject: Re: [rt.cpan.org #57279] fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Date: Fri, 7 May 2010 16:07:48 -0400
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
Download (untitled) / with headers
text/plain 665b
On Fri, May 7, 2010 at 4:00 PM, Michael G Schwern via RT <bug-Module-Build@rt.cpan.org> wrote: Show quoted text
> local::lib is writing a ~/.modulebuildrc file to control Module::Build similar > to how it sets PERL_MM_OPT.  It has set --install_base for only the install > target, not fakeinstall.  Best way to fix it is to change the target from > "install --install_base" to "Build_PL --install_base" (the equivalent of perl > Build.PL --install_base) so it will affect all targets. > > I'll send the local::lib folks a note on how to fix it.
FWIW, now that M::B has PERL_MB_OPT, they should be requiring a newer M::B and using that instead of .modulebuildrc anyway. -- David
Subject: Re: [rt.cpan.org #57279] fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Date: Fri, 07 May 2010 14:43:06 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Download (untitled) / with headers
text/plain 1.2k
On 2010.5.7 1:08 PM, David Golden via RT wrote: Show quoted text
> On Fri, May 7, 2010 at 4:00 PM, Michael G Schwern via RT > <bug-Module-Build@rt.cpan.org> wrote:
>> local::lib is writing a ~/.modulebuildrc file to control Module::Build similar >> to how it sets PERL_MM_OPT. It has set --install_base for only the install >> target, not fakeinstall. Best way to fix it is to change the target from >> "install --install_base" to "Build_PL --install_base" (the equivalent of perl >> Build.PL --install_base) so it will affect all targets. >> >> I'll send the local::lib folks a note on how to fix it.
> > FWIW, now that M::B has PERL_MB_OPT, they should be requiring a newer > M::B and using that instead of .modulebuildrc anyway.
Since local::lib wants to make a permanent change to the way Perl modules install, its far easier to write a file in the user's home directory than to try and make an environment variable permanent, figuring out what shell they have and altering their shell configuration files. -- 39. Not allowed to ask for the day off due to religious purposes, on the basis that the world is going to end, more than once. -- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army http://skippyslist.com/list/
Subject: Re: [rt.cpan.org #57279] fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Date: Fri, 7 May 2010 23:09:29 -0400
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
Download (untitled) / with headers
text/plain 743b
On Fri, May 7, 2010 at 5:43 PM, Michael G Schwern via RT <bug-Module-Build@rt.cpan.org> wrote: Show quoted text
>> FWIW, now that M::B has PERL_MB_OPT, they should be requiring a newer >> M::B and using that instead of .modulebuildrc anyway.
> > Since local::lib wants to make a permanent change to the way Perl modules > install, its far easier to write a file in the user's home directory than to > try and make an environment variable permanent, figuring out what shell they > have and altering their shell configuration files.
But they don't do what you describe. They write a .modulebuildrc into the local lib directory and give instructions to alter the shell to emit MODULEBULDRC to point to the config file. It's the worst of both worlds. -- David
Subject: Re: [rt.cpan.org #57279] fakeinstall doesn't honour PERL_MM_OPT/INSTALL_BASE
Date: Fri, 07 May 2010 23:09:38 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
Download (untitled) / with headers
text/plain 951b
On 2010.5.7 8:10 PM, David Golden via RT wrote: Show quoted text
> Queue: Module-Build > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=57279 > > > On Fri, May 7, 2010 at 5:43 PM, Michael G Schwern via RT > <bug-Module-Build@rt.cpan.org> wrote:
>>> FWIW, now that M::B has PERL_MB_OPT, they should be requiring a newer >>> M::B and using that instead of .modulebuildrc anyway.
>> >> Since local::lib wants to make a permanent change to the way Perl modules >> install, its far easier to write a file in the user's home directory than to >> try and make an environment variable permanent, figuring out what shell they >> have and altering their shell configuration files.
> > But they don't do what you describe. They write a .modulebuildrc into > the local lib directory and give instructions to alter the shell to > emit MODULEBULDRC to point to the config file. It's the worst of both > worlds.
Oh, eww. -- Defender of Lexical Encapsulation
Download (untitled) / with headers
text/plain 109b
"Fixed" by having fakeinstall use install defaults if no fakeinstall defaults are provided. Patched in repo.
Download (untitled) / with headers
text/plain 103b
Now that there has been a stable Module::Build release, I'm marking this "patched" issue as "resolved".


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.