[cgiapp] the vision for handling Titanium dependencies (was: Re: size of scripts and dependencies)

Mark Stosberg mark at summersault.com
Tue Sep 22 10:15:48 EDT 2009


> The fact that Titanium isn't quite as bloated as Catalyst offers no comfort
> to anyone who turned to CGI::Application as an anitdote to Catalyst
> dependency hell. All I'm saying is that Titanium may be  heading in the same
> direction re dependencies which impacts deployment. I still haven't been able
> to get Titanium to install on  OS X 10.5.8 / Perl 5.8.8 due to a circular
> dependency on a module loader plugin.

I have a vision to address the dependency issue with Titanium, but it has
not been realized yet.  The goal is to ship Titanium along with a full
dependency stack.

To support that, I worked on a "local::lib" and patched it to add the "--self-contained" 
option, which is a step in that direction.

There's also issue that the full stack needs to be Pure Perl if it is to be
easy distributable.

To that end, I have also worked with Ron Savage to write a Pure-Perl
alternative to HTML::Parser that is sufficiently compatible to run support
HTML::FillInForm.  That is on github [1] now and mostly working, although I've
paused the work for now.  I've also become an official co-maintainer of
HTML::FillInForm now and have support of the author to make using the Pure Perl
version of it automatic or easy.

    http://github.com/markstos/html--parser--simple

A related problem is that that many key dependencies that use XS also provide a
Pure Perl alternative (like Params::Validate), but there is not a standard way
that I am aware of to tell the build system that you want the Pure Perl
version. I recall learning at YAPC that the 'cpan' tool has a way to set
per-distribution provides to help automate installations, so perhaps there is a
reasonably easy solution for this.

When this all comes together, we'll be able to distribute Titanium as a single
tarball, which contains all the dependencies inside of it, making deployment as
easy as many PHP applications are. The tools and techniques developed here
should generally apply to many other Perl projects.

Help is welcome here, I have a young child now and less time than I used to for my 
open source contributions.

    Mark

-- 
 . . . . . . . . . . . . . . . . . . . . . . . . . . . 
   Mark Stosberg            Principal Developer  
   mark at summersault.com     Summersault, LLC     
   765-939-9301 ext 202     database driven websites
 . . . . . http://www.summersault.com/ . . . . . . . .




More information about the cgiapp mailing list