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

