afresh1 has asked for the wisdom of the Perl Monks concerning the following question:

Oh, Great Monks:

I have embarked upon a new quest. My quest is to brave the great CPAN and leave a module for all to see. This is my first attempt at this quest, and I am looking to the mighty and knowledgeable monks to help guide me.

I have made a module that I have been using, and when I saw brian d foy take over maintainership of the Palm::* modules, I felt I should get my Palm::Keyring module shaped up and uploaded.

Please have a look at my module Palm-Keyring-1.14.tar.gz and help me make this new module as good as possible.

I believe I have packaged it in a way that is acceptable to the CPAN, but I would like criticisms and comments on the module itself, as well as documentation, testing and the packaging bits.

I have gotten a PAUSE ID (ANDREW), read about Module::Build and made a Build.PL. I have used CPAN a pretty fair amount and looked at how other modules are packaged. I ran the module through the Perl::Critic and fixed a lot of the complaints it had, so I guess that is a start, but I am sure there are a lot of things I could be doing better, and I want to get good at this so I can make some more modules.

l8rZ,

--
andrew
  • Comment on Help with new quest to get a module posted to CPAN

Replies are listed 'Best First'.
Re: Help with new quest to get a module posted to CPAN
by shigetsu (Hermit) on Jan 28, 2007 at 23:15 UTC

    It's looks so far good, except that I, as a matter of personal preference, wouldn't include a bare RCS Changelog. Furthermore, a LICENSE that merely states under which license you're publishing your work defeats its purpose - rather include it within the POD (License or Copyright section) of your main module.

    And, you shouldn't be creating the compat Makefile.PL by hand, rather let Build.PL (à la Module::Build) create it for you (I suggest, create_makefile_pl => 'traditional', because it gives the user the freedom to choose between Module::Build or ExtUtils::MakeMaker (enforcing a peculiar installer is not recommended)).

    Module::Starter is also a great choice for building the skeleton of a distribution.

    Don't miss perlmodlib, perlmodstyle & perlnewmod.

    For convenient uploading, I recommend cpan-upload.

    The code looks promising (from a brief glance), so go ahead.

      You could tell I have trouble with the whole license thing. I will just simplify it with the suggestion in perlmodlib.

      And I just dumped the changelog since it is the first public release, I will just make a CHANGES file that reflects changes in the public releases.

      I added the create_makefile_pl to the Build.PL. That's kewl! Thanks! In the future I will try Module::Starter, but I had this already mostly done.

      Unfortunately Johan Vromans -- JV beat me to it, he requested the namespace the day before I did :-(

      I emailed him to see what we can work out, but I guess I will switch to using his.

      l8rZ,
      --
      andrew

      I uploaded Palm-Keyring-1.15.tar.gz to my site anyway with your suggestions, I will see what Johan says and maybe get to upload it to CPAN. Thank you, it will help a lot with my next module anyway.

      l8rZ,
      --
      andrew

      one last post of Palm-Keyring-0.91.tar.gz to mention a few changes, and say a big thank you.

      First, it now only decrypts single records, not the whole pdb. That seems more secure. And, I talked with Johan, and with some of these changes he will let me have the namespace. w00 h00! He also suggested sticking with a < 1.0 release until the API is stable. So, I have my own version number, not the CVS revision.

      --
      andrew