Le Mer. Nov. 11 02:13:23 2009, MSCHWERN a écrit :
Show quoted text> I agree with David. install_base exists so provide a set of simple,
> predictable, generally well behaved set of install locations. This is
> in direct contrast to MakeMaker's PREFIX which tries to guess based on
> the local install and is wildly unpredictable.
>
> Case in point, how would Module::Build guess the user's intent to
> install in a PPM compatible location? I'm sure we could come up with
> some heuristics, and I'm sure they'd introduce wacky edge cases that
> would muck up the simplicity of install_base.
I understand the rationale.
Show quoted text> I suspect the layout PPM is using is an
> artifact of ActiveState owning their whole directory tree.
I confirm.
Show quoted text> Finally, I suspect this problem only arises if you're building a PPM
> which is far from the common case. Simply running "perl Build.PL"
> should be sufficient to DTRT and install a module for a normal
> ActiveState install.
The problem is not building PPM.
My distribution is an application (not just a module) that I prefer to
install in a separate directory (not in 'site'). In this directory I
want to install both PPM and my in-development code (for which 'Build
install' is faster than building a PPM and installing it).
The problem I have is to make "Build.PL install" easy for the developper
who would like to test the application. --install_path is standard. But
forgetting to set arch/lib is easy for the developper.
Show quoted text> You can set default Module::Build switches in a .modulebuildrc.
This does not work in my use case because I would have to give an
absolute path to set lib/arch. But I want to set them only for the
distribution I'm working on. Not for any distribution I install (most
will go in 'site').
Also .modulebuildrc is a common a user setting so it would apply to all
installed Perls: ActivePerl and Strawberry.
My distribution is in the DarkPAN, so I can do any dirty things I want
in Build.PL. So, is there a way to force in my Build.PL that 'lib' and
'arch' are $install_path/lib?
An other thing I would like to do is to fail install if 'lib' and 'arch'
are not in @INC. How could I implement this?
--
Olivier Mengué -
http://o.mengue.free.fr/