Write to regarding access to the NorduGrid CVS repository: explain in some details what and why you'd like to contribute.
Access is done through SSH so you must generate a public/private key pair if you do not already have that.
The public key should along with a preferred username be sent to waananen@nbi.dk.
It is possible to share use the same keys with both clients on UNIX (eg. openssh) and Windows. On Linux the ssh-keygen utility in openssh can be used to read keys in various formats and export them to formats used by other clients.
If you are not familiar with CVS, please read appropriate documentation.
You may use any CVS client tool: either a command-line one, or any of existing GUIs (Cervisia, WinCvs are tested).
On Linux, define CVS_RSH and CVSROOT variables as follows (example for Bourne shells):
export CVS_RSH=ssh
export CVSROOT=:ext:cvs.nordugrid.org:/cvs
If you are using a GUI, enter the values corresponding to the above into configuration
.The main module is nordugrid. To check out the HEAD revision do, e.g.:
cvs -d:ext:cvs.nordugrid.org:/cvs co nordugrid
It is good practice not to go and change code in other peoples domain without consulting them first.
If you know the responsible person you can contact him/her directly. Otherwise please use the mailing list to discuss changes.
Adding files to the NorduGrid CVS can be a daring task. Now is probably a good time to get acquainted with basic CVS
and Autotools (Autoconf, Automake and Libtool). Most of the following describes good practice and standard CVS and Autotools procedures.cvs add myfile
Did you add a new executable? If so please write a man
page. You can use userinterface/man/ngsub.1
as a
template. Remember to add this file as well.
Some documents are produced from a source. For example a LaTeX
document example.tex
could be turned into a PDF
document. During the process of generating the document
several auxiliary files are created. They should be listed in
the appropriate Makefile.am
. Example:
CLEANFILES = example.aux example.log
This will remove the files when doing make
clean
. On the other hand the final documents (eg. PDF
files) should not be removed with this command. They should be
listed as:
MAINTAINERCLEANFILES = example.pdf
So that only a make maintainer-clean
command
will remove them. Also the final produced document should be
committed to CVS. In this way developers do not need to
re-create the documents when doing make
clean
. Remember to update the PDF file in CVS whenever
changes are made to the source file.
It is a very good custom to ensure that the nightly CVS build succeeds. Therefore you should check your modifications. Copy the whole tree to a temporary directory. Then go to this new copy and do:
$ cd nordugrid
$ ./bootstrap # (Autotools magic)
$ ./configure
$ make dist
If there were no errors you should have a
nordugrid-VERSION.tar.gz
in the top-level
directory. To test the RPM package building do:
rpmbuild -ta nordugrid-VERSION.tar.gz
This assumes that the standard RPM development is setup correctly. If this commands succeeds (writes a src.rpm file) you changes should be fine.
Go back to the checkout directory and commit the files in the usual way.