Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

How do you support your first CPAN module?

by apl (Monsignor)
on Jul 12, 2008 at 20:32 UTC ( [id://697263]=perlquestion: print w/replies, xml ) Need Help??

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

I've volunteered to help support a CPAN module, something I've never done before. I'm learning that there are a number of prerequisites before I can start doing so.

For a number of reasons, I want to do this on my home PCs, rather than on a PC or Unix box provided by my employer.

I've learned I need a source-versioning control package, and that Subersion is a good way to go. Okay, I down-loaded an evaluation copy of Tortoise SVN. Now it seems that the SVN requires a Database Server reside on my PC.

  • What would CPAN supporters recommend as the server to install?
  • I use Open Perl IDE and Strawberry Perl; should I upgrade to Perl 5.10?
  • What other software should I get so that I can load a copy of the source from the repository?

Even simpler, does a guide or an FAQ exist on how to get started as a CPAN supporter? (I've looked through the documentation on cpan.org, and see how to release new modules, but not how to support one. If I'm mistaken, I will be happy to be publicly chided for not RTFD.)

If one doesn't exist, I plan to write it ... once I get to the point where I know what to do. 8-)

Thanks in advance for your time and your help.

  • Comment on How do you support your first CPAN module?

Replies are listed 'Best First'.
Re: How do you support your first CPAN module?
by samtregar (Abbot) on Jul 12, 2008 at 20:58 UTC
Re: How do you support your first CPAN module?
by Tanktalus (Canon) on Jul 12, 2008 at 20:54 UTC

    I think you'll find it greatly depends on the module involved, the author, and how the module is currently maintained. That is, if the author currently uses SVN, then you're well-advised to try to connect to the same repository, if at all possible. Perhaps the author has the SVN repository on his/her private machine, in which case it's in his/her best interest to move it to a public server (e.g., SourceForge, among many possibilities) so that you can commit to the same repository.

    Maybe git is being used, or cvs. Whatever the author is using, you should use. Of course, maybe nothing is being used. Either try to convince the author to host the code on a public repository (best - so you can share), and you'll be able to negotiate where and what technology, or you'll have to follow suit - though you can still use a private repository to ensure you don't mess up YOUR changes.

    Oh, and even on your home PC, you can still do your perl development on linux if you think it will help (I do, but you have to do what you think is right for you). Just install Virtual Box or VMWare (both have free editions, though VB has an open-source version). Then you can install Ubuntu or Fedora or whatever in there for such development. It's nice in that all the tools you may require are included, or trivially found and added. Of course, this doesn't make one bit of sense if you're going to support Win32... :-)

      Many thanks. The primary maintainer uses Subversion, and pointed me to the current repository. I need a copy of Subversion so I can copy the current code base and make my mistakes changes without permanent impact.

      I have asked him a lot of questions, and am trying to give him a break, which is why I'm asking everyone else in the Monastery.

      My questions are going to sound really newbie, and I apologize. While I've been a programmer for a real long time, it's mostly been Big Iron (would you believe my strongest language is PL/1?), and I'm desperately trying to pull myself into the 21st Century.

      Again, thank you for your help.

Re: How do you support your first CPAN module?
by jethro (Monsignor) on Jul 13, 2008 at 00:23 UTC
    Tortoise SVN (the client) doesn't require a database server on your machine. And if your machine isn't online all the time then it is a poor platform for a svn server.

    If you just want to use svn for your own version management you still don't need a database, see the tortoise FAQ:

    Is it possible to use TortoiseSVN without a server?
    
    Yes, it is. You can use the file:// protocol to access your repository locally.
    
      To reiterate, then, if I know where the repository is I don't need TortoiseSVN?

      Curtesy of your comment, Google points me to the Tortoise FAQ. I'll read up on it.

      If I didn't already have a firstborn son, I'd name him after you...

        TortoiseSVN is a subversion client. It allows you to manage the files on your machine that are under control of subversion. It is the GUI that provides access to the subversion repository. The model is rather like a database and the code that accesses the database. The subversion server provides the database and the client is that which accesses it.

        Bottom line: TortoiseSVN is a great client and you have done the right thing installing it. Now all you need to do is figure out how to use it to access the author's SVN repository.


        Perl is environmentally friendly - it saves trees
Re: How do you support your first CPAN module?
by syphilis (Archbishop) on Jul 12, 2008 at 22:13 UTC
    Not that I'm a big fan of Cygwin, but it does provide fairly quick and ready access to lots of unix-type tools (including subversion, cvs and git).

    Coincidentally, I needed subversion for the first time just last night. Installing it on Cygwin, which I had installed some months ago, took about 2 minutes - not counting the half hour it took me to figure out how to get the installer (Setup) to perform the task.

    So - if you've got the space, you might want to go down that path. It can simplify things in the long term.

    Cheers,
    Rob

      Without wishing to start any sort of flame war: Windows user and developers have a different mind set than *nix developers and users. Recommending a *nix tool set to a Windows user is likely to be counter productive in the short term and may not actually offer any real advantages in the long term.

      The OP has made a good start in installing Tortoise's subversion client - it's a really nice client that integrates well with the Windows explorer. And that typifies the difference really. Windows is WIMPs oriented. *nix is command line oriented. For most tasks there are equally good tools for both camps that are pretty much the same in terms of the time it takes for an experienced user to get a job done.

      On the other hand, if you have the space then installing a virtual machine and running a real *nix is a much better route to take than Cygwin. Especially as there are prepackaged appliances such as Grandma's LAMP which just "plug and go".


      Perl is environmentally friendly - it saves trees

        As far as Tortoise vs command-line SVN clients, they both have some short-comings. I think that it is important that you learn to use both. Doing that gives you a better perspective on how the other client is supposed to work.

        When I first loaded up Tortoise, it drove me crazy because I did stuff that comes naturally in Windows that I would have not thought about doing in *NIX, for example copying an .svn directory to another part of the checkout. When Tortoise kept saying it was broken it was no help when I needed to fix it. When I was using the *NIX client, I learned about more about what I had done to break it and how I could fix it.

        I don't think I would have gained that insight if I had just stuck with one or the other. Tortoise is certainly more feature filled but it does not do everything.

Re: How do you support your first CPAN module?
by jettero (Monsignor) on Jul 12, 2008 at 20:46 UTC
    It pays to have a variety of perls and platforms to test on. There's definitely no revision control requirement for CPAN, although there may be one for the package you're working on.

    -Paul

Re: How do you support your first CPAN module?
by DrHyde (Prior) on Jul 14, 2008 at 10:45 UTC
    You don't need to run your own cvs or svn repository. I use Sourceforge for my modules. As for the rest of what's involved in maintaining a module, I suggest taking a look at a well-respected small module and nicking all the good ideas. At minimum you'll want to publish an email address for people to contact you, and keep an eye on rt.cpan.org. For the lazy people in the audience, I have a nifty shell script that automatically subscribes you to rt.cpan RSS feeds. Email me if you want a copy.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://697263]
Approved by jettero
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (4)
As of 2024-04-25 20:15 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found