Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

tsee (4409)

  reversethis-{gro.napc} {ta} {relleums}

You can find most of my Open Source Perl software in my CPAN directory [].

Journal of tsee (4409)

Tuesday October 28, 2008
11:28 AM

Gabor's post on Perl application distribution

[ #37759 ]

Since Gabor has disabled comments in his blog, I'll have to write in my own.

This is about Gabor Szabo's post about Perl application distribution.

There is a whole lot of things that need taking care of with a scheme like the one that Gabor outlines. The whole notion of managing dependencies gives me headache. In my experience, there are very few distribution schemes which work well (e.g. dpkg, CPAN) and many which don't work quite as well (various CPAN-alikes for other languages, PPM). Sometimes, it's a conceptual issue, sometimes just that such a beast carries a large technical and maintenance burden.

For example, I once created a PAR::Repository with (almost) the whole of CPAN in it. Took a horribly long time to generate... and was slow as molasses because of some technical issues. (In this case, it was a combination of large DBM::Deep databases and the dynamic dependency resolution of PAR::Repository::Client. It would be somewhat faster today.)

But Gabor suggests reducing this whole nightmare to a relatively "flat" dependency tree. It shifts parts of the problem to the developer of the app (need to include all dependencies which are not part of the platform) and eliminates some.

I could go on for ages about this and Gabor has had to suffer through that already, but what I really wanted to point out is that a tiny part is solved already: Soon, I'll release a tool that can install an arbitrary .par into an arbitrary perl installation on the system. That may sound simple enough, but I dare you to try install into a non-running perl using CPAN(PLUS). This means that you can just ship a single, binary executable that can install stuff if you just select the perl executable and the URI of the package to install. I hate bootstrapping.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.