diff options
Diffstat (limited to 'docs/dev/environment.rst')
-rw-r--r-- | docs/dev/environment.rst | 61 |
1 files changed, 33 insertions, 28 deletions
diff --git a/docs/dev/environment.rst b/docs/dev/environment.rst index c3868b81..7ce536f9 100644 --- a/docs/dev/environment.rst +++ b/docs/dev/environment.rst @@ -3,24 +3,25 @@ Setting up a development environment ==================================== -This document covers how to get an enviroment ready to contribute code to the LEAP Client. +This document covers how to get an enviroment ready to contribute code to Bitmask. 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 clone git://leap.se/bitmask + git checkout develop Base Dependencies ------------------ -Leap client depends on these libraries: +Bitmask 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,10 +100,10 @@ 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 `bitmask` 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 + $ sudo cp pkg/linux/resolv-update /etc/leap .. _policykit: @@ -106,9 +111,9 @@ Running openvpn without root privileges --------------------------------------- In linux, we are using ``policykit`` to be able to run openvpn without root privileges, and a policy file is needed to be installed for that to be possible. -The setup script tries to install the policy file when installing the client system-wide, so if you have installed the client in your global site-packages at least once it should have copied this file for you. +The setup script tries to install the policy file when installing bitmask system-wide, so if you have installed bitmask in your global site-packages at least once it should have copied this file for you. -If you *only* are running the client from inside a virtualenv, you will need to copy this file by hand:: +If you *only* are running bitmask from inside a virtualenv, you will need to copy this file by hand:: $ sudo cp pkg/linux/polkit/net.openvpn.gui.leap.policy /usr/share/polkit-1/actions/ |