Development

Table of Contents


Rules

  1. Packages placed in apt must always work, and work together.
  2. Code in SVN must build against the the make-common version in apt.
  3. Code in SVN trunks should probably work (if possible).

Git

Git tips and setup.

HTTPS setup (only for authenticated access):

The SSL certificate is used by your git client to verify that it is actually talking to the real thebrain.golems.org.

  1. Download the SSL certificate: thebrain.golems.org.crt.
  2. append it to ~/.gitcerts: $ cat thebrain.golems.org.crt >> ~/.gitcerts
  3. Tell git about the cert: $ git config --global http.sslcainfo ~/.gitcerts

Authenticated Access

  • Visit https://thebrain.golems.org/git. Passwords currently the same as your (HTTP) SVN account.
  • Clone things with ie: git clone https://username@thebrain.golems.org/git/lib/ach

Anonymous Access

These 80 repos are annoying to manage!

Yeah, here's some help:

  1. Make your ~/.netrc file look like this:
    machine thebrain.golems.org
        login USERNAME
        password SUPER_SECRET
  2. Now install this helper by:
    $ mkdir ~/git
    $ cd ~/git
    $ git clone https://thebrain.golems.org/git/lib/grit
    $ cd ./grit
    $ ./grit install
    $ cd ~/git
    $ grit webclone https://thebrain.golems.org/git
    $ grit help

SVN

Lab code is version controlled on our server, thebrain. If you need an account, see Pushkar, Tobias, or Neil.

SVN Layout

  • /: SVN ROOT
    • /papers/: latex for papers
      • /papers/2009/: papers written in 2009
      • /papers/2010/: papers written in 2010
      • /papers/LatexSamples/: LaTeX sample code

Core Packages

Ours

  • ach: message passing IPC
  • somatic: message definitions and general utilities
  • amino: utilities
  • make-common: includeable makefile to simply building

Third Party

Building and Installation

Building Individual Packages

There is a general purpose makefile under $svnroot/lib/make-common that may be included in the Makefiles for each individual project. It should greatly reduce the amount of redundant build-scripting you have to write.

Installing Packages and Dependencies

See Apt Repository.

Rebuilding All Packages

There is a top-level makefile in /src/common that will rebuild any package and its dependencies. Use it with a `make lib/somatic' or something similar.

See Also

AttachmentSize
thebrain.golems.org_.crt_.txt2.04 KB