summaryrefslogtreecommitdiff
path: root/docs/dev/environment.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/dev/environment.rst')
-rw-r--r--docs/dev/environment.rst49
1 files changed, 27 insertions, 22 deletions
diff --git a/docs/dev/environment.rst b/docs/dev/environment.rst
index c3868b81..010ccc83 100644
--- a/docs/dev/environment.rst
+++ b/docs/dev/environment.rst
@@ -8,19 +8,20 @@ This document covers how to get an enviroment ready to contribute code to the LE
Cloning the repo
----------------
.. note::
- Stable releases will be in *master* branch (nothing there yet, move on!).
+ Stable releases are in *master* branch.
Development code lives in *develop* branch.
::
git clone git://leap.se/leap_client
+ git checkout develop
Base Dependencies
------------------
Leap client depends on these libraries:
* `python 2.6 or 2.7`
-* `qt4` libraries (see also :ref:`Troubleshooting PyQt install <pyqtvirtualenv>` about how to install inside your virtualenv)
+* `qt4` libraries (see also :ref:`Troubleshooting PySide install <pysidevirtualenv>` about how to install inside your virtualenv)
* `openssl`
* `openvpn <http://openvpn.net/index.php/open-source/345-openvpn-project.html>`_
@@ -28,7 +29,7 @@ Debian
^^^^^^
In debian-based systems::
- $ apt-get install openvpn python-qt4 python-crypto python-openssl
+ $ apt-get install openvpn python-pyside python-openssl
To install the software from sources::
@@ -50,6 +51,10 @@ The basic problem being addressed is one of dependencies and versions, and indir
Read more about it in the `project documentation page <http://pypi.python.org/pypi/virtualenv/>`_.
+.. note::
+ this section could be completed with useful options that can be passed to the virtualenv command (e.g., to make portable paths, site-packages, ...). We also should document how to use virtualenvwrapper.
+
+
Create and activate your dev environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -58,36 +63,36 @@ Create and activate your dev environment
$ virtualenv </path/to/new/environment>
$ source </path/to/new/environment>/bin/activate
-Install python dependencies
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. _pysidevirtualenv:
-You can install python dependencies with pip. If you do it inside your working environment, they will be installed avoiding the need for administrative permissions::
+Avoid compiling PySide inside a virtualenv
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- $ pip install -r pkg/requirements.pip
+If you attempt to install PySide inside a virtualenv as part of the rest of the dependencies using pip, basically it will take ages to compile.
-.. _pyqtvirtualenv:
+As a workaround, you can run the following script after creating your virtualenv. It will symlink to your global PySide installation (*this is the recommended way if you are running a debian-based system*)::
-Troubleshooting PyQt install inside a virtualenv
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ $ pkg/postmkvenv.sh
-If you attempt to install PyQt inside a virtualenv using pip, it will fail because PyQt4 does not use the standard setup.py mechanism.
+A second option if that does not work for you would be to install PySide globally and pass the ``--site-packages`` option when you are creating your virtualenv::
-As a workaround, you can run the following script after creating your virtualenv. It will symlink to your global PyQt installation (*this is the recommended way if you are running a debian-based system*)::
+ $ apt-get install python-pyside
+ $ virtualenv --site-packages .
- $ pkg/postmkvenv.sh
+After that, you must export ``LEAP_VENV_SKIP_PYSIDE`` to skip the isntallation::
-A second option if that does not work for you would be to install PyQt globally and pass the ``--site-packages`` option when you are creating your virtualenv::
+ $ export LEAP_VENV_SKIP_PYSIDE=1
- $ apt-get install python-qt4
- $ virtualenv --site-packages .
+And now you are ready to proceed with the next section.
-Or, if you prefer, you can also `download the official PyQt tarball <http://www.riverbankcomputing.com/software/pyqt/download>`_ and execute ``configure.py`` in the root folder of their distribution, which generates a ``Makefile``::
+.. _pydepinstall:
- $ python configure.py
- $ make && make install
+Install python dependencies
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
-.. note::
- this section could be completed with useful options that can be passed to the virtualenv command (e.g., to make portable paths, site-packages, ...).
+You can install python dependencies with ``pip``. If you do it inside your working environment, they will be installed avoiding the need for administrative permissions::
+
+ $ pip install -r pkg/requirements.pip
.. _copyscriptfiles:
@@ -95,7 +100,7 @@ Or, if you prefer, you can also `download the official PyQt tarball <http://www.
Copy script files
-----------------
-The openvpn invocation expects some files to be in place. If you have not installed `leap-client` from a debian package, you must copy these files manually::
+The openvpn invocation expects some files to be in place. If you have not installed `leap-client` from a debian package, you must copy these files manually by now::
$ sudo mkdir -p /etc/leap
$ sudo cp pkg/linux/resolv-update /etc/leap