On Thu, 9 Nov 2006 11:10:24 -0800 (PST)
Fred Moyer <[EMAIL PROTECTED]> wrote:

> On Wed, 8 Nov 2006, Perrin Harkins wrote:
> > On Mon, 2006-11-06 at 12:28 -0600, Frank Wiles wrote:
> >>    What I have always done is package my applications as if they
> >>    are CPAN modules using ExtUtils::MakeMaker or in more recent
> >>    days Module::Build. Never had a problem with it, but it probably
> >>    isn't suited to distributing apps to novice users.
> >
> > We do the same sort of thing here, with an automated build script
> > that builds apache, mod_perl, and our modules from source.  You can
> > see some work on generalizing that for others to use here:
> > http://sourceforge.net/projects/matchstick
> 
> I like this approach, but it still requires a perl binary to make 
> everything happen.  The default perl compile on a lot of systems out
> there is threaded, and built for general use.  Have you found a way 
> of shipping a custom perl build in addition to all the other
> components?
> 
> Over a year ago I wrote a variation on what you described, but 
> additionally it bootstrapped perl from source, then build apache,
> mod_perl, and the modules.  Bootstrapping perl from source was
> troublesome, and generally sucked - everything else worked fairly
> well.  I've been experimenting with building a perl rpm for redhat,
> but I've found that to be less than painless to build one that
> provides a second binary in addition to the system binary.  Any
> thoughts?

   Look at the code for SqueezeBox at slimdevices.com. It's not
   only a great product, but they have some pretty decent packaging
   for Windows, Mac, and Linux.   While they don't send a custom
   Perl with it, they do send some custom modules and modify @INC
   to make sure you use their versions of certain CPAN modules. 

   But in any case, with a decent packaging system ( outside of 
   Perl's I would wager ) it wouldn't be hard to build a Perl for each
   of your target platforms, include it in your package, and then make
   sure all of your code references that special Perl.  

   I believe this is how Sophos' PureMessage installs itself.  Basically
   putting your own Perl binary and module paths in
   say /usr/local/myapp/bin/perl.  This is probably the best way to 
   ensure you have full control over everything about your application. 

 ---------------------------------
   Frank Wiles <[EMAIL PROTECTED]>
   http://www.wiles.org
 ---------------------------------

Reply via email to