On Tue, 15 Feb 2005 06:24:51 +0000 (GMT), Simon Wilcox
<[EMAIL PROTECTED]> wrote:
> On Mon, 14 Feb 2005, Ben Tilly wrote:
> 
> > I've also been told that Module::Build doesn't do a good job for
> > people who want to install a module into a personal directory -
> > it tries to install it into the system directory and then fails if you
> > don't have permissions. :-(
> 
> That's not been my experience. install_base seems to tdo the right thing
> as far as I can tell. From the man page:
>
> install_base
> 
>     You can also set the whole bunch of installation paths by supplying
> the install_base parameter to point to a directory on your system. For
> instance, if you set install_base to "/home/ken" on a Linux system, you'll
> install as follows:
> 
>  lib     => /home/ken/lib
>  arch    => /home/ken/lib/i386-linux
>  script  => /home/ken/scripts
>  bin     => /home/ken/bin
>  bindoc  => /home/ken/man/man1
>  libdoc  => /home/ken/man/man3
> 
>     Note that this is different from how MakeMaker's PREFIX parameter
> works. PREFIX tries to create a mini-replica of a site-style installation
> under the directory you specify, which is not always possible (and the
> results are not always pretty in this case). install_base just gives you a
> default layout under the directory you specify, which may have little to
> do with the installdirs=site layout.
> 
>     The exact layout under the directory you specify may vary by system -
> we try to do the "sensible" thing on each platform.
> 
> So ./Build --install_base=/home/simonw should do what you want. Do you
> have other experience ?

Here's my experience.  I'm using Module::Build with the compatibility
layer in my modules.  I had a user attempt to install my module into
a personal directory using CPAN.  Said user met with abysmal
failure.  Perhaps there was something obvious to do, but the user
didn't find it, given my situation at the time (travelling with only
minimal Internet access and no ability to test anything) I couldn't
easily debug the problem, and I was therefore left unhappy.

Given that my needs are very simple (test that this plain Perl module
with few or no dependencies works, then copy it to the appropriate
system directory), I've become very doubtful that Module::Build is
buying me anything other than another dependency which
sometimes can cause trouble.

Once I deal with a failed hard drive at home, I'm planning to switch
my modules away from Module::Build.  I originally switched to it
because I liked the idea of making it easier to do installs on
multiple platforms, including Windows.  But my impression is that
virtually nobody on Windows actually uses Module::Build, they
aren't really starting to, it complicates life on Unix, and I don't see
at this point that it is buying me anything.  (I haven't seen it buying
me anything for a very long time, but until I had a frustrated user
that I couldn't easily help I had no reason to get rid of it.)

I also have disagreements with the Module::Build team,
particularly their attitude towards providing backwards compatibility
with the rest of the world.  You can find my opinions summed up at
http://www.perlmonks.org/?node_id=354276.  Feel free to
disagree with me as much as you want.  But please remember
that I'm criticizing a social issue, not a technical one.  You can
have all of the technical choices right, but if you can't get people
to adopt it, then you've lost.  Yes, it might be great if the world+dog
adopted Module::Build.  But we'll never get to the promised land
unless the necessary social dynamics line up to get world+dog
on board.

Regards,
Ben
 
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to