First, as GrandFather points out, CPAN is much more oriented towards archival of modules. However, nothing prevents a module from having scripts that invoke their behaviour. For example, Mail::SpamAssassin. This module provides not only some modules that do the work of the Spam Assassin, but they provide a convenient script that invokes it from the command line.
Next, the namespace. I'm not sure - there is the Project namespace that this may fit well.
Finally, the distribution must do that bit. Of course, how a distro does this is distro-dependant. Gentoo is very community-based, if you provide an ebuild, they'll probably put it in (there may be some red tape - I've never tried this before). RedHat, however, seems entirely closed. I suspect Debian to be closer to Gentoo on this than RedHat, but I've never actually used that distro. I, personally, would recommend ignoring this, and instead document the CPAN interface for getting your code - after all, users will have to have perl installed first anyway, so grabbing your stuff via CPAN probably won't be a huge hardship.
Hope that helps,
| [reply] |
Thanks. I will look into Mail::SpamAssassin for ideas. A friend had already recommended I use the Project namespace but I wanted some examples of modules that are actually applications with front-end scripts. Perhaps I should have phrased the question as simple as that.... but as I heard Steve Jobs say one day "...you can _only_ connect the dots looking backwards..."
Thanks, again!
| [reply] |
CPAN is really set up as a repository for modules. It has some support for scripts, but it's not near as well managed as the module stuff. It sounds like your application fits best into the script area however.
DWIM is Perl's answer to Gödel
| [reply] |
That is what I initially thought. But since it has some dependencies, and I wanted the thing to actually install and run on multiple architectures I thought it would be better to distribute it as a module (so people can download, make, test and install).
I might breakdown the script into a rich set of methods and make couple of modules (one with Imendio methods and the other with dotProject methods, under the Project namespace) out of it with a front-end script. In fact, now that I say this, I was thinking of a sync mechanism that would update Imendio from dotProject so the idea makes even more sense.
I will check some examples (module programs) that people have sugested in this thread to make the final decision.
Thanks for your comments!
| [reply] |
| [reply] |
Thanks! These really help for getting ideas on how to package the module.
| [reply] |
Hi,
Good question. One of the nasty things about these modules is that whereever they end up, that community then becomes responsible for it... whether they maintain it or not. Sometimes it becomes even more painful hwn an especially useful module ends up out of date. You should see how often I get screamed at for that. ;)
I think CPAN would be your best bet since dotProject is all PHP and now likely to appreciate perl contribs. But then again, I am biased...
Good Luck,
Keith Casey
dotProject Core Developer
http://CaseySoftware.com/blog | [reply] |