diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/conf.py | 2 | ||||
-rw-r--r-- | docs/dev/environment.rst | 66 | ||||
-rw-r--r-- | docs/dev/internationalization.rst | 45 | ||||
-rw-r--r-- | docs/index.rst | 5 | ||||
-rw-r--r-- | docs/testers/howto.rst | 11 |
5 files changed, 112 insertions, 17 deletions
diff --git a/docs/conf.py b/docs/conf.py index c95a9941..05c8cf5b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -41,7 +41,7 @@ master_doc = 'index' # General information about the project. project = u'LEAP' -copyright = u'2012, The Leap Project' +copyright = u'2012, The LEAP Encryption Access Project' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/docs/dev/environment.rst b/docs/dev/environment.rst index 7eafcdea..55696537 100644 --- a/docs/dev/environment.rst +++ b/docs/dev/environment.rst @@ -5,6 +5,16 @@ Setting up a Work Environment This document covers how to get an enviroment ready to contribute code to the LEAP Client. +Cloning the repo +---------------- +.. note:: + Stable releases will be in *master* branch (nothing there yet, move on!). + Development code lives in *develop* branch. + +:: + + git clone git://leap.se/leap_client + Base Dependencies ------------------ Leap client depends on these libraries: @@ -14,21 +24,43 @@ Leap client depends on these libraries: * `libgnutls` * `openvpn` +In debian-based systems:: + + $ apt-get install openvpn python-qt4 python-crypto python-gnutls + +To install the software from sources:: + + $ apt-get install python-pip python-dev libgnutls-dev + .. _virtualenv: Working with virtualenv ----------------------- -Intro to virtualenv +Intro ^^^^^^^^^^^^^^^^^^^ -Virtualenv blah blah + +*Virtualenv* is the *Virtual Python Environment builder*. + +It is a tool to create isolated Python environments. + +The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded. + +Read more about it in the `project documentation page <http://pypi.python.org/pypi/virtualenv/>`_. + + +Create and activate your dev environment +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +:: + + $ virtualenv </path/to/new/environment> + $ source </path/to/new/environment>/bin/activate Install python dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -You can install python dependencies with pip:: +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:: - $ apt-get install python-pip python-dev libgnutls-dev $ pip install -r pkg/requirements.pip .. _pyqtvirtualenv: @@ -38,7 +70,7 @@ Troubleshooting PyQt install inside a virtualenv If you attempt to install PyQt inside a virtualenv using pip, it will fail because PyQt4 does not use the standard setup.py mechanism. -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`):: +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*):: $ pkg/postmkvenv.sh @@ -52,8 +84,26 @@ Or, if you prefer, you can also download the official PyQt tarball and execute ` $ python configure.py $ make && make install +.. 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, ...). -Cloning the repo ----------------- -`XXX` + +.. _policykit: + +Running openvpn without root privileges +--------------------------------------- + +In linux, we are using ``policykit`` to be able to run openvpn without run 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. + +If you *only* are running the client 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/net.openvpn.gui.leap.policy + +Missing Authentication agent +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If you are running a desktop other than gnome or unity, you might get an error saying that you are not running the authentication agent. You can launch it like this:: + + /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 & diff --git a/docs/dev/internationalization.rst b/docs/dev/internationalization.rst index 4e75739b..6cbc6f72 100644 --- a/docs/dev/internationalization.rst +++ b/docs/dev/internationalization.rst @@ -10,16 +10,51 @@ Because we want to *bring fire to the people*, in as many countries and language We should probably move the translators info to a top level section of the docs, and leave this as internal/tech-savvy notes. -Translate the Qt App --------------------- +Translating the LEAP Client PyQt Application +-------------------------------------------- +.. raw:: html + + <div> <a target="_blank" style="text-decoration:none; color:black; font-size:66%" href="https://www.transifex.com/projects/p/leap-client/resource/leap_client_es/" title="See more information on Transifex.com">Top translations: leap-client ยป leap_client_es</a><br/> <img border="0" src="https://www.transifex.com/projects/p/leap-client/resource/leap_client_es/chart/image_png"/><br/><a target="_blank" href="https://www.transifex.com/"><img border="0" src="https://ds0k0en9abmn1.cloudfront.net/static/charts/images/tx-logo-micro.646b0065fce6.png"/></a></div> + + +For translators +^^^^^^^^^^^^^^^ .. note:: ... unfinished -`transifex <transifex.com/>`_ +We are using `transifex <http://transifex.com/projects/p/leap-client>`_ site to coordinate translation efforts. If you want to contribute, just sign up there and ... + +.. note:: + ... and what?? + +For devs: i18n conventions +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. note:: + should link to PyQt docs on i18n + also our special cases (labels and exceptions) + +tl;dr;:: + + self.tr('your string') + +for any string that you want to be translated. + +For i18n maintainers +^^^^^^^^^^^^^^^^^^^^ + +.. note:: + + how do we use the transifex client; automation. + +If you do not already have it, install the ``transifex-client`` from the cheese shop:: + + pip install transifex-client + -Translate the Documentation ---------------------------- +Translating the Documentation +------------------------------ .. note:: ...unfinished diff --git a/docs/index.rst b/docs/index.rst index 5ccc6609..017fa32c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,12 +3,13 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -LEAP Encryption Access Project Client +LEAP Client ===================================== Release v\ |version|. (`Impatient? jump to the` :ref:`Installation <install>` `section!`) -The **LEAP Client** is a :ref:`GPL3 Licensed <gpl3>` multiplatform client, written in python using PyQt4, that supports the features offered by :ref:`the LEAP Platform <leapplatform>`. Currently is being tested on Linux, support for OSX and Windows will come soon. +.. if you change this paragraph, change it in user/intro too +The **LEAP Encryption Access Project Client** is a :ref:`GPL3 Licensed <gpl3>` multiplatform client, written in python using PyQt4, that supports the features offered by :ref:`the LEAP Platform <leapplatform>`. Currently is being tested on Linux, support for OSX and Windows will come soon. User Guide ---------- diff --git a/docs/testers/howto.rst b/docs/testers/howto.rst index f46711b4..6212ed72 100644 --- a/docs/testers/howto.rst +++ b/docs/testers/howto.rst @@ -27,11 +27,15 @@ First, install all the base dependencies plus git, virtualenv and development fi Bootstrap script ^^^^^^^^^^^^^^^^ .. note:: getting latest version of this script. + At some moment we will publish an url from where you can download this script. For now, you can copy and paste this. .. note:: This will fetch the *develop* branch. If you want to test another branch, just change it in the line starting with *pip install...*. Alternatively, bug kali so she add an option branch to a decent script. +.. note:: + This script could make use of the after_install hook. Read http://pypi.python.org/pypi/virtualenv/ + Then copy and paste this script somewhere in your path, in the parent folder where you want your testing build to be downloaded. For instance, to `/tmp/leap_client_bootstrap`: .. code-block:: bash @@ -109,7 +113,12 @@ Thus, if you forget to *activate your virtualenv*, the client will not run from from the directory where you *sourced* the bootstrap script. -Refer to :ref:`Using virtualenv <virtualenv>` to learn more about virtualenv. +Refer to :ref:`Working with virtualenv <virtualenv>` to learn more about virtualenv. + +Policy files +^^^^^^^^^^^^ + +If you have never installed the ``leap-client`` globally, **you need to copy a policykit file to its proper path before running it for the first time** (you only need to do this once). This, unless the virtualenv-based operations, will need root permissions. See :ref:`running openvpn without root privileges <policykit>` section for more info on this. Config files ^^^^^^^^^^^^ |