RFC local::lib + CPAN shell support in CatalystX::Starter (was: Re: [Catalyst] RFC: The paradox of choice in web development)

Tomas Doran bobtfish at bobtfish.net
Fri Feb 20 08:15:37 GMT 2009


On 19 Feb 2009, at 18:27, Matt Pitts wrote:

> All this talk about Perl/Catalyst/CPAN pains, has got me thinking...
>
> Anybody like the idea of having a local::lib "bootstrap" option to
> CatalystX::Starter and possible integration of a script that would
> launch a CPAN shell for installing into the local::lib folder?

CatalystX::Starter is for boot strapping a Catalyst component, not an  
application. You'd be looking to add to Catalyst::Devel

> Or, maybe a separate module Catalyst::Starter::LocalLib?
>
> The idea would be to help folks bootstrap Cat apps and get all the  
> deps
> inside the app folder right from the start for easier deployment. Of
> course it won't eliminate the need for a shell, but it's still an
> improvement.

You'd be looking to have local::lib support built into the scripts &  
etc which Catalyst generates, and an additional shell script in your  
scripts directory to start a CPAN shell pointing at your  
application's local::lib and tricks to install all the non perl core  
dependencies into that directory?

That sounds like a good idea, and I've considered hacking on it  
myself, but never found the tuits.

> I could probably put together a patch if I can get some "best  
> practice"
> ideas.

I'm thinking of rails' ability to 'freeze' rails into your  
application here. In actual fact, I've never found this feature very  
useful as I want to freeze all the dependencies too (this is  
possible, but involves hacking environment.rb and etc in the same way  
as manually attaching a local::lib to your Cat app).

I guess the biggest argument is likely to be what the correct name  
for the directory containing your local::lib is. I also expect there  
would be a fair amount of toolchain related yak-shaving to get it  
right, but its certainly a feature I'd like to see happen.

Cheers
t0m




More information about the Catalyst mailing list