summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.tx/config3
-rw-r--r--docs/conf.py2
-rw-r--r--docs/dev/environment.rst66
-rw-r--r--docs/dev/internationalization.rst45
-rw-r--r--docs/index.rst5
-rw-r--r--docs/testers/howto.rst11
7 files changed, 116 insertions, 17 deletions
diff --git a/.gitignore b/.gitignore
index 3a961a9c..276f782a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@
*.pyc
.*
!.coveragerc
+!.tx
bin/
build/
core
diff --git a/.tx/config b/.tx/config
new file mode 100644
index 00000000..f1603f25
--- /dev/null
+++ b/.tx/config
@@ -0,0 +1,3 @@
+[main]
+host = https://www.transifex.com
+
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
^^^^^^^^^^^^