diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 178 |
1 files changed, 63 insertions, 115 deletions
@@ -4,169 +4,117 @@ The LEAP Encryption Access Project Client *your internet encryption toolkit* -Installation -============= - -Base Dependencies ------------------- -Leap client depends on these libraries: - -* python 2.6 or 2.7 -* qt4 libraries (see installing Qt section below) -* libgnutls -* openvpn - -Python packages are listed in ``pkg/requirements.pip`` and ``pkg/test-requirements.pip`` - -Debian systems --------------- - -* python-qt4 -* python-gnutls == 1.1.9 -* python-keyring -* python-crypto -* python setuptools -* python-nose, python-mock, python-coverage (if you want to run tests) - -Under a debian-based system, you can run:: - - # apt-get install openvpn python-qt4 python-keyring python-crypto - -For testing: - - python-nose python-mock python-coverage +Read the docs! +============== -For _building_ the package you will need to install also:: +You can read the documentation online at `http://leap-client.readthedocs.org <http://leap-client.readthedocs.org/en/latest/>`_. If you prefer to build it locally, run:: - pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev + $ cd docs + $ make html +Quick Start +============== -Install python dependencies with pip -------------------------------------- -Use pip (preferrable inside a virtualenv) to install all the required python packages:: +At the current development stage we still do not have any versioned release. Instead, you might want to have a look at the `testers guide <http://leap-client.readthedocs.org/en/latest/testers/howto.html>`_ for a quick howto on fetching and testing latest development code. - # apt-get install python-pip python-dev libgnutls-dev - % pip install -r pkg/requirements.pip +Dependencies +------------------ +LEAP Client depends on these libraries: -Install leap-client -------------------- +* ``python 2.6`` or ``2.7`` +* ``qt4 libraries`` +* ``libgnutls`` +* ``openvpn`` -After getting the source and installing all the dependencies, proceed to install ``leap-client`` package: +Python packages are listed in ``pkg/requirements.pip`` and ``pkg/test-requirements.pip`` -# need to run this if you are installing from the git source tree -# not needed if installing from a tarball:: +Debian +^^^^^^ - python setup.py branding +Under a debian-based system, you can run:: -# run this if you have installed previous versions before:: + $ apt-get install openvpn python-qt4 python-crypto python-requests python-gnutls - python setup.py clean +For *testing*:: -And finally, build and install leap-client:: + $ apt-get install python-nose python-mock python-coverage - python setup.py install # as root if installing globally. +For *building* the package you will need to install also:: + $ apt-get install pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev -Running the App ------------------ -If you're running a branded build, the script name will have a infix that -depends on your build flavor. Look for it in ``/usr/local/bin``:: +pip +^^^ - % leap-springbok-client +Use pip to install the required python packages:: -In order to run the client in debug mode:: + $ apt-get install python-pip python-dev libgnutls-dev + $ pip install -r pkg/requirements.pip - % leap-springbok-client --debug --logfile /tmp/leap.log -To see all the available command line options:: +Installing +----------- - % leap-springbok-client --help +After getting the source and installing all the dependencies, proceed to install ``leap-client`` package:: + $ python setup.py install -Development -============== -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. +Running +------- -As a workaround, you can: +After a successful installation, there should be a launcher called ``leap-client`` somewhere in your path:: - * run pkg/postmkvenv.sh after creating your virtualenv. It will symlink to your global PyQt installation _(recommended)_. - * install PyQt globally and make a virtualenv with --site-packages + $ leap-client -Or, if you prefer, you can download the official PyQt tarball and execute `configure.py` in the root folder of their distribution, which generates a Makefile:: - python configure.py - make && make install +Hacking +======= +See the `hackers guide <http://leap-client.readthedocs.org/en/latest/dev/environment.html>`_. -Hack --------------- +The LEAP client git repository is available at:: -The LEAP client git repository is available at: -git://leap.se/leap_client + git://leap.se/leap_client Some steps need to be run when setting a development environment for the first time. -# recommended: enable a **virtualenv** to isolate your libraries:: - - % virtualenv . # ensure your .gitignore knows about it - % source bin/activate - -# make sure you are in the development branch:: - - (leap_client)% git checkout develop - (leap_client)% pkg/postmkvenv.sh - (leap_client)% python setup.py branding - (leap_client)% python setup.py develop - -to avoid messing with the entry point and global versions installed, -it's recommended to run the app like this during development cycle:: - - (leap_client)% cd src/leap - (leap_client)% python app.py --debug +Enable a **virtualenv** to isolate your libraries. (Current *.gitignore* knows about a virtualenv in the root tree. If you do not like that place, just change ``.`` for *<path.to.environment>*):: -Install testing dependencies ----------------------------- + $ virtualenv . + $ source bin/activate -have a look at ``pkg/test-requirements.pip`` -The ./run_tests.sh command should install all of them in your virtualenv for you. +Make sure you are in the development branch:: -Running tests -------------- + (leap_client)$ git checkout develop -There is a convenience script at ``./run_tests.sh`` +Symlink your global pyqt libraries:: -If you want to run specific tests, pass the (sub)module to nose:: - nosetests leap.util + (leap_client)$ pkg/postmkvenv.sh -or:: - nosetests leap.util.tests.test_leap_argparse +And make your working tree available to your pythonpath:: -Hint: colorized output ----------------------- -Install ``rednose`` locally and activate it, and give your eyes a rest :):: + (leap_client)$ python setup.py develop - (leap_client)% pip install rednose - (leap_client)% export NOSE_REDNOSE=1 +Testing +======= -Tox ---- -For running testsuite against all the supported python versions (currently 2.6 and 2.7), run:: +Have a look at ``pkg/test-requirements.pip`` for the tests dependencies. - % tox -v +To run the test suite:: + $ ./run_tests.sh + +which the first time should automagically install all the needed dependencies in your virtualenv for you. -Compiling resource/ui files ------------------------------ +License +======= -You should refresh resource/ui files every time you change an image or a resource/ui (.ui / .qc). From the root folder:: +.. image:: https://raw.github.com/leapcode/leap_client/develop/docs/user/gpl.png - % make ui - % make resources +The LEAP Client is released under the terms of the `GNU GPL version 3`_ or later. -As there are some tests to guard against unwanted resource updates, you will have to update the resource hash in those failing tests. +.. _`GNU GPL version 3`: http://www.gnu.org/licenses/gpl.txt |