summaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst148
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.