set a bunch of svn:executable properties
[couchdbimport.git] / CouchProjects / ReadMe.txt
blobdfbae1ac968f50a905827e9132c8d4f2eb56b285
1 This is a readme for building the CouchDb Project.\r
2 \r
3 \r
4 ******* Linux Build Setup *******\r
5 \r
6 Your machine will need installed:\r
7 \r
8 ICU (http://icu.sourceforge.net/)\r
9  apt-get install libicu34\r
10  apt-get install libicu34-dev\r
12 Erlang OTP (http://erlang.org/)\r
13  apt-get install erlang\r
15 Then execute build.sh.\r
17 ******* Windows Build Setup ********\r
19 To Build Couch, you will need:\r
21 * Microsoft Visual Studio .NET 2003\r
23 * Java JRE installed and a java executable on the path (you probably already have this).\r
25 * Install and build IBM's ICU (http://icu.sourceforge.net/).\r
26   Set the environment variable ICU_ROOT to point the root of the ICU install, just below the "lib" and "include" directories:\r
27         ICU_ROOT=C:\icu\r
29 * Erlang Runtime (http://erlang.org/download.html)\r
31 * set the ERL_ROOT environment variable to point the erlang root dir:\r
32         ERLC=:\Program Files\erl5.5.1\\r
34 * set the ERTS_ROOT environment variable to point the ERTS directory:\r
35         ERTS_ROOT=C:\Program Files\erl5.5.1\erts-5.5.1\r
37 * Patch the built-in INETS HTTP server. Instructions below.\r
39 Then execute build_win_kit.cmd to create a full couchdb install kit\r
43 ******* How to Patch the Erlang Inets facility code ********\r
46 Add these function heads at line 73 in \inets-X.X.X\src\httpd_request.erl:\r
48 --begin--\r
49 validate("PUT", Uri, "HTTP/1." ++ _N) ->\r
50     validate_uri(Uri);\r
51 validate("DELETE", Uri, "HTTP/1." ++ _N) ->\r
52     validate_uri(Uri);\r
53 --end--\r
54  \r
55 NOTE: there is also a http_request.erl file (no "d" in the name). Do not confuse this with httpd_request.erl\r
57 Then compile the file from the Erlang shell. Example:\r
58 > c("C:\\Program Files\\erl5.5.1\\lib\\inets-4.7.5\\src\\httpd_request.erl",\r
59 {outdir,"C:\\Program Files\\erl5.5.1\\lib\\inets-4.7.5\\ebin\\"}).\r
61 If that completes successfully you should have a patched system.\r
65 ******* New Release Checklist *******\r
67 1. Update version info in CouchDb/couch.rel CouchDb/couch.app build_win_kit.cmd\r
68 2. Add important information to dist/common/readme.txt\r
69 3. run build_win_kit.cmd\r