author | Mahlon E. Smith <mahlon@martini.nu> |
Fri, 04 May 2012 10:25:25 -0700 | |
changeset 24 | d3b6f9ccbe20 |
parent 22 | 822094314703 |
permissions | -rw-r--r-- |
8
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
1 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
2 |
Building volta |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
3 |
=============== |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
4 |
|
14
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
5 |
Volta should build with minimal effort. First, make sure you've got the |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
6 |
dependencies installed. |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
7 |
|
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
8 |
|
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
9 |
Dependencies |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
10 |
------------ |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
11 |
|
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
12 |
- TinyCDB (http://www.corpit.ru/mjt/tinycdb.html) |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
13 |
- GNU make (http://www.gnu.org/software/make/) |
22
822094314703
Add the ability to optionally script rewrite logic using Lua.
Mahlon E. Smith <mahlon@martini.nu>
parents:
14
diff
changeset
|
14 |
- Lua (http://www.lua.org/) |
14
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
15 |
|
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
16 |
If available, install these dependencies from your OS packaging system |
51eb85ae4de4
There isn't a fast way to look up ( value exists or null ) for every
Mahlon E. Smith <mahlon@martini.nu>
parents:
11
diff
changeset
|
17 |
of choice. |
8
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
18 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
19 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
20 |
Compiling |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
21 |
--------- |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
22 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
23 |
Just type 'make'. Depending on your platform, GNU make may have been |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
24 |
installed as 'gmake' If you get any errors, try 'gmake' first. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
25 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
26 |
It should build without warnings. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
27 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
28 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
29 |
Installation |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
30 |
------------ |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
31 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
32 |
Volta doesn't contain any installation targets. You can put the binary |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
33 |
wherever makes sense on your system. Note that it should be in a |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
34 |
directory that is writable to Squid, unless you plan to store the |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
35 |
database separately. An example: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
36 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
37 |
mv volta /usr/local/bin |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
38 |
mkdir -p /var/db/squid |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
39 |
chown squid:squid /var/db/squid |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
40 |
volta -f /var/db/squid/volta.db |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
41 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
42 |
I usually just drop it into the squid configuration directory and run it |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
43 |
from there. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
44 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
45 |
For usage information, see the README. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
46 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
47 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
48 |
Development |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
49 |
----------- |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
50 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
51 |
Volta source can be cloned via Mercurial. The repo is found at: |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
52 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
53 |
http://code.martini.nu/volta |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
54 |
|
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
55 |
You can use the 'debug' make target to compile a (very noisy) binary |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
56 |
that contains gdb symbols and perftool hooks. Set the CPUPROFILE |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
57 |
environment variable to "cpu.prof" to generate a profile. |
8d0f25ef038e
Add common archive files (LICENCE, README, etc) and a 'release' Makefile
Mahlon E. Smith <mahlon@martini.nu>
parents:
diff
changeset
|
58 |
|
11
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
59 |
If you're hacking, you'll want these dependencies installed too. |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
60 |
|
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
61 |
- ragel (http://www.complang.org/ragel/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
62 |
- mercurial (http://mercurial.selenic.com/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
63 |
- google-perftools (http://code.google.com/p/google-perftools/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
64 |
- graphviz (http://www.graphviz.org/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
65 |
- ctags (http://ctags.sourceforge.net/) |
9aa5114326e8
Carry the amalgamated sqlite3 around with volta, rather than requiring
Mahlon E. Smith <mahlon@martini.nu>
parents:
8
diff
changeset
|
66 |