From 7a58425cbb090acb3777b602bd3350581f7b30e8 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 3 Oct 2012 21:23:38 +0900 Subject: updated readme with some clarifications hopefully it's a bit more clear now. developer: feedback welcome. are you able to get it running with the instructions listed here? --- README.rst | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 README.rst (limited to 'README.rst') diff --git a/README.rst b/README.rst new file mode 100644 index 00000000..56780848 --- /dev/null +++ b/README.rst @@ -0,0 +1,139 @@ +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 + +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. -- cgit v1.2.3 From 02f051488a358b6f0dd056f8bad4337808281457 Mon Sep 17 00:00:00 2001 From: kali Date: Fri, 5 Oct 2012 10:19:34 +0900 Subject: deps comments --- README.rst | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 56780848..03a6732f 100644 --- a/README.rst +++ b/README.rst @@ -14,11 +14,20 @@ Listed in pkg/requirements.pip and pkg/test-requirements.pip * qt4 libraries * python-qt4 * python-gnutls == 1.1.9 +* python-keyring * 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 + apt-get install python-qt4 python-qt4-doc pyqt4-dev-tools python-gnutls libgnutls-dev python-setuptools python-nose + +# **note**: I think setuptools is needed for build process only. +# we should separate what's needed as a lib dependency, and what's a dependency that has been debianized but +# still can be retrieved using pip. + +If you are installing in a virtualenv: + + pip install -r pkg/requirements.pip Install PyQt @@ -55,7 +64,7 @@ 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 +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 % leap-springbok-client @@ -74,6 +83,7 @@ Development Hack -------------- + Some steps to be run when setting a development environment for the first time. # recommended: enable a virtualenv to isolate your libraries. -- cgit v1.2.3 From a411970c18a5150d10a065c0285148489fcd76d3 Mon Sep 17 00:00:00 2001 From: kali Date: Fri, 5 Oct 2012 20:07:56 +0900 Subject: testing hint --- README.rst | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 56780848..2172c469 100644 --- a/README.rst +++ b/README.rst @@ -118,11 +118,20 @@ 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 + tox -v Compiling resource/ui files -- cgit v1.2.3 From c7cfb8fcef773b84738e36b6d0c27487cf8e952a Mon Sep 17 00:00:00 2001 From: kali Date: Sat, 6 Oct 2012 03:32:03 +0900 Subject: comments on install --- README.rst | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 2172c469..acdcf07e 100644 --- a/README.rst +++ b/README.rst @@ -20,6 +20,13 @@ 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 +# **note**: I _think_ setuptools is needed for build process only. +# we should separate what's needed as a global lib dependency, and what's a dependency that +# still can be retrieved using pip. + +If you are installing in a virtualenv: + pip install -r pkg/requirements.pip + Install PyQt ------------ -- cgit v1.2.3 From bf8c6b19b05e73a6e59b8884e1d26a730df6188b Mon Sep 17 00:00:00 2001 From: kali Date: Mon, 8 Oct 2012 08:33:06 +0900 Subject: another pass towards a clearer README --- README.rst | 154 ++++++++++++++++++++++++++++++++----------------------------- 1 file changed, 80 insertions(+), 74 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 183229fe..dd8ee425 100644 --- a/README.rst +++ b/README.rst @@ -1,88 +1,105 @@ -LEAP -The LEAP Encryption Access Project -your internet encryption toolkit +========================================= +The LEAP Encryption Access Project Client +========================================= + +*your internet encryption toolkit* Installation ============= -Dependencies --------------- -Listed in pkg/requirements.pip and pkg/test-requirements.pip +Base Dependencies +------------------ +Leap client depends on these libraries: * python 2.6 or 2.7 -* python setuptools -* qt4 libraries +* qt4 libraries (see installing Qt section below) +* libgnutls + +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) -If you are on a debian-based system, you can run: +Under 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 + apt-get install python-qt4 python-gnutls python-keyring python-crypto + +For testing: -# **note**: I think setuptools is needed for build process only. -# we should separate what's needed as a lib dependency, and what's a dependency that has been debianized but -# still can be retrieved using pip. + python-nose python-mock -If you are installing in a virtualenv: +For building the package you will need also:: - pip install -r pkg/requirements.pip + pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev -# **note**: I _think_ setuptools is needed for build process only. -# we should separate what's needed as a global lib dependency, and what's a dependency that -# still can be retrieved using pip. - -If you are installing in a virtualenv: +# **note**: Some libs like setuptools are needed as build-deps only. +# TODO we probably should separate what's needed as a global lib dependency, and what's a dependency that still can be retrieved using pip. + +Install python dependencies with pip +------------------------------------- +Use pip (preferrable inside a virtualenv) to install all the required python packages:: + + apt-get install python-pip pip install -r pkg/requirements.pip 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. +If you are using pip as your python packaging tool, 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 + 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. +* 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 ---------------- +Install leap-client +------------------- + +After getting the sources and installing all the dependencies, proceed to install leap-client package: # need to run this if you are installing from the git source tree -# not needed if installing from a tarball. +# not needed if installing from a tarball:: -python setup.py branding + python setup.py branding -# run this if you have installed previous versions before +# run this if you have installed previous versions before:: -python setup.py clean + python setup.py clean -python setup.py install # as root if installing globally. +And finally, build and install leap-client:: + 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 infix that -depends on your build flavor. Look for it in /usr/local/bin +depends on your build flavor. Look for it in ``/usr/local/bin``:: -% leap-springbok-client + % leap-springbok-client -In order to run in debub mode: +In order to run the client in debug mode:: -% leap-springbok-client --debug --logfile /tmp/leap.log + % leap-springbok-client --debug --logfile /tmp/leap.log -To see all options: +To see all the available command line options:: -% leap-springbok-client --help + % leap-springbok-client --help Development @@ -93,60 +110,52 @@ 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 +# recommended: enable a **virtualenv** to isolate your libraries:: -# make sure you're in the development branch + % virtualenv . # ensure your .gitignore knows about it + % source bin/activate -(leap_client)% git checkout develop +# make sure you are in the development branch:: -(leap_client)% pkg/postmkvenv.sh - -(leap_client)% python setup.py branding -(leap_client)% python setup.py develop + (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: +it's recommended to run the app like this during development cycle:: -(leap_client)% cd src/leap -(leap_client)% python app.py --debug + (leap_client)% cd src/leap + (leap_client)% python app.py --debug Install testing dependencies ---------------------------- -have a look at setup/test-requires +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 +There is a convenience script at ``./run_tests.sh`` -or +If you want to run specific tests, pass the (sub)module to nose:: + nosetests leap.util -nosetests leap.util.test_leap_argparse +or:: + nosetests leap.util.test_leap_argparse -Colorized output ----------------- -Install rednose locally and activate it. +Hint: colorized output +---------------------- +Install ``rednose`` locally and activate it, and give your eyes a rest :):: (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: +For running testsuite against all the supported python versions (currently 2.6 and 2.7), run:: tox -v @@ -154,12 +163,9 @@ For running testsuite against all the supported python versions (currently 2.6 a 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: +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 + 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. +As there are some tests to guard against unwanted resource updates, you will have to update the resource hash in those failing tests. -- cgit v1.2.3 From f751247efd8b941989b4f72397bda03e66dee7c0 Mon Sep 17 00:00:00 2001 From: antialias Date: Mon, 8 Oct 2012 16:15:30 -0400 Subject: added openvpn to debian install line added python-coverage to testing install line rewrote PyQt installation instructions fixed pkg/test-requirements lines fixed nosetest example (#740) --- README.rst | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index dd8ee425..5ba47f5d 100644 --- a/README.rst +++ b/README.rst @@ -29,11 +29,11 @@ Debian systems Under a debian-based system, you can run:: - apt-get install python-qt4 python-gnutls python-keyring python-crypto + apt-get install openvpn python-qt4 python-gnutls python-keyring python-crypto For testing: - python-nose python-mock + python-nose python-mock python-coverage For building the package you will need also:: @@ -52,19 +52,18 @@ Use pip (preferrable inside a virtualenv) to install all the required python pac Install PyQt ------------ -If you are using pip as your python packaging tool, 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 +If you attempt to install PyQt using pip, it will fail because PyQt4 does not use the standard setup.py mechanism. You can: - -* recommended run pkg/postmkvenv.sh after creating your virtualenv. It will symlink to your global PyQt installation. +* 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 * run pkg/install_pyqt.sh inside your virtualenv (with --no-site-packages) +When installing from the tarball, it uses configure.py which generates a Makefile:: + + python configure.py + make && make install + Install leap-client ------------------- @@ -131,7 +130,7 @@ it's recommended to run the app like this during development cycle:: Install testing dependencies ---------------------------- -have a look at ``setup/test-requires`` +have a look at ``pkg/test-requirements.pip`` The ./run_tests.sh command should install all of them in your virtualenv for you. Running tests @@ -143,7 +142,7 @@ If you want to run specific tests, pass the (sub)module to nose:: nosetests leap.util or:: - nosetests leap.util.test_leap_argparse + nosetests leap.util.tests.test_leap_argparse Hint: colorized output ---------------------- -- cgit v1.2.3 From 9a0b07a12bc171a776a329d1f85e32be37c06254 Mon Sep 17 00:00:00 2001 From: antialias Date: Mon, 8 Oct 2012 17:12:20 -0400 Subject: Add the address of the LEAP client repository. --- README.rst | 3 +++ 1 file changed, 3 insertions(+) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 5ba47f5d..35570992 100644 --- a/README.rst +++ b/README.rst @@ -107,6 +107,9 @@ Development Hack -------------- +The LEAP client git repository is available at: +git://leap.se/leap_client + Some steps to be run when setting a development environment for the first time. # recommended: enable a **virtualenv** to isolate your libraries:: -- cgit v1.2.3 From 0d17f1accabdf77ed5d227fdc4e2b329b3267527 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 10 Oct 2012 04:48:35 +0900 Subject: moved pyqt troubleshooting section to development --- README.rst | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 35570992..aadaed4e 100644 --- a/README.rst +++ b/README.rst @@ -14,6 +14,7 @@ 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`` @@ -50,25 +51,10 @@ Use pip (preferrable inside a virtualenv) to install all the required python pac pip install -r pkg/requirements.pip -Install PyQt ------------- -If you attempt to install PyQt using pip, it will fail because PyQt4 does not use the standard setup.py mechanism. - -You can: -* 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 -* run pkg/install_pyqt.sh inside your virtualenv (with --no-site-packages) - -When installing from the tarball, it uses configure.py which generates a Makefile:: - - python configure.py - make && make install - - Install leap-client ------------------- -After getting the sources and installing all the dependencies, proceed to install leap-client package: +After getting the source and installing all the dependencies, proceed to install ``leap-client`` package: # need to run this if you are installing from the git source tree # not needed if installing from a tarball:: @@ -104,13 +90,28 @@ To see all the available command line options:: 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. + +As a workaround, you can: + + * 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 + +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 + + Hack -------------- The LEAP client git repository is available at: git://leap.se/leap_client -Some steps to be run when setting a development environment for the first time. +Some steps need to be run when setting a development environment for the first time. # recommended: enable a **virtualenv** to isolate your libraries:: -- cgit v1.2.3 From 5c86e71493c433fbee49a3fdc8f8f3a537b3311e Mon Sep 17 00:00:00 2001 From: k clair Date: Tue, 9 Oct 2012 15:59:44 -0700 Subject: some corrections to the README file: * the python-gnutls debian package is not a requirement since it is the wrong version * python-dev and libgnutls-dev are needed to install the python packages via pip --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index aadaed4e..50fa886d 100644 --- a/README.rst +++ b/README.rst @@ -30,8 +30,8 @@ Debian systems Under a debian-based system, you can run:: - apt-get install openvpn python-qt4 python-gnutls python-keyring python-crypto - + apt-get install openvpn python-qt4 python-keyring python-crypto + For testing: python-nose python-mock python-coverage @@ -47,7 +47,7 @@ Install python dependencies with pip ------------------------------------- Use pip (preferrable inside a virtualenv) to install all the required python packages:: - apt-get install python-pip + apt-get install python-pip python-dev libgnutls-dev pip install -r pkg/requirements.pip -- cgit v1.2.3 From dca30766421cc692726c61fe2d502ae263e6121b Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 11 Oct 2012 09:03:51 +0900 Subject: added NEWS.rst and removed notes from README.rst --- README.rst | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 50fa886d..d1f91c4b 100644 --- a/README.rst +++ b/README.rst @@ -30,25 +30,23 @@ Debian systems Under a debian-based system, you can run:: - apt-get install openvpn python-qt4 python-keyring python-crypto + # apt-get install openvpn python-qt4 python-keyring python-crypto For testing: python-nose python-mock python-coverage -For building the package you will need also:: +For _building_ the package you will need to install also:: pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev -# **note**: Some libs like setuptools are needed as build-deps only. -# TODO we probably should separate what's needed as a global lib dependency, and what's a dependency that still can be retrieved using pip. Install python dependencies with pip ------------------------------------- Use pip (preferrable inside a virtualenv) to install all the required python packages:: - apt-get install python-pip python-dev libgnutls-dev - pip install -r pkg/requirements.pip + # apt-get install python-pip python-dev libgnutls-dev + % pip install -r pkg/requirements.pip Install leap-client @@ -160,7 +158,7 @@ Tox --- For running testsuite against all the supported python versions (currently 2.6 and 2.7), run:: - tox -v + % tox -v Compiling resource/ui files @@ -168,7 +166,7 @@ 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 + % 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. -- cgit v1.2.3 From 691b40fd6d593d1b9af316d1108258f02a305a70 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 24 Oct 2012 04:31:27 +0900 Subject: revoved all refs to branded client from README --- README.rst | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index d1f91c4b..e6b203b7 100644 --- a/README.rst +++ b/README.rst @@ -54,11 +54,6 @@ Install leap-client After getting the source and installing all the dependencies, proceed to install ``leap-client`` package: -# 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 @@ -71,18 +66,17 @@ And finally, build and install leap-client:: 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``:: +After a successful installation, there should be a launcher called leap-client somewhere in your path:: - % leap-springbok-client + % leap-client In order to run the client in debug mode:: - % leap-springbok-client --debug --logfile /tmp/leap.log + % leap-client --debug --logfile /tmp/leap.log To see all the available command line options:: - % leap-springbok-client --help + % leap-client --help Development @@ -120,7 +114,6 @@ Some steps need to be run when setting a development environment for the first t (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, -- cgit v1.2.3 From 6de7d4ca4b018b00a02df27656cce536bb7c72e3 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 24 Oct 2012 08:44:15 +0900 Subject: add notes about version freezings and couple of TODOs --- README.rst | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index e6b203b7..cc30c544 100644 --- a/README.rst +++ b/README.rst @@ -20,17 +20,21 @@ Python packages are listed in ``pkg/requirements.pip`` and ``pkg/test-requiremen Debian systems -------------- +# XXX TODO: move to packaging doc. * 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) +Note: these two need a version that is not found in the current debian stable or in ubuntu 12.04. + +* python-gnutls == 1.1.9 +* python-keyring + Under a debian-based system, you can run:: - # apt-get install openvpn python-qt4 python-keyring python-crypto + # apt-get install openvpn python-qt4 python-crypto For testing: @@ -43,7 +47,9 @@ For _building_ the package you will need to install also:: Install python dependencies with pip ------------------------------------- -Use pip (preferrable inside a virtualenv) to install all the required python packages:: +# XXX TODO: move to developers doc. + +Use pip (preferrable inside a virtualenv) to install the required python packages:: # apt-get install python-pip python-dev libgnutls-dev % pip install -r pkg/requirements.pip -- cgit v1.2.3 From 5c0eb246d468454de9e84dca0d08c813459a5a6d Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 19 Dec 2012 07:45:02 +0900 Subject: documentation update! reSTructured (no pun intended) the sphinx docs, and trimmed README --- README.rst | 172 ++++++++++++++++++++++--------------------------------------- 1 file changed, 63 insertions(+), 109 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index cc30c544..d8e055da 100644 --- a/README.rst +++ b/README.rst @@ -4,168 +4,122 @@ The LEAP Encryption Access Project Client *your internet encryption toolkit* -Installation +Read the docs! +============== + +You can read the documentation online at `http://leap-client.readthedocs.org `_. If you prefer to build it locally, run:: + + $ cd docs + $ make html + +Quick Start ============= -Base Dependencies +Dependencies ------------------ + Leap client depends on these libraries: -* python 2.6 or 2.7 -* qt4 libraries (see installing Qt section below) -* libgnutls -* openvpn +* ``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 --------------- -# XXX TODO: move to packaging doc. - -* python-qt4 -* python-crypto -* python setuptools -* python-nose, python-mock, python-coverage (if you want to run tests) - -Note: these two need a version that is not found in the current debian stable or in ubuntu 12.04. - -* python-gnutls == 1.1.9 -* python-keyring +Debian +^^^^^^ Under a debian-based system, you can run:: - # apt-get install openvpn python-qt4 python-crypto + $ apt-get install openvpn python-qt4 python-crypto python-requests python-gnutls -For testing: +For *testing*:: - python-nose python-mock python-coverage + $ apt-get install python-nose python-mock python-coverage -For _building_ the package you will need to install also:: +For *building* the package you will need to install also:: - pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev + $ apt-get install pyqt4-dev-tools libgnutls-dev python-setuptools python-all-dev -Install python dependencies with pip -------------------------------------- -# XXX TODO: move to developers doc. +pip +^^^ -Use pip (preferrable inside a virtualenv) to install the required python packages:: +Use pip to install the required python packages:: - # apt-get install python-pip python-dev libgnutls-dev - % pip install -r pkg/requirements.pip + $ apt-get install python-pip python-dev libgnutls-dev + $ pip install -r pkg/requirements.pip -Install leap-client -------------------- +Installing +----------- After getting the source and installing all the dependencies, proceed to install ``leap-client`` package: -# run this if you have installed previous versions before:: - - python setup.py clean +.. note:: + if you have installed previous versions before:: + python setup.py clean And finally, build and install leap-client:: - python setup.py install # as root if installing globally. + python setup.py install -Running the App ------------------ +Running +------- -After a successful installation, there should be a launcher called leap-client somewhere in your path:: +After a successful installation, there should be a launcher called ``leap-client`` somewhere in your path:: % leap-client -In order to run the client in debug mode:: - - % leap-client --debug --logfile /tmp/leap.log - -To see all the available command line options:: - - % leap-client --help +Hacking +======= -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. - -As a workaround, you can: - - * 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 - -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 +.. note:: + link to Hackers Guide in documentation. +The LEAP client git repository is available at:: -Hack --------------- - -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 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:: -Install testing dependencies ----------------------------- + $ virtualenv . # ensure your .gitignore knows about it + $ 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 also install all of them 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:: docs/user/intro/gpl.* - % 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 -- cgit v1.2.3 From 0bb7a486ae2aaf8171afcbe6a9846cbd5a99e0a5 Mon Sep 17 00:00:00 2001 From: kali Date: Wed, 19 Dec 2012 23:55:03 +0900 Subject: fix links to online docs --- README.rst | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index d8e055da..be47a125 100644 --- a/README.rst +++ b/README.rst @@ -7,13 +7,15 @@ The LEAP Encryption Access Project Client Read the docs! ============== -You can read the documentation online at `http://leap-client.readthedocs.org `_. If you prefer to build it locally, run:: +You can read the documentation online at `http://leap-client.readthedocs.org `_. If you prefer to build it locally, run:: $ cd docs $ make html Quick Start -============= +============== + +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`_ for a quick howto on fetching and testing latest development code. Dependencies ------------------ @@ -21,7 +23,7 @@ Dependencies Leap client depends on these libraries: * ``python 2.6`` or ``2.7`` -* ``qt4 libraries`` (see installing Qt section below) +* ``qt4 libraries`` * ``libgnutls`` * ``openvpn`` @@ -55,15 +57,9 @@ Use pip to install the required python packages:: Installing ----------- -After getting the source and installing all the dependencies, proceed to install ``leap-client`` package: - -.. note:: - if you have installed previous versions before:: - python setup.py clean - -And finally, build and install leap-client:: +After getting the source and installing all the dependencies, proceed to install ``leap-client`` package:: - python setup.py install + $ python setup.py install Running @@ -71,14 +67,13 @@ Running After a successful installation, there should be a launcher called ``leap-client`` somewhere in your path:: - % leap-client + $ leap-client Hacking ======= -.. note:: - link to Hackers Guide in documentation. +See the `hackers guide`_ The LEAP client git repository is available at:: @@ -118,7 +113,7 @@ which the first time should also install all of them in your virtualenv for you. License ======= -.. image:: docs/user/intro/gpl.* +.. image:: https://raw.github.com/leapcode/leap_client/develop/docs/user/gpl.png The LEAP Client is released under the terms of the `GNU GPL version 3`_ or later. -- cgit v1.2.3 From 6a8b5c24571251cb39e8d83333b0450e8324dcbe Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 20 Dec 2012 01:30:18 +0900 Subject: add links to pyqt and openvpn --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index be47a125..01e1c151 100644 --- a/README.rst +++ b/README.rst @@ -81,9 +81,9 @@ The LEAP client git repository is available at:: Some steps need to be run when setting a development environment for the first time. -Enable a **virtualenv** to isolate your libraries:: +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 **):: - $ virtualenv . # ensure your .gitignore knows about it + $ virtualenv . $ source bin/activate Make sure you are in the development branch:: @@ -108,7 +108,7 @@ To run the test suite:: $ ./run_tests.sh -which the first time should also install all of them in your virtualenv for you. +which the first time should automagically install all the needed dependencies in your virtualenv for you. License ======= -- cgit v1.2.3 From b0c3c9194447f20306111a31ee5a6d4828fed158 Mon Sep 17 00:00:00 2001 From: kali Date: Fri, 21 Dec 2012 07:43:16 +0900 Subject: readme typos, updated translation docs --- README.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 01e1c151..9ef3f99b 100644 --- a/README.rst +++ b/README.rst @@ -15,12 +15,12 @@ You can read the documentation online at `http://leap-client.readthedocs.org `_ for a quick howto on fetching and testing latest development code. +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 `_ for a quick howto on fetching and testing latest development code. Dependencies ------------------ -Leap client depends on these libraries: +LEAP Client depends on these libraries: * ``python 2.6`` or ``2.7`` * ``qt4 libraries`` @@ -73,7 +73,7 @@ After a successful installation, there should be a launcher called ``leap-client Hacking ======= -See the `hackers guide`_ +See the `hackers guide `_. The LEAP client git repository is available at:: -- cgit v1.2.3 From 8c5882d3263cd828ee2fa3abd1ebb855521222f7 Mon Sep 17 00:00:00 2001 From: kali Date: Thu, 31 Jan 2013 07:13:29 +0900 Subject: remove libgnutls from readme --- README.rst | 1 - 1 file changed, 1 deletion(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 9ef3f99b..08c8e38d 100644 --- a/README.rst +++ b/README.rst @@ -24,7 +24,6 @@ LEAP Client depends on these libraries: * ``python 2.6`` or ``2.7`` * ``qt4 libraries`` -* ``libgnutls`` * ``openvpn`` Python packages are listed in ``pkg/requirements.pip`` and ``pkg/test-requirements.pip`` -- cgit v1.2.3