summaryrefslogtreecommitdiff
path: root/README.txt
blob: 238cd1e30a478bd60c51801c5708d67e6beaf647 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
========================================
=               LEAP                   =
=  The LEAP Encryption Access Project  =
=   your internet encryption toolkit   =
========================================

Installation
=============

Dependencies
--------------

* python <= 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
---------------

Global install:
sudo python setup.py install

If using virtualenv:
python setup.py install

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:

* install PyQt globally and make a virtualenv with --site-packages
* run pkg/install_pyqt.sh inside your virtualenv (with --no-site-packages)
* run pkg/postmkvenv.sh after creating your virtualenv, for making symlinks to your global PyQt installation.


Running the App
-----------------

leap-client --debug --logfile /tmp/leap.log

If you're running a branded build, the script name will have a suffix that
depends on your build flavor:

leap-client-springbok

(or python app.py --debug if you run it from the src/leap folder).

Development
==============

Hack
--------------

(recommended)
virtualenv .  # ensure your .gitignore knows about it
source bin/activate
git checkout develop
pkg/postmkvenv.sh

python setup.py branding
python setup.py develop  

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

Tox
---
For running testsuite against all the supported python versions (currently 2.6 and 2.7), run:

tox -v

Test-deps
---------

have a look at setup/test-requires


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