Commit 77a180f6 authored by Iustin Pop's avatar Iustin Pop

Update INSTALL and devnotes.rst with Haskell notes

This documents the needed libraries for Haskell development. It also
fixes a tiny typo in devnotes.rst.
Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
parent 22c5390d
......@@ -50,6 +50,30 @@ packages, except for DRBD and Xen::
python-pyparsing python-simplejson \
python-pyinotify python-pycurl socat
If you want to also enable the `htools` components, which is recommended
on bigger deployments (they give you automatic instance placement,
cluster balancing, etc.), then you need to have a Haskell compiler
installed. More specifically:
- `GHC <http://www.haskell.org/ghc/>`_ version 6.10 or higher
- or even better, `The Haskell Platform
<http://hackage.haskell.org/platform/>`_ which gives you a simple way
to bootstrap Haskell
- `json <http://hackage.haskell.org/package/json>`_, a JSON library
- `network <http://hackage.haskell.org/package/network>`_, a basic
network library
- `parallel <http://hackage.haskell.org/package/parallel>`_, version 1.x
or 2.x, a parallel programming library (note: version 3.x is not yet
supported)
- `curl <http://hackage.haskell.org/package/curl>`_, bindings for the
curl library, only needed if you want these tools to connect to remote
clusters (as opposed to the local one)
All of these are also available as package in Debian/Ubuntu::
$ apt-get install ghc6 libghc6-json-dev libghc6-network-dev \
libghc6-parallel-dev libghc6-curl-dev
If you want to build from source, please see doc/devnotes.rst for more
dependencies.
......
......@@ -4,7 +4,7 @@ Developer notes
Build dependencies
------------------
Most dependencies from :doc:`install-quick`, plus:
Most dependencies from :doc:`install-quick`, plus (for Python):
- `GNU make <http://www.gnu.org/software/make/>`_
- `GNU tar <http://www.gnu.org/software/tar/>`_
......@@ -14,10 +14,32 @@ Most dependencies from :doc:`install-quick`, plus:
(tested with version 0.6.1)
- `graphviz <http://www.graphviz.org/>`_
- the `en_US.UTF-8` locale must be enabled on the system
- `pylint <http://www.logilab.org/857>`_ and its associated
dependencies
Note that for pylint, at the current moment the following versions
need to be used::
$ pylint --version
pylint 0.21.1,
astng 0.20.1, common 0.50.3
To generate unittest coverage reports (``make coverage``), `coverage
<http://pypi.python.org/pypi/coverage>`_ needs to be installed.
For Haskell development, again all things from the quick install
document, plus:
- `haddock <http://www.haskell.org/haddock/>`_, documentation
generator (equivalent to epydoc for Python)
- `HsColour <http://hackage.haskell.org/package/hscolour>`_, again
used for documentation (it's source-code pretty-printing)
- `hlint <http://community.haskell.org/~ndm/hlint/>`_, a source code
linter (equivalent to pylint for Python)
- the `QuickCheck <http://hackage.haskell.org/package/QuickCheck>`_
library, version 1.x
- ``hpc``, which comes with the compiler, so you should already have it
Configuring for development
---------------------------
......@@ -47,7 +69,7 @@ before use.
This script, in the source code as ``daemons/daemon-util.in``, is used
to start/stop Ganeti and do a few other things related to system
daemons. Is is recommended to use ``daemon-util`` also from the system's
daemons. It is recommended to use ``daemon-util`` also from the system's
init scripts. That way the code starting and stopping daemons is shared
and future changes have to be made in only one place.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment