summaryrefslogtreecommitdiff
path: root/README-DEV.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README-DEV.rst')
-rw-r--r--README-DEV.rst229
1 files changed, 0 insertions, 229 deletions
diff --git a/README-DEV.rst b/README-DEV.rst
deleted file mode 100644
index f4031b767..000000000
--- a/README-DEV.rst
+++ /dev/null
@@ -1,229 +0,0 @@
-Apache CouchDB DEVELOPERS
-=========================
-
-Before you start here, read `INSTALL.Unix` (or `INSTALL.Windows`) and
-follow the setup instructions including the installation of all the
-listed dependencies for your system.
-
-Only follow these instructions if you are building from a source checkout.
-
-If you're unsure what this means, ignore this document.
-
-Dependencies
-------------
-
-You need the following to run tests:
-
-* `Python 3 <https://www.python.org/>`_
-
-You need the following optionally to build documentation:
-
-* `Sphinx <http://sphinx.pocoo.org/>`_
-* `GNU help2man <http://www.gnu.org/software/help2man/>`_
-* `GnuPG <http://www.gnupg.org/>`_
-
-You need the following optionally to build releases:
-
-* `md5sum <http://www.microbrew.org/tools/md5sha1sum/>`_
-* `sha1sum <http://www.microbrew.org/tools/md5sha1sum/>`_
-
-You need the following optionally to build Fauxton:
-
-* `nodejs <http://nodejs.org/>`_
-* `npm <https://www.npmjs.com/>`_
-
-You will need these optional dependencies installed if:
-
-* You are working on the documentation, or
-* You are preparing a distribution archive
-
-However, you do not need them if:
-
-* You are building from a distribution archive, or
-* You don't care about building the documentation
-
-If you intend to build Fauxton, you will also need to install its
-dependencies. After running ``./configure`` to download all of the
-dependent repositories, you can read about required dependencies in
-`src/fauxton/readme.md`. Typically, installing npm and node.js are
-sufficient to enable a Fauxton build.
-
-Here is a list of *optional* dependencies for various operating systems.
-Installation will be easiest, when you install them all.
-
-Debian-based (inc. Ubuntu) Systems
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-::
-
- sudo apt-get install help2man python-sphinx gnupg nodejs npm \
- python3 python3-venv
-
-Gentoo-based Systems
-~~~~~~~~~~~~~~~~~~~~
-
-::
-
- sudo emerge gnupg coreutils pkgconfig help2man sphinx python
- sudo pip install hypothesis requests nose
-
-Centos 7 and RHEL 7
-~~~~~~~~~~~~~~~~~~~
-
-::
-
- sudo yum install help2man python-sphinx python-docutils \
- python-pygments gnupg nodejs npm
-
-
-Mac OS X
-~~~~~~~~
-
-Install `Homebrew <https://github.com/mxcl/homebrew>`_, if you do not have
-it already.
-
-Unless you want to install the optional dependencies, skip to the next section.
-
-Install what else we can with Homebrew::
-
- brew install help2man gnupg md5sha1sum node python
-
-If you don't already have pip installed, install it::
-
- sudo easy_install pip
-
-Now, install the required Python packages::
-
- sudo pip install sphinx docutils pygments sphinx_rtd_theme
-
-FreeBSD
-~~~~~~~
-
-::
-
- pkg install help2man gnupg py27-sphinx node
- pip install nose requests hypothesis
-
-Windows
-~~~~~~~
-
-Follow the instructions in `INSTALL.Windows` and build all components from
-source, using the same Visual C++ compiler and runtime.
-
-Configuring
------------
-
-Configure the source by running::
-
- ./configure
-
-If you intend to run the test suites::
-
- ./configure -c
-
-If you don't want to build Fauxton or documentation specify
-``--disable-fauxton`` and/or ``--disable-docs`` arguments for ``configure`` to
-ignore their build and avoid any issues with their dependencies.
-
-See ``./configure --help`` for more information.
-
-Testing
--------
-
-To run all the tests use run::
-
- make check
-
-You can also run each test suite individually via ``eunit`` and ``javascript``
-targets::
-
- make eunit
- make javascript
-
-If you need to run specific Erlang tests, you can pass special "options"
-to make targets::
-
- # Run tests only for couch and chttpd apps
- make eunit apps=couch,chttpd
-
- # Run only tests from couch_btree_tests suite
- make eunit apps=couch suites=couch_btree
-
- # Run only only specific tests
- make eunit tests=btree_open_test,reductions_test
-
- # Ignore tests for specified apps
- make eunit skip_deps=couch_log,couch_epi
-
-The ``apps``, ``suites``, ``tests`` and ``skip_deps`` could be combined in any
-way. These are mimics to ``rebar eunit`` arguments. If you're not satisfied by
-these, you can use EUNIT_OPT environment variable to specify exact `rebar eunit`
-options::
-
- make eunit EUNIT_OPTS="apps=couch,chttpd"
-
-JavaScript tests accepts only `suites` option, but in the same way::
-
- # Run all JavaScript tests
- make javascript
-
- # Run only basic and design_options tests
- make javascript suites="basic design_options"
-
- # Ignore specific test suites via command line
- make javascript ignore_js_suites="all_docs bulk_docs"
-
- # Ignore specific test suites in makefile
- ignore_js_suites=all_docs,bulk_docs
-
-Note that tests on the command line are delimited here by whitespace,
-not by comma.You can get list of all possible test targets with the
-following command::
-
- make list-js-suites
-
-Code analyzer could be run by::
-
- make dialyze
-
-If you need to analyze only specific apps, you can specify them in familiar way
-::
-
- make dialyze apps=couch,couch_epi
-
-See ``make help`` for more info and useful commands.
-
-Please report any problems to the developer's mailing list.
-
-Releasing
----------
-
-The release procedure is documented here::
-
- https://cwiki.apache.org/confluence/display/COUCHDB/Release+Procedure
-
-Unix-like Systems
-~~~~~~~~~~~~~~~~~
-
-A release tarball can be built by running::
-
- make dist
-
-An Erlang CouchDB release includes the full Erlang Run Time System and
-all dependent applications necessary to run CouchDB, standalone. The
-release created is completely relocatable on the file system, and is
-the recommended way to distribute binaries of CouchDB. A release can be
-built by running::
-
- make release
-
-The release can then be found in the rel/couchdb directory.
-
-Microsoft Windows
-~~~~~~~~~~~~~~~~~
-
-The release tarball and Erlang CouchDB release commands work on
-Microsoft Windows the same as they do on Unix-like systems. To create
-a full installer, the separate couchdb-glazier repository is required.
-Full instructions are available in that repository's README file.
-