[prog] perl bundling?

Kathryn Andersen kat_lists at katspace.com
Wed Jan 12 08:25:37 EST 2005


Not sure if this is exactly the right place, but as it is perl related,
this is probably better than elsewhere.

I am writing a module with a fair number of plugins that go with it.  As
it is still alpha, I've just been putting them all in the one
module-package.  The plugins, however, are proper modules in themselves.
I deliberately designed it that way, and one reason was so as to make it
easy for anyone to contribute one without having to have a special
plugin registry -- just put it up on CPAN, and there it is.

However, when this gets closer to usable, I am thinking I ought to split
out all the plugins into separate modules, so that people don't have to
install them all if they don't want to.  Another advantage of this is
that it makes it easier to test the individual plugins, because (a) one
can enforce the prerequisites for the ones that depend on particular
modules and (b) one can then write automated tests for them because one
knows that the prerequisites are there.

However, the disadvantage of separating them out is that it makes it
harder for people to get all the plugins, since they have to go and look
for them, instead of just being able to download them all at once.  On
the other hand, maybe I am being silly worrying about that, because the
nature of plugins is that people do want to be able to pick and choose,
so I shouldn't worry about it.  I mean, the whole reason I put certain
functionality into plugins rather than the core modules is because it is
optional.

Now, some people would say that the obvious solution to my problem is to
make a perl "bundle" module, which bundles the core and all the plugins
that I wrote.  However, there are two problems that I can think of with
this. (1) I've been told that "bundle" modules don't work with cpanplus
(2) Because of the nature of the module (a website content-managing
system) some of the people using it will not have root access, and
therefore will be likely to be in the situation of having to download
the tarballs themselves and install in some local directory, not the
common perl-module installation places.  Therefore they wouldn't get any
advantage from a "bundle" module, since bundles only list modules, they
don't contain them, and rely on the CPAN module to install them for it.

So, what do you think I should do?

Kathryn Andersen
-=-=-=-=-=-=-=-=-
As soon as we started programming, we found to our surprise that it wasn't
as easy to get programs right as we had thought.  Debugging had to be
discovered.  I can remember the exact instant when I realized that a large
part of my life from then on was going to be spent in finding mistakes in
my own programs.
		-- Maurice Wilkes, designer of EDSAC, on programming, 1949
-- 
 _--_|\     | Kathryn Andersen	<http://www.katspace.com>
/      \    | 
\_.--.*/    | GenFicCrit mailing list <http://www.katspace.com/gen_fic_crit/>
      v     | 
------------| Melbourne -> Victoria -> Australia -> Southern Hemisphere
Maranatha!  |	-> Earth -> Sol -> Milky Way Galaxy -> Universe


More information about the Programming mailing list