|
TMDA Bugs & Patches
Reporting bugs and contributing code are both encouraged, but to make
things easier on the developers, please adhere to the following guidelines.
Bug reports and patch submissions should be sent to the
tmda-workers mailing list.
You do not need to be subscribed to post a message there.
Reporting Bugs:
In your report, please include at least the following information:
- Your TMDA version, your Python version, and your operating system
(i.e,
tmda-keygen -V ).
- Your type of TMDA installation (tarball, Linux RPM, FreeBSD port, etc.).
- Which MTA you are running (qmail, Postfix, etc.)
- If you are running TMDA from procmail or maildrop.
- Any other information you think might be relevant.
Submitting Patches:
- Please make sure your patch works with the earliest supported
version of Python. See the requirements
page for what we currently support. For example, if TMDA supports
Python 2.1 and above, you should test your changes with Python 2.1,
even if you normally use a more recent version of Python. If you plan
to contribute code on a frequent basis, you should get into the habit of using
the earliest supported Python for all of your TMDA development.
- As far as preferred coding style, I try to follow the general
Python Style Guide.
Strict coherence to this is not necessary when working on TMDA, but
I'd prefer that you match the existing coding style whenever you can.
In particular, use the existing indentation style in the file(s) you
are editing (Emacs handles this for you automatically). Also, please
limit all lines to a maximum of 79 characters.
-
Emailed patches should preferably be sent in MIME format, with the actual
patch included as an attachment.
-
When making patches with diff, please use the -u
option, or if your diff doesn't support it, -c. Also, it is helpful
if you create the patch from the top level of the TMDA source
directory:
-
Diffs should be made against the current development source from CVS rather
than the particular TMDA release you happen to be using.
Here is an example illustrating some of the above concepts:
- Checkout the latest developement sources from TMDA's CVS repository.
This will create a `tmda' subdirectory in your current working directory
containing the source:
% cd /usr/local/src
% cvs -d:pserver:anonymous@cvs.tmda.sf.net:/cvsroot/tmda login
[press return at the password prompt]
% cvs -z3 -d:pserver:anonymous@cvs.tmda.sf.net:/cvsroot/tmda co tmda
- Make the necessary changes:
% cd /usr/local/src/tmda
(hack, hack, hack....)
- Create your patch called "tmda.diff":
% cd /usr/local/src/tmda
% cvs diff -u > tmda.diff
If you wish, accompany your patch with an update to the apropriate
ChangeLog file. If you use Emacs, you can use the M-x
add-change-log-entry command to do this automatically.
Guidelines for writing ChangeLog entries are governed by the
GNU coding standards. See the Change Logs section for
details.
|