diff options
-rw-r--r-- | MANIFEST.in | 3 | ||||
-rw-r--r-- | README.txt | 36 | ||||
-rwxr-xr-x | pkg/install_pyqt.sh | 10 | ||||
-rwxr-xr-x | pkg/postmkvenv.sh | 19 | ||||
-rw-r--r-- | tox.ini | 12 |
5 files changed, 62 insertions, 18 deletions
diff --git a/MANIFEST.in b/MANIFEST.in index 856d95ef..ff80c7e4 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,3 @@ -# ??? not needed from win -include pkg/linux/polkit/* +include pkg/* include docs/* include pkg/RELEASE_VERSION @@ -23,27 +23,31 @@ apt-get install python-qt4 python-qt4-doc pyqt4-dev-tools python-setuptools pyth Install --------------- -If not using virtualenv: +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. -Running the App ------------------ +python configure.py +make && make install -You need to set up a provider in your eip.cfg file: +You can: -cd ~/.config/leap -vim eip.cfg +* 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. -[provider] -remote_ip = XXX.XXX.XXX.XXX -and then run: +Running the App +----------------- -leap --debug +leap --debug --logfile /tmp/leap.log (or python app.py --debug if you run it from the src/leap folder). @@ -66,6 +70,11 @@ 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 --------- @@ -78,14 +87,9 @@ Hack (recommended) virtualenv . # ensure your .gitignore knows about it bin/activate - -# you should probably simlink sip.so and PyQt4 to your system-wide -# install, there are some issues with it. - +pkg/postmkvenv.sh python setup.py develop -# ... TBD: finish develop howto. -# ... and explain how is python setup develop useful. Compiling resource/ui files ----------------------------- diff --git a/pkg/install_pyqt.sh b/pkg/install_pyqt.sh new file mode 100755 index 00000000..d6739816 --- /dev/null +++ b/pkg/install_pyqt.sh @@ -0,0 +1,10 @@ +#!/bin/sh +pip install sip # fails +cd build/sip +python configure.py +make && make install +cd ../.. +pip install PyQt # fails +cd build/PyQt +python configure.py +make && make install diff --git a/pkg/postmkvenv.sh b/pkg/postmkvenv.sh new file mode 100755 index 00000000..99e364c0 --- /dev/null +++ b/pkg/postmkvenv.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# This hook is run after a new virtualenv is activated. +# ~/.virtualenvs/postmkvirtualenv + +# Symlinks PyQt4 from global installation into virtualenv site-packages + +LIBS=( PyQt4 sip.so ) + +PYTHON_VERSION=python$(python -c "import sys; print (str(sys.version_info[0])+'.'+str(sys.version_info[1]))") +VAR=( $(which -a $PYTHON_VERSION) ) + +GET_PYTHON_LIB_CMD="from distutils.sysconfig import get_python_lib; print (get_python_lib())" +LIB_VIRTUALENV_PATH=$(python -c "$GET_PYTHON_LIB_CMD") +LIB_SYSTEM_PATH=$(${VAR[-1]} -c "$GET_PYTHON_LIB_CMD") + +for LIB in ${LIBS[@]} +do + ln -s $LIB_SYSTEM_PATH/$LIB $LIB_VIRTUALENV_PATH/$LIB +done diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..bf4d8fb6 --- /dev/null +++ b/tox.ini @@ -0,0 +1,12 @@ +[tox] +envlist = py26,py27,pep8 + +[testenv] +deps = -r{toxinidir}/pkg/requirements.pip + -r{toxinidir}/pkg/test-requirements.pip +sitepackages = True +commands = nosetests + +[testenv:pep8] +deps = pep8==1.1 +commands = pep8 --repeat --show-source src/leap setup.py --ignore=E202,W602 --exclude=*_rc.py --repeat |