HACKING - a quick guide to coding on Siesta
So you want to contribute to Siesta? Excellent, step this way.
The first things you'll want to do are to subscribe to our mailing lists, get a copy of the code from the subversion repository, read that code, and the rest of this document.
There are currently two lists dedicated to the development of Siesta.
Where the coordination of the main development happens.
Where commit messages go. This is worth reading to see in what direction the code is moving.
To subscribe to any of these send email to listname-sub@siesta.unixbeard.net and follow the instructions you get back.
listname-sub@siesta.unixbeard.net
svn co https://siesta.unixbeard.net/svn/trunk/siesta
If you can't deal with subversion yet (and we really recommend it), Nicholas Clark has come to the rescue with snapshot generation. At 4am and 4pm daily snapshots are generated here:
http://siesta.unixbeard.net/releases/snapshot/?C=M&O=D
XXX explain the structure of the code layout a little
I know you're impatient to get going, but please follow through this through first.
These are only important because not keeping to them annoys richardc, and when that happens things tend to get defenestrated. We like to keep that to a minimum.
XXX
Since the dawn of time this argument has been running. Thankfully these years of fighting have allowed a solution to evolve - perltidy.
The mandated set of arguments to perltidy are encoded in the script bin/run_perltidy, so now and again run
bin/run_perltidy
And no-one gets hurt.
Note: Actually sometimes we just ignore perltidy, it really loses the plot when we chain method calls, just be prepared to have your code remangled.
Tests will put hair on your chest and 20 years on your life, or maybe that was Ready-Brek. Either way we have a test suite, and it is expected that your new contributions will bolster and not break any existing tests.
./Build test
Also it'd be nice if you can bear in mind test coverage. We have a target that runs the testsuite using Devel::Cover, so install that and periodically run:
./Build cover
Unified diffs are preferred, unified diffs produced from the top of a working directory doubly so. To produce these simply run this command in the top level directory.
svn diff -u
Being hip kids on the bleading edge we're using new modules, and sometimes finding bugs in them. As much as is possible we'll update the Build.PL to track the latest working release from CPAN, but there are times when that's not quite new enough.
These are the are the exceptions where you'll need to grab something from CVS (and/or urls of patches you should apply to the CPAN release) (version numbers are predicted fixed releases):
None at current time
Richard Clamp <richardc@unixbeard.net>
Copyright (c) 2002, 2003 Richard Clamp. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
To install Siesta, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Siesta
CPAN shell
perl -MCPAN -e shell install Siesta
For more information on module installation, please visit the detailed CPAN module installation guide.