[Serusers] Information on how to submit code to experimental

Greger V. Teigre greger at teigre.com
Sun Oct 30 12:26:08 CET 2005


To those of you who have developed code you are evaluating whether to commit to cvs, here is information found in the new HACKING file found in the experimental cvs directory. If you have any immediate questions or comments, I'm all ears! 
g-)

HACKING SER
===========
This information is for people who have or would like to develop a 
module or code for SER and would like to submit the code to the SER
CVS tree. Please first read the README file in the experimental
directory for information about the purpose of the directory and
what type of code you can submit.

If you have decided to go ahead, the information below is what you
need to get started!

Administrator
=============
The administrator of the experimental directories is Greger V. Teigre.
He can be contacted at greger at onsip.org. If you have any questions
after reading this or would like to submit code, please send an email!

Registration
============

As a new SER developer you need to register an account at 
http://bugs.sip-router.org/ and at 
http://developer.berlios.de/account/register.php.  Use the same 
username for both.

Requesting Access
=================
In order to get write access to the experimental CVS you need to 
send information about the module/code to the administrator (see above), 
as well as your full name, and the username and email address used for 
the above registration. Information about parameters and function calls,
the version of SER the module has been developed for, and one or more
use cased for the code will be of help (unless it's obvious...). You 
should also include a 3-5 lines description of the code/module that
you would like to include in the experimental README.

You will then be advised on how to make sure your code is a use for others
and if others are working on/requested submission of similar code. The 
purpose of this check is to make submitted code as easily accessible as 
possible and avoid overlapping coding efforts.

Once approved, you check out using: cvs co experimental.  You will get 
all the experimental modules, your module should have an empty directory 
where you have write CVS access.

Development Requirements
------------------------
You should read this general info on the SER CVS:
http://www.iptel.org/ser/cvs/

And to understand how SER is organized, you should read the first part of:
http://www.iptel.org/~janakj/ser_cvs.xhtml

We strive to keep the requirements as few as possible (we don't like 
overhead more than you do), but there are some rules you must follow:

- You are responsible for maintaining the module for any branches you have
submitted the module in. This includes keeping it updated as HEAD and the
branches are updated

- Bug and issue tracking MUST be kept on http://bugs.sip-router.org/

- If a module is not being maintained, it will be moved to the "attic" and
eventually deleted

- All experimental modules should be checked in with paths as if they live
in the main modules directory

- All experimental modules should have an updated README

- All experimental modules should have #warning directives that will be
shown when making, as well as a LOG(L_ALERT, "WARNING! ..."); in the
initialization function of the module. This warning should also be added to
the README file. Recommended warning template:  "This module is experimental
and may crash SER or create unexpected results. You use the module at your
own risk. Please submit bugs at http://bugs.sip-router.org/"

- IF YOUR MODULE REQUIRES PATCHING OF CORE OR OTHER MODULES:
If the module requires a patch to the core tree, the README file and compile
warning should explicitly warn about this and describe how to go about
patching the tree (reference to install.sh below and README). Patch(es)
should be included in a separate sub-directory called patches/. The README
should have instructions on which changes will be made, and the maintainer
should keep an updated install.sh that will apply the patches in the
patches/ directory (assuming that the module is located in the ser modules
directory after checkout by the user).  This script may include patching
code in root/other modules, as well as making a new directory in root and
copying files from the modules/modulename/patches/ directory to the root.
IF the contributed code is NOT a module, but a core extension/patch, the
script should make the proper tree modifications, should NOT include a
Makefile (i.e. a module makefile), and should leave its own directory intact
after patching.

- If and when the module has proven its usefulness to a broad range of users
and its stability (and the developer his/her ability to support and maintain
the module), it may be promoted to a standard module status. This is a
decision made by the core developers.  An application can be sent to
serdev at lists.iptel.org if and when the maintainer finds the module applicable to
such status
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20051030/596645e3/attachment.htm>


More information about the sr-users mailing list