^^^^^^^^^^^^
This guide describes how to install snf-image-creator on an Ubuntu 12.04 LTS
-system. It it highly recommended to have virtualization capable hardware.
+system. It is highly recommended to have virtualization capable hardware.
snf-image-creator will work on processors that do not support virtualization
but it will be extremely slow.
* progress [http://pypi.python.org/pypi/progress]
* Python interface to sendfile [http://pypi.python.org/pypi/pysendfile]
-When installing snf-image-creator, the above dependencies are automatically
-resolved.
+The above dependencies are resolved differently, depending on the installation
+method you choose.
-Development repository addition
-===============================
+There are two installation methods. The first uses official packages whereas
+the second installs snf-image-creator and its dependencies from source. Both
+methods are presented below.
-In order to install snf-image-creator and the rest of it's dependencies, you
-must first add GRNET's dev repo to your sources. You can use the following
-commands:
+Install snf-image-creator using official packages
+=================================================
+
+This method of installing snf-image-creator boasts all the advantages of
+Ubuntu's APT installation:
+
+* Automatic resolution of dependencies
+* Simple installation of consequent updates
+
+In order to proceed with the installation, you must first add GRNET's dev repo
+to your sources. You can use the following commands:
.. code-block:: console
$ apt-cache showpkg snf-image-creator
-snf-image-creator Installation
-==============================
-
If GRNET's dev repo has been added successfully, you can install
snf-image-creator, along with its dependencies, with the following command:
The installation might take a while. Please note that at some point during the
installation you will be prompted to create/update a "supermin appliance". This
is a setting regarding libguestfs and you can safely choose "Yes".
+
+Install snf-image-creator from source
+=====================================
+
+This method provides you with the cutting edge of snf-image-creator, which
+gives you access to all the latest features. Keep in mind, however,
+that you may experience instability issues.
+
+The first four dependencies (python2, setuptools, Python-Dialog, and
+libguestfs) need to be installed manually by the user. In an Ubuntu 12.04 LTS
+system this can be achieved by installing packages provided by the
+distribution, using the following command:
+
+.. code-block:: console
+
+ $ apt-get install python-setuptools python-guestfs python-dialog
+
+The rest of the dependencies will be automatically resolved by setuptools.
+Keep in mind though that git needs to be installed to download the source
+files. You can use the following command:
+
+.. code-block:: console
+
+ $ apt-get install git
+
+Python Virtual Environment
+--------------------------
+
+Since snf-image-creator and the rest of it's dependencies won't be installed
+using packages, it's better to work in an isolated python virtual environment
+(virtualenv). Installing the Virtual Python Environment builder in Ubuntu can
+be accomplished using the following command:
+
+.. code-block:: console
+
+ $ apt-get install python-virtualenv
+
+Now, create a new python virtual environment like this:
+
+.. code-block:: console
+
+ $ virtualenv --system-site-packages ~/image-creator-env
+
+and activate it by executing:
+
+.. code-block:: console
+
+ $ source ~/image-creator-env/bin/activate
+
+You can later deactivate it using the following command:
+
+.. code-block:: console
+
+ $ deactivate
+
+snf-common Installation
+-----------------------
+
+Install snf-common from source, by cloning it's repository:
+
+.. code-block:: console
+
+ $ cd ~
+ $ git clone https://code.grnet.gr/git/synnefo
+ $ cd synnefo/snf-common
+ $ python setup.py build
+
+Then, make sure you are within the activated virtual environment before you
+
+.. code-block:: console
+
+ $ python setup.py install
+
+kamaki Installation
+-------------------
+
+Install kamaki from source, by cloning it's repository:
+
+.. code-block:: console
+
+ $ cd ~
+ $ git clone https://code.grnet.gr/git/kamaki
+ $ cd kamaki
+ $ ./setup.py build
+
+As above, make sure you are within the activated virtual environment before you
+execute:
+
+.. code-block:: console
+
+ $ ./setup.py install
+
+snf-image-creator Installation
+------------------------------
+
+Install snf-image-creator the same way:
+
+.. code-block:: console
+
+ $ cd ~
+ $ git clone https://code.grnet.gr/git/snf-image-creator
+ $ git checkout stable-0.1
+ $ cd snf-image-creator
+ $ ./setup.py build
+
+And from within the virtual environment execute:
+
+.. code-block:: console
+
+ $ ./setup.py install
+