diff --git a/INSTALL b/INSTALL index db29b26331ad61d0389581550f7836e718aded54..7dc402a376c593be59538413a99597b995f58334 100644 --- a/INSTALL +++ b/INSTALL @@ -46,7 +46,7 @@ Before installing, please verify that you have the following programs: - `affinity Python module <http://pypi.python.org/pypi/affinity/0.1.0>`_, optional python package for supporting CPU pinning under KVM - `ElementTree Python module <http://effbot.org/zone/element-index.htm>`_, - if running python 2.4 (optional, used by the ``ovfconverter`` tool) + if running on python 2.4 (optional, used by the ``ovfconverter`` tool) - `qemu-img <http://qemu.org/>`_, if you want to use ``ovfconverter`` - `fping <http://fping.sourceforge.net/>`_ @@ -59,15 +59,30 @@ packages, except for RBD, DRBD and Xen:: $ apt-get install lvm2 ssh bridge-utils iproute iputils-arping \ ndisc6 python python-pyopenssl openssl \ python-pyparsing python-simplejson \ - python-pyinotify python-pycurl socat \ - python-elementtree qemu + python-pyinotify python-pycurl socat fping + +Note that this does not install optional packages:: + + $ apt-get install python-paramiko python-affinity qemu-img + +If some of the python packages are not available in your system, +you can try installing them using ``easy_install`` command. +For example:: + + $ apt-get install python-setuptools + $ cd / && sudo easy_install \ + affinity + On Fedora to install all required packages except RBD, DRBD and Xen:: $ yum install openssh openssh-clients bridge-utils iproute ndisc6 \ pyOpenSSL pyparsing python-simplejson python-inotify \ - python-lxml python-paramiko socat qemu-img + python-lxm socat fping + +For optional packages use the command:: + $ yum install python-paramiko python-affinity qemu-img If you want to build from source, please see doc/devnotes.rst for more dependencies. @@ -136,8 +151,12 @@ were renamed:: $ apt-get install ghc libghc-json-dev libghc-network-dev \ libghc-parallel-dev libghc-curl-dev -If using a distribution which does not provide them, the first install -the Haskell platform and then install the additional libraries via +If using a distribution which does not provide them, first install +the Haskell platform. You can also install ``cabal`` manualy:: + + $ apt-get install cabal-install + +Then install the additional libraries via ``cabal``:: $ cabal install json network parallel curl @@ -171,6 +190,14 @@ or ``cabal``:: to install them. +.. _cabal-note: +.. note:: + If one of the cabal packages fails to install due to unfulfilled + dependencies, you can try enabling symlinks in ``~/.cabal/config``. + + Make sure that your ``~/.cabal/bin`` directory (or whatever else + is defined as ``bindir``) is in your ``PATH``. + Installation of the software ---------------------------- diff --git a/doc/devnotes.rst b/doc/devnotes.rst index 48544fbd84cdd349b0e972778c2c00293d874ca7..27555aa7935df596a5e3a06da176b655d9b9740c 100644 --- a/doc/devnotes.rst +++ b/doc/devnotes.rst @@ -6,20 +6,25 @@ Developer notes Build dependencies ------------------ -Most dependencies from :doc:`install-quick`, plus (for Python): +Most dependencies from :doc:`install-quick`, including ``qemu-img`` +(marked there as optional) plus (for Python): - `GNU make <http://www.gnu.org/software/make/>`_ - `GNU tar <http://www.gnu.org/software/tar/>`_ - `Gzip <http://www.gnu.org/software/gzip/>`_ - `pandoc <http://johnmacfarlane.net/pandoc/>`_ +- `python-epydoc <http://epydoc.sourceforge.net/>`_ - `python-sphinx <http://sphinx.pocoo.org/>`_ - (tested with version 0.6.1) + (tested with version 1.1.3) - `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 - `pep8 <https://github.com/jcrocholl/pep8/>`_ +For older developement (Ganeti < 2.4) ``docbook`` was used instead +``pandoc``. + Note that for pylint, at the current moment the following versions must be used:: @@ -27,9 +32,26 @@ must be used:: pylint 0.21.1, astng 0.20.1, common 0.50.3 +The same with pep8, other versions may give you errors:: + + $ pep8 --version + 0.6.1 + To generate unittest coverage reports (``make coverage``), `coverage <http://pypi.python.org/pypi/coverage>`_ needs to be installed. +Installation of all dependencies listed here:: + + $ apt-get install python-setuptools + $ apt-get install pandoc python-epydoc graphviz + $ cd / && sudo easy_install \ + sphinx \ + logilab-astng==0.20.1 \ + logilab-common==0.50.3 \ + pylint==0.21.1 \ + pep8==0.6.1 \ + coverage + For Haskell development, again all things from the quick install document, plus: