Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 197 lines (126 sloc) 5.057 kB
f3303f2 @nslater documentation improvements
nslater authored
1 Apache CouchDB DEVELOPERS
2 =========================
3
4 Only follow these instructions if you are building from a source checkout.
5
6 If you're unsure what this means, ignore this document.
7
8 Dependencies
9 ------------
10
11 You will need the following installed:
12
13 * GNU Libtool (http://www.gnu.org/software/libtool/)
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
14 * GNU Automake (>=1.6.3) (http://www.gnu.org/software/automake/)
23401e4 @dch Amend DEVELOPERS and CHANGES for autoconf 2.63
dch authored
15 * GNU Autoconf (>=2.63) (http://www.gnu.org/software/autoconf/)
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
16 * GNU Autoconf Archive (http://www.gnu.org/software/autoconf-archive/)
17 * pkg-config (http://www.freedesktop.org/wiki/Software/pkg-config)
03ff119 @nslater Added info about release time deps
nslater authored
18
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
19 You may also need:
20
21 * Sphinx (http://sphinx.pocoo.org/)
22 * LaTex (http://www.latex-project.org/)
23 * GNU Texinfo (http://www.gnu.org/software/texinfo/)
f3303f2 @nslater documentation improvements
nslater authored
24 * GNU help2man (http://www.gnu.org/software/help2man/)
03ff119 @nslater Added info about release time deps
nslater authored
25 * GnuPG (http://www.gnupg.org/)
26 * md5sum (http://www.microbrew.org/tools/md5sha1sum/)
27 * sha1sum (http://www.microbrew.org/tools/md5sha1sum/)
f3303f2 @nslater documentation improvements
nslater authored
28
03ff119 @nslater Added info about release time deps
nslater authored
29 The first of these optional dependencies are required for building the
30 documentation. The last three are needed to build releases.
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
31
32 You will need these optional dependencies installed if:
33
03ff119 @nslater Added info about release time deps
nslater authored
34 * You are working on the documentation, or
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
35 * You are preparing a distribution archive
03ff119 @nslater Added info about release time deps
nslater authored
36
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
37 However, you do not need them if:
38
39 * You are building from a distribution archive, or
40 * You don't care about building the documentation
f3303f2 @nslater documentation improvements
nslater authored
41
42 Debian-based (inc. Ubuntu) Systems
43 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
44
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
45 You can install the required dependencies by running:
46
47 sudo apt-get install libtool
48 sudo apt-get install automake
49 sudo apt-get install autoconf
50 sudo apt-get install autoconf-archive
51 sudo apt-get install pkg-config
f3303f2 @nslater documentation improvements
nslater authored
52
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
53 Optional dependencies:
54
55 sudo apt-get install help2man
56 sudo apt-get install python-sphinx
57 sudo apt-get install texlive-latex-base
58 sudo apt-get install texlive-latex-recommended
59 sudo apt-get install texlive-latex-extra
60 sudo apt-get install texlive-fonts-recommended
61 sudo apt-get install texinfo
03ff119 @nslater Added info about release time deps
nslater authored
62 sudo apt-get install gnupg
f3303f2 @nslater documentation improvements
nslater authored
63
341e8bf @wendall911 COUCHDB-1704: Add RedHat distro build dependencies to docs
wendall911 authored
64 RedHat-based (Fedora, Centos, RHEL) Systems
65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66 sudo yum install help2man
67 sudo yum install python-sphinx
68 sudo yum install python-docutils
69 sudo yum install python-pygments
70 sudo yum install texlive-latex
71 sudo yum install texlive-latex-fonts
72 sudo yum install texinfo
73 sudo yum install gnupg
74
f3303f2 @nslater documentation improvements
nslater authored
75 Mac OS X
76 ~~~~~~~~
77
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
78 Install Homebrew, if you do not have it already:
79
80 https://github.com/mxcl/homebrew
81
82 You can install the required dependencies by running:
83
84 brew install libtool
85 brew install automake
86 brew install autoconf
87 brew install autoconf-archive
88 brew install pkg-config
89
90 Unless you want to install the optional dependencies, skip to the next section.
f3303f2 @nslater documentation improvements
nslater authored
91
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
92 Install what else we can with Homebrew:
f3303f2 @nslater documentation improvements
nslater authored
93
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
94 brew install help2man
03ff119 @nslater Added info about release time deps
nslater authored
95 brew install gnupg
96 brew install md5sha1sum
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
97
98 If you don't already have pip installed, install it:
99
100 sudo easy_install pip
101
102 Now, install the required Python packages:
103
104 sudo pip install sphinx
105 sudo pip install docutils
106 sudo pip install pygments
107
108 Download MaxTeX from here:
109
110 http://www.tug.org/mactex/
111
112 Follow the instructions to get a working LaTeX install on your system.
113
114 Windows
115 ~~~~~~~
116
03ff119 @nslater Added info about release time deps
nslater authored
117 Follow the instructions in INSTALL.Windows and build all components from
118 source, using the same Visual C++ compiler and runtime.
f3303f2 @nslater documentation improvements
nslater authored
119
120 Bootstrapping
121 -------------
122
123 Bootstrap the pristine source by running:
124
125 ./bootstrap
126
127 You must repeat this step every time you update your source checkout.
128
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
129 Configuring
130 -----------
131
132 Configure the source by running:
133
134 ./configure
135
136 Note that this will not fail when the optional dependencies are missing.
137
138 To ensure the optional dependencies are installed, run:
139
140 ./configure --enable-strictness
141
142 If you don't care about docs and want to skip the whole thing, run:
143
144 ./configure --disable-docs
145
146 If you're working on the build system itself, you can run:
147
148 ./configure --disable-tests
149
150 This skips the tests allowing quicker `make' cycles.
151
f3303f2 @nslater documentation improvements
nslater authored
152 Testing
153 -------
154
155 Check the test suite by running:
156
157 make check
158
159 Generate a coverage report by running:
160
161 make cover
162
163 Please report any problems to the developer's mailing list.
164
165 Releasing
166 ---------
167
f86f972 @nslater Add Sphinx-related build changes into READMEs
nslater authored
168 The release procedure is documented here:
a9de8c7 @tilgovi add link to release procedure in DEVELOPERS file
tilgovi authored
169
03ff119 @nslater Added info about release time deps
nslater authored
170 https://wiki.apache.org/couchdb/Release_Procedure
a9de8c7 @tilgovi add link to release procedure in DEVELOPERS file
tilgovi authored
171
f3303f2 @nslater documentation improvements
nslater authored
172 Unix-like Systems
173 ~~~~~~~~~~~~~~~~~
174
175 Prepare the release artefacts by running:
176
177 make distcheck
178
179 You can prepare signed release artefacts by running:
180
181 make distsign
182
183 The release artefacts can be found in the root source directory.
184
185 Microsoft Windows
186 ~~~~~~~~~~~~~~~~~
187
188 Prepare the release artefacts by running:
189
190 make dist
191
192 The release artefacts can be found in the `etc/windows` directory.
193
194 Until the build system has been improved, you must make sure that you run this
195 command from a clean source checkout. If you do not, your test database and log
196 files will be bundled up in the release artefact.
Something went wrong with that request. Please try again.