diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..2172c469 --- /dev/null +++ b/README.rst @@ -0,0 +1,148 @@ +LEAP +The LEAP Encryption Access Project +your internet encryption toolkit + +Installation +============= + +Dependencies +-------------- +Listed in pkg/requirements.pip and pkg/test-requirements.pip + +* python 2.6 or 2.7 +* python setuptools +* qt4 libraries +* python-qt4 +* python-gnutls == 1.1.9 +* python-nose, python-mock, python-coverage (if you want to run tests) + +If you are on a debian-based system, you can run: + +apt-get install python-qt4 python-qt4-doc pyqt4-dev-tools python-gnutls libgnutls-dev python-setuptools python-nose + + +Install PyQt +------------ +pip install PyQt will fail because PyQt4 does not use the standard setup.py mechanism. +Instead, they use configure.py which generates a Makefile. + +python configure.py +make && make install + +You can: + +* (recommended) run pkg/postmkvenv.sh after creating your virtualenv. It will symlink to your global PyQt installation. +* install PyQt globally and make a virtualenv with --site-packages +* run pkg/install_pyqt.sh inside your virtualenv (with --no-site-packages) + + +Install +--------------- + +# need to run this if you are installing from the git source tree +# not needed if installing from a tarball. + +python setup.py branding + +# run this if you have installed previous versions before + +python setup.py clean + +python setup.py install # as root if installing globally. + + + +Running the App +----------------- + +If you're running a branded build, the script name will have a suffix that +depends on your build flavor. Look for it in /usr/local/bin + +% leap-springbok-client + +In order to run in debub mode: + +% leap-springbok-client --debug --logfile /tmp/leap.log + +To see all options: + +% leap-springbok-client --help + + +Development +============== + +Hack +-------------- +Some steps 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're 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 + +Install testing dependencies +---------------------------- + +have a look at setup/test-requires +The ./run_tests.sh command should install all of them in your virtualenv for you. + +Running tests +------------- + +./run_tests.sh + +force no virtualenv and create coverage reports: +./run_tests.sh -N -c + +if you want to run specific tests, pass the (sub)module to nose: + +nosetests leap.util + +or + +nosetests leap.util.test_leap_argparse + +Colorized output +---------------- +Install rednose locally and activate it. + + (leap_client)% pip install rednose + (leap_client)% export NOSE_REDNOSE=1 + +enjoy :) + +Tox +--- +For running testsuite against all the supported python versions (currently 2.6 and 2.7), run: + + tox -v + + +Compiling resource/ui files +----------------------------- + +You should refresh resource/ui files every time you +change an image or a resource/ui (.ui / .qc). From +the root folder: + +make ui +make resources + +As there are some tests to guard against unwanted resource updates, +you will have to update the resource hash in those failing tests. |