Project

General

Profile

Hacking Keep » History » Version 5

Tom Clegg, 08/18/2014 03:57 PM

1 1 Tom Clegg
h1. Hacking Keep
2
3
{{toc}}
4
5
h2. Source tree layout
6
7 5 Tom Clegg
The Keep storage server source code is in @/services/keepstore@. Proxy server is in @/services/keepproxy@.
8 1 Tom Clegg
9
<pre>
10
cd
11 5 Tom Clegg
git clone git://git.curoverse.com/arvados.git
12
ls arvados/services/keep*
13 1 Tom Clegg
</pre>
14 3 Tom Clegg
15 5 Tom Clegg
*Note:* Clone @git@git.curoverse.com:arvados.git@ instead if you plan to push directly to git.curoverse.com.
16
17 1 Tom Clegg
h2. Install build-prerequisites
18
19
Install Go. See http://golang.org/doc/install or try this short cut:
20
21
<pre>
22 5 Tom Clegg
wget https://storage.googleapis.com/golang/go1.3.1.linux-amd64.tar.gz
23
sudo tar -C /usr/local -xzf go1.3.1.linux-amd64.tar.gz
24 1 Tom Clegg
cd /usr/local/bin
25
sudo ln -s ../go/bin/* .
26
</pre>
27
28
(Check https://code.google.com/p/go/downloads/list for other platforms and newer versions.)
29
30 5 Tom Clegg
h2. Set up GOPATH
31 1 Tom Clegg
32
<pre>
33 5 Tom Clegg
export GOPATH=~/gocode
34
mkdir -p $GOPATH
35 1 Tom Clegg
</pre>
36
37 5 Tom Clegg
h2. Tell Go to use your local copy
38
39
(Instead of automatically fetching master from the git repository)
40
41
<pre>
42
mkdir -p $GOPATH/src/git.curoverse.com
43
ln -s ~/arvados $GOPATH/src/git.curoverse.com/arvados.git
44
</pre>
45
46 4 Tom Clegg
h2. Run test suite
47
48
<pre>
49 5 Tom Clegg
go test git.curoverse.com/arvados.git/services/keepstore
50 4 Tom Clegg
</pre>
51
52
You should see something like this:
53
54 1 Tom Clegg
<pre>
55 5 Tom Clegg
ok      git.curoverse.com/arvados.git/services/keepstore        0.015s
56 1 Tom Clegg
</pre>