Development

Home/Development
 Home
 Project Closed
 Site Index
 News
 Recent
 Old
 Download
 Documents
 User Docs
 Development
 Other Docs
 Development
 Mailing Lists
 Contacting Us

PROJECT CLOSED

This document describes how to become a developer for ANet

1. Get Linux

The primary development platform is Linux. Most distributions made in 2001 should be OK. If you have a PowerPC machine (or a PowerMac by Apple), Yellow Dog Linux is highly recommended.

2. Get the Required Software

For ANet, make sure you have installed Emacs, gcc, ssh, cvs and an 128 bits SSL-ready browser. You can use vim instead of Emacs, as long as you follow the coding conventions of this project. For the browser, you can use Netscape or Mozilla.

3. Sign up at SourceForge.net

This project is using SourceForge's services. So, to be able to develop in ANet, you need to register at SourceForge.net. Just click on "New User via SSL" near the top-left of the page, and follow the instructions.

4. Ask a Project Administrator to Join ANet

Look at "Contacting Us" and contact a project manager.

5. Subscribe to the Mailing Lists

Now that you're part of the project, you should subscibe to the mailing lists, as it is our main mean of communication. The list of mailing lists is here.

6. Set up ssh

First, use the command ssh-keygen to generate you keypair (do man ssh-keygen for more info). Then you have to upload your identity.pub file to SourceForge's servers. To do that, login at SourceForge, then click at "Account Maintenance" at the left of the page, then click on "Edit Keys" at the bottom of the page, then finally follow the instructions. You might have to wait for up to 6 hours before the servers notice the change (even though the web page is changed instantly).

Now, insert this in a file called "~/.ssh/config":

Host anet.sourceforge.net
Cipher 3des
Compression yes
CompressionLevel 6
User username
Protocol 1
 
Host cvs.anet.sourceforge.net
Cipher 3des
Compression yes
CompressionLevel 6
User username
Protocol 1

Change username for your user name in SourceForge. If the file already exist, just append the previous text at the end of the file.

Now, each time you want to connect to SourceForge with ssh or cvs, do "ssh-agent bash" (or "ssh-agent CLI", where CLI is your prefered shell), then "ssh-add" (you will need to enter your key password). When you're done, enter "exit" (or whatever command needed to quit your shell). Note that on the latest Linux distributions, each time you log in, a window will ask you for your key password, and if entered correctly, those commands are not needed until you log off.

7. Set Up CVS

Make a new "~/.cvsrc" file, and enter those lines:

update -P
checkout -P
commit -m ""

The last line will make an empty comment each time you commit(checkin) a file. So, if you want to enter a non-empty comment for a checkin, enter explicitely -m "comment..." when you enter your CVS command at your shell. Complete instructions about CVS can be found by doing "mac cvs". Then, if you use the bash shell (it's the default shell on Linux), add these lines at the end of your "~/.bashrc":

export CVSROOT=":ext:username@cvs.anet.sourceforge.net:/cvsroot/anet"
export CVS_RSH="ssh"

Where username is you SourceForge user name. Now you can use all the CVS commands you want, for example "cvs co ANet" to checkout the ANet module in a directory called ANet.

8. Set Up Emacs

To quickly follow our coding conventions, change your "~/.emacs" file for this:

(setq w32-num-mouse-buttons 2)
(show-paren-mode 1)
(defun my-c-mode-common-hook ()
  ;; my customizations for all of c-mode and related modes
  (c-set-offset 'substatement-open 0)
  (c-set-offset 'statement-cont '0)
  (c-set-offset 'label '-)
  ;; other customizations can go here
  (c-toggle-auto-hungry-state 1)
  )
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)
(setq font-lock-support-mode '((t . lazy-lock-mode)))
(global-font-lock-mode 1)
(custom-set-variables
 '(c-hanging-braces-alist (quote ((brace-list-open) (brace-entry-open) (substatement-open before after) (block-close . c-snug-do-while) (extern-lang-open after) (inexpr-class-open after) (inexpr-class-close before) (class-close before) (defun-close))))
 '(auto-save-default nil)
 '(make-backup-files nil)
 '(c-hanging-colons-alist (quote ((case-label after)))))
(custom-set-faces)

9. Further Reading

TBD

SourceForge
Logo