To develop SciGraphica you obviously need access to the source code, which includes the documentation sources as well. There are two and a half ways of doing this: Obtaining source tarballs of point releases, and through anonymous cvs. If you become a regular developer you may also be granted write access to the cvs repository (this is the extra half ;0).
Every once in a while the current cvs source is cleaned of any major known bugs and issues and is packaged as a point release for users to download and try. Often they can download prepackaged binaries, but there is always the option of compiling from source.
The latest source tarball will be linked to and announced on the main SciGraphica website(http://scigraphica.sourceforge.net/).
You can then unarchive this with
$ tar xvzf sg-x.x.x.tar.gz |
or if your system doesn't have GNU tar
$ gzip -c -d sg-x.x.x.tar.gz | tar xvf - |
You can then compile as normal with
$ cd sg-x.x.x ; ./configure && make && make install |
The CVS repository allows you to obtain the very latest source to SciGraphica. This may contain bug fixes since the point release. Or it may have a new feature you heard about or suggested. Or it might be riddled with new bugs. Ride the bleeding edge.
To obtain the source: log into the CVS repository with the following command
$ cvs -d:pserver:anonymous@cvs.scigraphica.sourceforge.net:/cvsroot/scigraphica login |
Just hit enter for the password. You can then download the latest source with [-z3 tells the server to use a moderate level of compression, any higher is usually not worth it]
$ cvs -z3 -d:pserver:anonymous@cvs.scigraphica.sourceforge.net:/cvsroot/scigraphica co sg |
Before compiling you need to produce the configure scripts etc using
$ cd sg ; ./autogen.sh |
$ ./configure [--flags] |
Then (hopefully) compile as normal.
The CVS repository changes daily, even hourly, so you will want to keep up to date. Luckily you don't have to download everything again. CVS will compare what you have with what's in the repository and then only update those things which are different. For example, to update the sg/src/ directory you would
$ cd sg/src/ ; cvs update |
Issuing an update command in any other directory should have a similar affect. To update the entire tree you would issue it from the main sg/ directory. You can set this up as a cron job so you could get updated on a nightly basis, for example.
If you have developer access to the CVS repository, granted to you by one of the core developers, (you also need to be a registered SourceForge user) then you can not only download files from the repository but upload them as well. You can log into the repository with ssh, using the following (enter your SourceForge user password) rather than the anonymous login shown before,
$ export CVS_RSH=ssh |
$ cvs -z3 -d:ext:developername@cvs.scigraphica.sourceforge.net:/cvsroot/scigraphica co sg |
If you have edited a file and wish the changes to be committed to the repository you would use
$ cvs commit file |
You will be asked to give a summary of your changes, such as 'Removed unneccessary gtk call'. This is so other developers can keep track of what was done, when and by who.
If you have created a new file you use the following command first before committing
$ cvs add file |
The -z3 switch can be added to all cvs operations to compress the connection. This provides a significant amount of compression compared to a minimal amount of cpu usage and is highly beneficial for developers on dialup connections.
Through ssh developers can have access to SourceForge shell accounts. This has two advantages: 1) Being able to compile or edit files from a central source if you don't have a personal machine available. 2) To be able to edit the project's web pages.
To access the SciGraphica 'account' for shell access you can use the following
$ ssh [-C] developername@scigraphica.sourceforge.net |
Where developername is your SourceForge username and -C is used if you wish to compress your connection (pretty much preferable unless you happen to be on the same LAN as SourceForge itself ;0). From here you have a small (~10MB) user account in which to store data and run programs. Also, from here you can access the project webpages in /home/groups/s/sc/scigraphica/htdocs/. To remember this you need the following logic: /home/groups/ for a project's account directory, s/ for the first letter in our project name, sc/ for the first two letters in our project name, scigraphica/ for the full project name, and htdocs/ for the webpage root directory.
Please take the same care with the webpages source as you would with the code source ie test before uploading and take a backup before replacing current files.